Abrufen Maps eines Google-API-SchlüsselObtaining a Google Maps API Key

Um die Funktionalität von Google Maps in Android zu verwenden, müssen Sie für einen Karten-API-Schlüssel mit Google registrieren.To use the Google Maps functionality in Android, you need to register for a Maps API key with Google. Bis Sie dies tun, sehen Sie nur ein leeres Raster anstelle einer Karte in Ihren Anwendungen.Until you do this, you will just see a blank grid instead of a map in your applications. Sie benötigen einen Google Maps-Android-API-Schlüssel v2 - Schlüssel aus der älteren Version 1 Google Maps Android-API-Schlüssel funktioniert nicht.You must obtain a Google Maps Android API v2 key - keys from the older Google Maps Android API key v1 will not work.

Einen Maps-API v2-Schlüssel abrufen, umfasst die folgenden Schritte aus:Obtaining a Maps API v2 key involves the following steps:

  1. Rufen Sie den SHA-1-Fingerabdruck des Keystores, die zum Signieren der Anwendung verwendet wird.Retrieve the SHA-1 fingerprint of the keystore that is used to sign the application.
  2. Erstellen Sie ein Projekt, in der Google APIs Console.Create a project in the Google APIs console.
  3. Abrufen des API-Schlüssels.Obtaining the API key.

Abrufen von Ihr Signaturzertifikat-FingerabdruckObtaining your Signing Key Fingerprint

Um einen Schlüssel für die Maps-API von Google anzufordern, müssen Sie den SHA-1-Fingerabdruck des Keystores kennen, die zum Signieren der Anwendung verwendet wird.To request a Maps API key from Google, you need to know the SHA-1 fingerprint of the keystore that is used to sign the application. In der Regel bedeutet dies müssen Sie den SHA-1-Fingerabdruck für das Debug-Keystores zu bestimmen, und klicken Sie dann den SHA-1-Fingerabdruck für den Keystore aus, der zum Signieren der Anwendung für die Veröffentlichung verwendet wird.Typically, this means you will have to determine the SHA-1 fingerprint for the debug keystore, and then the SHA-1 fingerprint for the keystore that is used to sign your application for release.

Finden in der Standardeinstellung des Keystores, der zum Signieren von Debugversionen eine xamarin.Android-Anwendung, die Anwendung verwendet wird am folgenden Speicherort:By default the keystore that is used to sign debug versions of a Xamarin.Android application can be found at the following location:

"C:"\Benutzer\[USERNAME]\AppData\lokalen\Xamarin\Mono für Android\debug.keystoreC:\Users\[USERNAME]\AppData\Local\Xamarin\Mono for Android\debug.keystore

Durch das Ausführen des Befehls keytool über das JDK erhalten Sie Informationen zu einem Keystore.Information about a keystore is obtained by running the keytool command from the JDK. Dieses Tool befindet sich in der Regel im Verzeichnis "bin" Java:This tool is typically found in the Java bin directory:

"C:"\Programmdateien (x86)\Java\Jdk [VERSION]\Bin\keytool.exeC:\Program Files (x86)\Java\jdk[VERSION]\bin\keytool.exe

Führen Sie mithilfe des folgenden Befehls (unter Verwendung der oben gezeigten Dateipfade) Keytool:Run keytool using the following command (using the file paths shown above):

keytool -list -v -keystore [STORE FILENAME] -alias [KEY NAME] -storepass [STORE PASSWORD] -keypass [KEY PASSWORD]

Debug.keystore-BeispielDebug.keystore Example

Für den Standard-Debug-Schlüssel (die Sie für das Debuggen wird automatisch erstellt), verwenden Sie diesen Befehl:For the default debug key (which is automatically created for you for debugging), use this command:

keytool.exe -list -v -keystore "C:\Users\[USERNAME]\AppData\Local\Xamarin\Mono for Android\debug.keystore" -alias androiddebugkey -storepass android -keypass android

ProduktionsschlüsselnProduction Keys

