Získání klíče rozhraní API služby Mapy Google
Pokud chcete používat funkce Google Mapy v Androidu, musíte si zaregistrovat klíč rozhraní API Mapy u Googlu. Dokud to neuděláte, zobrazí se v aplikacích jenom prázdná mřížka místo mapy. Musíte získat klíč Rozhraní API pro Android v2 google Mapy – klíče ze staršího klíče rozhraní Google Mapy Android API v1 nebudou fungovat.
Získání klíče rozhraní API Mapy v2 zahrnuje následující kroky:
- Načtěte otisk SHA-1 úložiště klíčů, který se používá k podepsání aplikace.
- Vytvořte projekt v konzole Rozhraní API Google.
- Získání klíče rozhraní API
Získání otisku podpisového klíče
Pokud chcete požádat o klíč rozhraní API Mapy od Googlu, musíte znát otisk SHA-1 úložiště klíčů, který se používá k podepsání aplikace. Obvykle to znamená, že budete muset určit otisk SHA-1 pro úložiště klíčů ladění a pak otisk SHA-1 pro úložiště klíčů, který se používá k podepsání vaší aplikace k vydání.
Úložiště klíčů, které se používá k podepisování ladicí verze aplikace Xamarin.Android, najdete v následujícím umístění:
C:\Users\[USERNAME]\AppData\Local\Xamarin\Mono pro Android\debug.keystore
Informace o úložišti klíčů získáte spuštěním keytool
příkazu z sady JDK. Tento nástroj se obvykle nachází v adresáři Bin Jazyka Java:
C:\Program Files\Android\jdk\microsoft_dist_openjdk_[VERSION]\bin\keytool.exe
Spusťte nástroj keytool pomocí následujícího příkazu (pomocí výše uvedených cest k souborům):
keytool -list -v -keystore [STORE FILENAME] -alias [KEY NAME] -storepass [STORE PASSWORD] -keypass [KEY PASSWORD]
Příklad debug.keystore
Pro výchozí ladicí klíč (který se automaticky vytvoří pro ladění) použijte tento příkaz:
keytool.exe -list -v -keystore "C:\Users\[USERNAME]\AppData\Local\Xamarin\Mono for Android\debug.keystore" -alias androiddebugkey -storepass android -keypass android
Produkční klíče
Při nasazování aplikace do Google Play musí být podepsaný privátním klíčem.
Bude keytool
potřeba spustit podrobnosti o privátním klíči a výsledný otisk SHA-1 použitý k vytvoření produkčního klíče rozhraní GOOGLE Mapy API. Nezapomeňte aktualizovat soubor AndroidManifest.xml správným klíčem rozhraní API google Mapy před nasazením.
Výstup nástroje Keytool
V okně konzoly by se mělo zobrazit něco podobného jako v následujícím výstupu:
Alias name: androiddebugkey
Creation date: Jan 01, 2016
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=Android Debug, O=Android, C=US
Issuer: CN=Android Debug, O=Android, C=US
Serial number: 4aa9b300
Valid from: Mon Jan 01 08:04:04 UTC 2013 until: Mon Jan 01 18:04:04 PST 2033
Certificate fingerprints:
MD5: AE:9F:95:D0:A6:86:89:BC:A8:70:BA:34:FF:6A:AC:F9
SHA1: BB:0D:AC:74:D3:21:E1:43:07:71:9B:62:90:AF:A1:66:6E:44:5D:75
Signature algorithm name: SHA1withRSA
Version: 3
Otisk prstu SHA-1 (uvedený po SHA1) použijete později v této příručce.
Vytvoření projektu rozhraní API
Po načtení otisku prstu SHA-1 podpisového úložiště klíčů je nutné vytvořit nový projekt v konzole Rozhraní GOOGLE API (nebo přidat službu Google Mapy Android API v2 do existujícího projektu).
V prohlížeči přejděte na řídicí panel rozhraní API a služby Google Developers Console a klikněte na Vybrat projekt. Klikněte na název projektu nebo vytvořte nový kliknutím na NOVÝ PROJEKT:
Pokud jste vytvořili nový projekt, zadejte název projektu v zobrazeném dialogovém okně Nový projekt . Toto dialogové okno vytvoří jedinečné ID projektu, které je založeno na názvu projektu. Potom klikněte na tlačítko Vytvořit , jak je znázorněno v tomto příkladu:
Po minutě se projekt vytvoří a přejdete na stránku Řídicí panel projektu. Odtud klikněte na POVOLIT APIS A SLUŽBY:
Na stránce Knihovna rozhraní API klikněte na Mapy SDK pro Android. Na další stránce klikněte na POVOLIT a zapněte službu pro tento projekt:
V tuto chvíli byl projekt rozhraní API vytvořen a do něj byl přidán Google Mapy Android API v2. Toto rozhraní API však nemůžete použít ve svém projektu, dokud pro něj nevytvoříte přihlašovací údaje. V další části se dozvíte, jak vytvořit klíč rozhraní API a autorizovat aplikaci Xamarin.Android k použití tohoto klíče.
Získání klíče rozhraní API
Po vytvoření projektu rozhraní API google Developer Console je nutné vytvořit klíč rozhraní ANDROID API. Aplikace Xamarin.Android musí mít před udělením přístupu k rozhraní Android Map API verze 2 klíč rozhraní API.
Na stránce Mapy SDK pro Android, která se zobrazí (po kliknutí na POVOLIT v předchozím kroku), přejděte na kartu Přihlašovací údaje a klikněte na tlačítko Vytvořit přihlašovací údaje:
Klikněte na klíč rozhraní API:
Po kliknutí na toto tlačítko se vygeneruje klíč rozhraní API. Dále je nutné tento klíč omezit, aby rozhraní API s tímto klíčem mohli volat jenom vaše aplikace. Klikněte na TLAČÍTKO OMEZIT KLÍČ:
Změňte pole Název z klíče rozhraní API 1 na název, který vám pomůže zapamatovat, k čemu se klíč používá (V tomto příkladu se používá Xamarin Mapy DemoKey). Potom klikněte na přepínač aplikace pro Android:
Pokud chcete přidat otisk prstu SHA-1, klikněte na + Přidat název balíčku a otisk prstu:
Zadejte název balíčku vaší aplikace a zadejte otisk certifikátu SHA-1 (který jste získali
keytool
výše v této příručce). V následujícím příkladu je zadán názevXamarinMapsDemo
balíčku následovaný otiskem certifikátu SHA-1 získaným z debug.keystore:Mějte na paměti, že aby váš APK měl přístup ke google Mapy, musíte zahrnout otisky prstů SHA-1 a názvy balíčků pro každé úložiště klíčů (ladění a vydání), které používáte k podepsání APK. Pokud například používáte jeden počítač pro ladění a jiný počítač pro generování verze APK, měli byste zahrnout otisk certifikátu SHA-1 z ladicího úložiště klíčů prvního počítače a otisk certifikátu SHA-1 z úložiště klíčů vydané verze druhého počítače. Kliknutím na + Přidat název balíčku a otisk prstu přidejte další otisk prstu a název balíčku, jak je znázorněno v tomto příkladu:
Kliknutím na tlačítko Uložit uložte provedené změny. Pak se vrátíte do seznamu klíčů rozhraní API. Pokud máte další klíče rozhraní API, které jste vytvořili dříve, zobrazí se zde také. V tomto příkladu je uvedený jenom jeden klíč rozhraní API (vytvořený v předchozích krocích):
Připojení projektu k fakturovatelnému účtu
Od 11. června 2018 klíč rozhraní API nebude fungovat, pokud se projekt nepřipojí k fakturovatelnému účtu (i když je služba stále zdarma pro mobilní aplikace).
Klikněte na tlačítko hamburgerové nabídky a vyberte stránku Fakturace :
Propojte projekt s fakturačním účtem kliknutím na Propojit fakturační účet následovaný vytvořením fakturačního účtu v zobrazeném místním okně (pokud účet nemáte, zobrazí se průvodce vytvořením nového účtu):
Přidání klíče do projektu
Nakonec přidejte tento klíč rozhraní API do souboru AndroidManifest.XML vaší aplikace Xamarin.Android. V následujícím příkladu YOUR_API_KEY
se má nahradit klíčem rozhraní API vygenerovaným v předchozích krocích:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
android:versionName="4.10" package="com.xamarin.docs.android.mapsandlocationdemo"
android:versionCode="10">
...
<application android:label="@string/app_name">
<!-- Put your Google Maps V2 API Key here. -->
<meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="YOUR_API_KEY" />
<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
</application>
</manifest>