Получение ключа API Google MapsObtaining a Google Maps API Key

Чтобы использовать функцию Google карты в Android, необходимо зарегистрироваться для получения ключа API для карт с помощью Google.To use the Google Maps functionality in Android, you need to register for a Maps API key with Google. До этого вы увидите только пустую сетку вместо карту в ваших приложениях.Until you do this, you will just see a blank grid instead of a map in your applications. Необходимо получить ключ v2 Google Maps Android API - ключи из более старых Google Maps Android API ключа версии 1 не будет работать.You must obtain a Google Maps Android API v2 key - keys from the older Google Maps Android API key v1 will not work.

Получение ключа API для карт v2 состоит из следующих шагов:Obtaining a Maps API v2 key involves the following steps:

  1. Получите отпечаток SHA-1 из хранилища ключей, который используется для подписи приложения.Retrieve the SHA-1 fingerprint of the keystore that is used to sign the application.
  2. Создайте проект в консоли Google API.Create a project in the Google APIs console.
  3. Получение ключа API.Obtaining the API key.

Получение ключей подписи отпечаток пальцаObtaining your Signing Key Fingerprint

Чтобы запросить ключ API для карт от Google, вы должны знать отпечаток SHA-1 из хранилища ключей, который используется для подписи приложения.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. Как правило это означает, что необходимо будет определить отпечаток SHA-1 для хранилища ключей отладки, а затем отпечатков SHA-1 для хранилища ключей, который используется для подписи приложения для выпуска.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.

По умолчанию хранилище ключей, которое используется для подписывания отладочных версий Xamarin.Android, можно найти по следующему адресу:By default the keystore that is used to sign debug versions of a Xamarin.Android application can be found at the following location:

C:\пользователей\[USERNAME]\AppData\локального\Xamarin\Mono для Android\debug.keystoreC:\Users\[USERNAME]\AppData\Local\Xamarin\Mono for Android\debug.keystore

Информация о хранилище ключей отображается при вызове команды keytool из JDK.Information about a keystore is obtained by running the keytool command from the JDK. Это средство обычно находится в каталоге bin Java:This tool is typically found in the Java bin directory:

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

Выполните 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.KeyStoreDebug.keystore Example

Для ключа отладки по умолчанию (который будет автоматически создана для отладки) используйте следующую команду: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

Рабочие ключиProduction Keys

При развертывании приложения в Google Play, он должен быть подписан закрытым ключом.When deploying an app to Google Play, it must be signed with a private key. keytool Нужно будет выполняться с закрытого ключа сведения и итоговый отпечаток SHA-1 используется для создания ключа Google Maps API рабочей среде.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. Не забудьте обновить AndroidManifest.xml файла с правильным ключом Google Maps API перед развертыванием.Remember to update the AndroidManifest.xml file with the correct Google Maps API key before deployment.

Выходные данные KeytoolKeytool Output

Вы должны увидеть примерно следующие выходные данные в окне консоли: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

Будет использоваться отпечаток SHA-1 (перечисленных после SHA1) Далее в этом руководстве.You will use the SHA-1 fingerprint (listed after SHA1) later in this guide.

Создание проекта APICreating an API project

После получения отпечатка SHA-1 подписи хранилища ключей, бывает необходимо создать новый проект в консоли Google API (или добавить службу Google Maps Android API версии 2 в существующий проект).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. В браузере перейдите к API консоли разработчиков Google и панель мониторинга служб и нажмите кнопку выберите проект.In a browser, navigate to the Google Developers Console API & Services Dashboard and click Select a project. Щелкните имя проекта или создайте новую, нажав кнопку новый ПРОЕКТ:Click on a project name or create a new one by clicking NEW PROJECT:

    Создание проекта Google Developer консоли кнопкиGoogle Developer Console CREATE PROJECT button

  2. Если вы создали новый проект, введите имя проекта в новый проект отображаемом диалоговом окне.If you created a new project, enter the project name in the New Project dialog that is displayed. Это диалоговое окно будет производить код уникальный проекта, основанный на имя проекта.This dialog will manufacture a unique project ID that is based on your project name. Затем щелкните создать кнопку, как показано в следующем примере:Next, click the Create button as shown in this example:

    Новый проект называется XamarinMapsDemoNew project is named XamarinMapsDemo

  3. Через минуту создается проект и вы перейдете к панели мониторинга страницы проекта.After a minute or so, the project is created and you are taken to the Dashboard page of the project. После этого нажмите кнопку ВКЛЮЧИТЬ API-Интерфейсы и службы:From there, click ENABLE APIS AND SERVICES:

    Щелкнув Google Maps Android API в разделе библиотекиClicking Google Maps Android API in the Library section

  4. Из библиотеки API щелкните Maps SDK для Android.From the API Library page, click Maps SDK for Android. На следующей странице щелкните ВКЛЮЧИТЬ для включения службы для этого проекта:On the next page, click ENABLE to turn on the service for this project:

    Нажав кнопку "Разрешить" в разделе панели мониторингаClicking the ENABLE button in the Dashboard section

На этом этапе создания проекта API и Google Maps Android API версии 2 была добавлена к нему.At this point the API project has been created and Google Maps Android API v2 has been added to it. Тем не менее нельзя использовать этот API в вашем проекте, пока вы не создадите учетные данные для него.However, you cannot use this API in your project until you create credentials for it. В следующем разделе показано, как создать ключ API и приложения Xamarin.Android утвержденный список, чтобы она авторизована для использования этого ключа.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.