Wenn Sie eine app in Google Play bereitstellen zu können, muss es mit einem privaten Schlüssel signiert.When deploying an app to Google Play, it must be signed with a private key. Die keytool müssen für die Ausführung mit der Details zum privaten Schlüssel und den resultierenden SHA-1-Fingerabdruck verwendet, um einem produktionsschlüssel von Google Maps-API zu erstellen.The keytool will need to be run with the private key details, and the resulting SHA-1 fingerprint used to create a production Google Maps API key. Denken Sie daran, aktualisieren Sie die "androidmanifest.xml" Datei mit dem richtigen Google Maps-API-Schlüssel vor der Bereitstellung.Remember to update the AndroidManifest.xml file with the correct Google Maps API key before deployment.

Keytool-AusgabeKeytool Output

Sie sollte etwa wie die folgende Ausgabe im Konsolenfenster angezeigt:You should see something like the following output in your console window:

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

Verwenden Sie den SHA-1-Fingerabdruck (nach der aufgelisteten SHA1) weiter unten in diesem Handbuch.You will use the SHA-1 fingerprint (listed after SHA1) later in this guide.

Erstellen eines API-ProjektsCreating an API project

Nachdem Sie den SHA-1-Fingerabdruck des Keystores Signieren abgerufen haben, ist es erforderlich, erstellen ein neues Projekt in der Google APIs Console (oder den v2-Dienst von Google Maps-Android-API zu einem vorhandenen Projekt hinzufügen).After you have retrieved the SHA-1 fingerprint of the signing keystore, it is necessary to create a new project in the Google APIs console (or add the Google Maps Android API v2 service to an existing project).

  1. In einem Browser, navigieren Sie zu der -API von Google Entwickler-Konsole & Services-Dashboard , und klicken Sie auf wählen Sie ein Projekt.In a browser, navigate to the Google Developers Console API & Services Dashboard and click Select a project. Klicken Sie auf einen Projektnamen ein, oder erstellen Sie eine neue, indem Sie auf neues Projekt:Click on a project name or create a new one by clicking NEW PROJECT:

    Google Developer Console-Projekt zum Erstellen-SchaltflächeGoogle Developer Console CREATE PROJECT button

  2. Wenn Sie ein neues Projekt erstellt haben, geben Sie den Namen des Projekts in der neues Projekt Dialogfeld, das angezeigt wird.If you created a new project, enter the project name in the New Project dialog that is displayed. Dieses Dialogfeld wird eine eindeutige Projekt-ID produzieren, die auf den Projektnamen Ihres basiert.This dialog will manufacture a unique project ID that is based on your project name. Klicken Sie anschließend die erstellen Schaltfläche wie im folgenden Beispiel gezeigt:Next, click the Create button as shown in this example:

    Neues Projekt heißt XamarinMapsDemoNew project is named XamarinMapsDemo

  3. Das Projekt wird nach einer Minute erstellt, und Sie gelangen auf die Dashboard Seite des Projekts.After a minute or so, the project is created and you are taken to the Dashboard page of the project. Klicken Sie dort auf -APIS und Dienste aktivieren:From there, click ENABLE APIS AND SERVICES:

    Klicken Sie auf Google Maps Android-API in der Bibliothek-AbschnittClicking Google Maps Android API in the Library section

  4. Von der -API-Bibliothek auf Maps-SDK für Android.From the API Library page, click Maps SDK for Android. Klicken Sie auf der nächsten Seite auf aktivieren um den Dienst für dieses Projekt zu aktivieren:On the next page, click ENABLE to turn on the service for this project:

    Klicken Sie auf die Schaltfläche "aktivieren", in dem Abschnitt "Dashboard"Clicking the ENABLE button in the Dashboard section

