Регистрация и ключи API

Чтобы использовать API Google Awareness, необходимо добавить в приложение ключ API Google. Необходим ключ API Android.

Все приложения Android подписаны цифровым сертификатом, закрытый ключ которого находится у вас. Подробнее о цифровых сертификатах см. в руководстве Android по подписи приложений .

Ключи API Android привязаны к определённым парам сертификатов и пакетов. Вам нужен только один ключ для каждого сертификата, независимо от количества пользователей приложения.

Чтобы получить ключ для вашего приложения, вам необходимо выполнить несколько шагов. Они подробно описаны в этом руководстве и сводятся к следующему:

  1. Получите информацию о сертификате вашего приложения.
  2. Зарегистрируйте проект в консоли разработчиков Google и добавьте API пользовательского контекста в качестве службы для проекта.
  3. Запросить ключ.
  4. Добавьте ключ в своё приложение. Для этого добавьте элемент в манифест приложения.

Найдите информацию о сертификате вашего приложения

Ключ API основан на краткой форме цифрового сертификата вашего приложения, известной как его отпечаток SHA-1 . Чтобы отобразить отпечаток SHA-1 для вашего сертификата, сначала убедитесь, что вы используете правильный сертификат. Вам могут быть доступны следующие два сертификата на выбор:

  • Отладочный сертификат : инструменты Android SDK автоматически генерируют этот сертификат при отладочной сборке. Используйте этот сертификат только с приложениями, которые вы тестируете. Не пытайтесь опубликовать приложение, подписанное отладочным сертификатом. Отладочный сертификат подробно описан в разделе «Подписание отладочной сборки» в документации для разработчиков Android.
  • Сертификат выпуска : инструменты Android SDK генерируют этот сертификат при сборке выпуска. Вы также можете сгенерировать этот сертификат с помощью программы keytool . Используйте этот сертификат, когда будете готовы выпустить приложение.

Более подробную информацию о keytool можно найти в документации Oracle .

Отладочный сертификат

Отобразить отпечаток отладочного сертификата

Используйте программу keytool с параметром -v для отображения отпечатка SHA-1 сертификата. Для этого выполните следующие действия:

  1. Найдите файл хранилища ключей отладки. Имя файла — debug.keystore , он создаётся при первой сборке проекта. По умолчанию он хранится в том же каталоге, что и файлы виртуального устройства Android (AVD):

    • OS X и Linux : ~/.android/
    • Windows Vista и Windows 7 : C:\Users\your_user_name\.android\
  2. Перечислите отпечаток SHA-1:

    • Для Linux или OS X откройте окно терминала и введите следующее:

      keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
    • Для Windows Vista и Windows 7 выполните следующее:

      keytool -list -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android

Вы должны увидеть вывод, подобный следующему:

Alias name: androiddebugkey
Creation date: Jan 01, 2013
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
Сертификат выпуска

Отобразить отпечаток сертификата выпуска

Используйте программу keytool с параметром -v для отображения отпечатка SHA-1 сертификата. Для этого выполните следующие действия:

  1. Найдите файл хранилища ключей сертификата выпуска. Расположение и имя хранилища ключей выпуска не определены по умолчанию. Если вы не укажете их при сборке приложения для выпуска, ваш .apk файл останется неподписанным, и вам придётся подписать его перед публикацией. Для сертификата выпуска вам также понадобятся псевдоним сертификата, пароли для хранилища ключей и сам сертификат.
  2. Введите следующее, чтобы вывести список псевдонимов всех ключей в хранилище ключей:

    keytool -list -keystore your_keystore_name
          
  3. Замените your_keystore_name на полный путь и имя хранилища ключей. Добавьте расширение .keystore . При появлении запроса введите пароль хранилища ключей. После этого keytool отобразит все псевдонимы в хранилище ключей.
  4. Введите в терминале или командной строке следующее:

          keytool -list -v -keystore your_keystore_name -alias your_alias_name
          
  5. Замените your_keystore_name на полный путь и имя хранилища ключей. Добавьте расширение .keystore .
  6. Замените your_alias_name на псевдоним, который вы назначили сертификату при его создании.

Вы должны увидеть вывод, подобный следующему:

Alias name: <alias_name>
Creation date: Feb 02, 2013
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: 4cc9b300
Valid from: Mon Feb 02 08:01:04 UTC 2013 until: Mon Feb 02 18:05:04 PST 2033
Certificate fingerprints:
    MD5:  AE:9F:95:D0:A6:86:89:BC:A8:70:BA:34:FF:6B:AC:F9
    SHA1: BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:90:AF:A1:66:6E:44:5D:75
    Signature algorithm name: SHA1withRSA
    Version: 3

Строка, начинающаяся с SHA1 , содержит отпечаток сертификата SHA-1. Отпечаток представляет собой последовательность из 20 двузначных шестнадцатеричных чисел, разделённых двоеточиями.

Получите ключ API из консоли разработчиков Google

Чтобы начать работу с API Google Awareness, нажмите кнопку «Получить ключ» . Она перенаправит вас в консоль разработчика Google, которая поможет вам в процессе и автоматически активирует API Awareness.

Получить ключ

В качестве альтернативы, выполните следующие действия, чтобы получить ключ API:

  1. Перейдите в консоль разработчика Google .
  2. Выберите проект или создайте новый.
  3. Нажмите «Продолжить» , чтобы включить API осведомленности.
  4. На странице «Учетные данные» создайте ключ Android и задайте учетные данные API.

  5. В диалоговом окне «Создать ключ» необходимо ограничить использование приложениями Android. Для этого введите отпечаток SHA-1 и имя пакета вашего приложения, как в следующем примере:

    BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:91:AF:A1:66:6E:44:5D:75
    
    com.example.android.awareness-example
    
  6. Нажмите «Создать» . Ваш новый ключ API Android появится в списке ключей API вашего проекта. Ключ API — это строка символов, например:

    AIzaSyBdVl-cTICSwYKrZ95LoVuw7dbMuDt1KG0
    

Теперь, когда у вас есть ключ API, вы можете добавить его в манифест своего приложения, как описано в руководстве по началу работы .

Активировать дополнительные API

API Awareness позволяет получить доступ к различным типам контекстных данных, например, к маякам . Для использования этих типов необходимо включить соответствующие API в консоли разработчиков Google.

Услуга Методы API осведомленности API для включения
Маяки SnapshotApi.getBeaconState() , FenceApi.BeaconFence API сообщений поблизости