Получение ключа APIObtaining the API Key

После Google Developer Console API проект был создан, бывает необходимо создать ключ Android API.After the Google Developer Console API project has been created, it is necessary to create an Android API key. Приложения Xamarin.Android должны иметь ключ API, перед предоставлением им доступа к API Android карты v2.Xamarin.Android applications must have an API key before they are granted access to Android Map API v2.

  1. В Maps SDK для Android страницы, отображаемой (после нажатия кнопки ВКЛЮЧИТЬ на предыдущем шаге), перейдите в меню учетные данные вкладку и нажмите кнопку создать учетные данные кнопки: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:

    Пакет SDK карт для Android учетные данные сообщенияMaps SDK for Android Credentials message

  2. Нажмите кнопку ключ API:Click API key:

    Добавление учетных данных в диалоговое окно проектаAdd credentials to your project dialog

  3. После нажатия этой кнопки создается ключ API.After this button is clicked, the API key is generated. Далее необходимо ограничить этот ключ, таким образом, чтобы только ваше приложение может вызвать API-интерфейсов с помощью этого ключа.Next it is necessary to restrict this key so that only your app can call APIs with this key. Нажмите кнопку ключ RESTRICT:Click RESTRICT KEY:

    Щелкнув ограничения ключа на странице учетных данныхClicking Restrict Key on the Credentials page

  4. Изменение имя из API клавиша 1 имени, которое поможет вспомнить, для чего используется ключ (XamarinMapsDemoKey используется в этом примере).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). Затем щелкните приложений Android "переключатель":Next, click the Android apps radio button:

    Выбор приложений Android на странице учетных данныхSelecting Android apps on the Credentials page

  5. Чтобы добавить отпечаток SHA-1, щелкните + добавить имя пакета и отпечатков пальцев:To add the SHA-1 fingerprint, click + Add package name and fingerprint:

    Добавить имя пакета и отпечатков пальцевClicking Add package name and fingerprint

  6. Введите имя пакета приложения и введите отпечаток сертификата SHA-1 (полученных с помощью keytool как описано ранее в этом руководстве).Enter your app's package name and enter the SHA-1 certificate fingerprint (obtained via keytool as explained earlier in this guide). В следующем примере имя пакета для XamarinMapsDemo является ввода, а затем отпечаток SHA-1 сертификата, полученный из debug.keystore:In the following example, the package name for XamarinMapsDemo is entered, followed by the SHA-1 certificate fingerprint obtained from debug.keystore:

    Введенное имя пакета является com.xamarin.docs.android.mapPackage name entered is com.xamarin.docs.android.map

  7. Обратите внимание, что, чтобы пакет APK для доступа к Google карты, необходимо включить отпечатки пальцев SHA-1 и упаковать имена для каждого хранилища ключей (отладочную и окончательную), которые используются для входа пакет APK.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. Например если вы используете один компьютер для отладки и другой компьютер для создания выпуска APK, должно содержать отпечаток SHA-1 сертификата из хранилища ключей отладки первого компьютера и отпечаток SHA-1 сертификата из хранилища ключей выпуска из второй компьютер.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. Нажмите кнопку + добавить имя пакета и отпечатков пальцев добавить другое имя отпечатков пальцев и пакета, как показано в следующем примере:Click + Add package name and fingerprint to add another fingerprint and package name as shown in this example:

    Добавление другой отпечаток пальца создает еще один сертификат SHA-1Adding another fingerprint creates another SHA-1 certificate

  8. Чтобы сохранить внесенные изменения, нажмите кнопку Save (Сохранить).Click the Save button to save your changes. После этого вы вернетесь к списку ключей API.Next, you are returned to the list of your API keys. Если у вас есть другие ключи API, которые вы создали ранее, они также отображаются здесь.If you have other API keys that you have created earlier, they will also be listed here. В этом примере отображается только один ключ API (созданный на предыдущих шагах):In this example, only one API key (created in the previous steps) is listed:

    XamarinMapsDemoKey отображается в списке ключей APIXamarinMapsDemoKey is shown in the API keys list

Подключение проекта к учетной записи оплатыConnect the project to a billable account

Начиная с июня, 11 2018, ключ API не будет работать, если проект не подключен к учетной записи оплачиваемых (даже если она все еще доступно бесплатно для мобильных приложений).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. Нажмите кнопку меню "гамбургер" и выберите выставления счетов страницы:Click the hamburger menu button and select the Billing page:

    Выбрав в разделе выставления счетов меню "гамбургер"Selecting the hamburger menu billing section

  2. Связать проект с создания платежного счета, щелкнув связать учетную запись выставления счетов следуют создать учетную запись выставления СЧЕТОВ отображаемого контекстного меню (если у вас нет учетной записи, вам будет рекомендовано создайте новую):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 project to billing account

Добавление ключа в проектеAdding the Key to Your Project

Наконец, добавьте этот ключ API для AndroidManifest.XML файл приложения Xamarin.Android.Finally, add this API key to the AndroidManifest.XML file of your Xamarin.Android app. В следующем примере YOUR_API_KEY нужно заменить с помощью ключа API, созданные на предыдущих шагах: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>