An diesem Punkt das API-Projekt erstellt wurde, und Google Maps-Android-API v2 hinzugefügt wurde.At this point the API project has been created and Google Maps Android API v2 has been added to it. Allerdings können nicht Sie diese API in Ihrem Projekt verwenden, bis Sie die Anmeldeinformationen zu erstellen.However, you cannot use this API in your project until you create credentials for it. Im nächste Abschnitt wird erläutert, wie Sie eine API-Schlüssel und -Liste einer Xamarin.Android-Anwendung erstellen, damit er autorisiert ist, um diesen Schlüssel.The next section explains how to create an API key and white-list a Xamarin.Android application so that it is authorized to use this key.

Abrufen der API-SchlüsselObtaining the API Key

Nach der Google Developer Console -API-Projekt wurde erstellt, es ist notwendig, einen Android-API-Schlüssel zu erstellen.After the Google Developer Console API project has been created, it is necessary to create an Android API key. Xamarin.Android-Anwendungen benötigen einen API-Schlüssel sie Zugriff auf Android-Map-API v2 gewährt werden.Xamarin.Android applications must have an API key before they are granted access to Android Map API v2.

  1. In der Maps-SDK für Android Seite, die angezeigt wird (nach dem Klicken auf aktivieren im vorherigen Schritt), wechseln Sie zu der Anmeldeinformationen Registerkarte, und klicken Sie auf die erstellen Anmeldeinformationen Schaltfläche:In the Maps SDK for Android page that is displayed (after clicking ENABLE in the previous step), go to the Credentials tab and click the Create credentials button:

    Maps SDK für Android-Anmeldeinformationen-NachrichtMaps SDK for Android Credentials message

  2. Klicken Sie auf API-Schlüssel:Click API key:

    Hinzufügen von Anmeldeinformationen auf Ihrem Dialogfeld "Projekt"Add credentials to your project dialog

  3. Nachdem Sie diese Schaltfläche geklickt wird, wird der API-Schlüssel generiert.After this button is clicked, the API key is generated. Als Nächstes ist es notwendig, diesen Schlüssel so einzuschränken, dass nur Ihre app APIs mit diesem Schlüssel aufrufen kann.Next it is necessary to restrict this key so that only your app can call APIs with this key. Klicken Sie auf RESTRICT Schlüssel:Click RESTRICT KEY:

    Klicken Sie auf der Seite Anmeldeinformationen Schlüssel einschränken aufClicking Restrict Key on the Credentials page

  4. Ändern der Namen Feld -API-Schlüssel 1 in einen Namen, mit denen Sie denken Sie daran, wofür der Schlüssel verwendet wird (XamarinMapsDemoKey wird in diesem Beispiel verwendet).Change the Name field from API Key 1 to a name that will help you remember what the key is used for (XamarinMapsDemoKey is used in this example). Klicken Sie anschließend die Android-apps Optionsfeld:Next, click the Android apps radio button:

    Android-apps auf der Seite Anmeldeinformationen auswählenSelecting Android apps on the Credentials page

  5. Klicken Sie zum Hinzufügen des SHA-1-Fingerabdrucks + hinzufügen Paketnamen und Fingerabdruck:To add the SHA-1 fingerprint, click + Add package name and fingerprint:

    Klicken Sie auf Add Package Name und FingerabdruckClicking Add package name and fingerprint

  6. Geben Sie den Namen Ihrer app-Paket, und geben Sie den SHA1-Fingerabdruck des Zertifikats (über abgerufen keytool wie weiter oben in diesem Handbuch beschrieben).Enter your app's package name and enter the SHA-1 certificate fingerprint (obtained via keytool as explained earlier in this guide). Im folgenden Beispiel ist der name des Pakets für XamarinMapsDemo eingegeben ist, gefolgt von der SHA-1-Zertifikatfingerabdruck abgerufenes debug.keystore:In the following example, the package name for XamarinMapsDemo is entered, followed by the SHA-1 certificate fingerprint obtained from debug.keystore:

    Name des eingegebenen lautet com.xamarin.docs.android.mapPackage name entered is com.xamarin.docs.android.map

  7. Beachten Sie, dass in der Reihenfolge für das APK Zugriff auf Google Maps, müssen Sie SHA1-Fingerabdrücke gehören und Packen Namen für jede Keystore (Debug und Release), die Sie verwenden, um das APK zu signieren.Note that, in order for your APK to access Google Maps, you must include SHA-1 fingerprints and package names for every keystore (debug and release) that you use to sign your APK. Z. B. Wenn Sie einen Computer für Debug- und einem anderen Computer zum Generieren des Release-APK verwenden, sollten Sie den SHA-1-Fingerabdruck des Zertifikats aus dem debugkeystore des ersten Computers und der SHA-1-Fingerabdruck des Zertifikats aus dem Keystore Version der einschließen der zweite Computer.For example, if you use one computer for debug and another computer for generating the release APK, you should include the SHA-1 certificate fingerprint from the debug keystore of the first computer and the SHA-1 certificate fingerprint from the release keystore of the second computer. Klicken Sie auf + hinzufügen Paketnamen und Fingerabdruck einen anderen Fingerabdruck und die Paket-Namen hinzufügen, wie im folgenden Beispiel gezeigt:Click + Add package name and fingerprint to add another fingerprint and package name as shown in this example:

    Hinzufügen von einem anderen Fingerabdruck erstellt ein weiteres SHA-1-ZertifikatAdding another fingerprint creates another SHA-1 certificate

  8. Klicken Sie auf Save (Speichern), um die Änderungen zu speichern.Click the Save button to save your changes. Als Nächstes werden Sie zur Liste der Ihre API-Schlüssel zurückgegeben.Next, you are returned to the list of your API keys. Wenn Sie eine andere API-Schlüssel, die Sie zuvor erstellt haben verfügen, werden diese auch hier aufgeführt werden.If you have other API keys that you have created earlier, they will also be listed here. In diesem Beispiel wird nur ein API-Schlüssel (in den vorherigen Schritten erstellt) aufgeführt:In this example, only one API key (created in the previous steps) is listed:

    XamarinMapsDemoKey wird in der Liste der API-Schlüssel angezeigt.XamarinMapsDemoKey is shown in the API keys list

Verbinden Sie das Projekt zu einem gebührenpflichtigen KontoConnect the project to a billable account

Seit Juni 11 2018 funktioniert der API-Schlüssel nicht, wenn das Projekt nicht zu einem gebührenpflichtigen Konto verbunden ist (selbst wenn der Dienst weiterhin kostenlos für mobile apps ist).Beginning June,11 2018, the API key will not work if the project is not connected to a billable account (even if the service is still free for mobile apps).

  1. Klicken Sie auf die Hamburger-Menü-Schaltfläche, und wählen Sie die Abrechnung Seite:Click the hamburger menu button and select the Billing page:

    Die Abrechnung Hamburger-Menü-Abschnitt auswählenSelecting the hamburger menu billing section

  2. Verknüpfen Sie das Projekt durch Klicken auf ein Rechnungskonto verknüpfen Sie ein Rechnungskonto gefolgt von RECHNUNGSKONTO erstellen angezeigten Popupfenster (Wenn Sie kein Konto haben, Sie gelangen um eine neue erstellen):Link the project to a billing account by clicking Link a billing account followed by CREATE BILLING ACCOUNT on the displayed popup (if you don't have an account, you will be guided to create a new one):

    Link-Projekt RechnungskontoLink project to billing account

Den Schlüssel hinzufügen zu Ihrem ProjektAdding the Key to Your Project

Fügen Sie abschließend diesen API-Schlüssel, um die "androidmanifest.xml" Datei Ihrer Xamarin.Android-App.Finally, add this API key to the AndroidManifest.XML file of your Xamarin.Android app. Im folgenden Beispiel YOUR_API_KEY mit den API-Schlüssel in den vorherigen Schritten generiert ersetzt werden soll:In the following example, YOUR_API_KEY is to be replaced with the API key generated in the previous steps:

<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>