Чтобы использовать API Google Awareness, необходимо добавить в приложение ключ API Google. Необходим ключ API Android.
Все приложения Android подписаны цифровым сертификатом, закрытый ключ которого находится у вас. Подробнее о цифровых сертификатах см. в руководстве Android по подписи приложений .
Ключи API Android привязаны к определённым парам сертификатов и пакетов. Вам нужен только один ключ для каждого сертификата, независимо от количества пользователей приложения.
Чтобы получить ключ для вашего приложения, вам необходимо выполнить несколько шагов. Они подробно описаны в этом руководстве и сводятся к следующему:
- Получите информацию о сертификате вашего приложения.
- Зарегистрируйте проект в консоли разработчиков Google и добавьте API пользовательского контекста в качестве службы для проекта.
- Запросить ключ.
- Добавьте ключ в своё приложение. Для этого добавьте элемент в манифест приложения.
Найдите информацию о сертификате вашего приложения
Ключ API основан на краткой форме цифрового сертификата вашего приложения, известной как его отпечаток SHA-1 . Чтобы отобразить отпечаток SHA-1 для вашего сертификата, сначала убедитесь, что вы используете правильный сертификат. Вам могут быть доступны следующие два сертификата на выбор:
- Отладочный сертификат : инструменты Android SDK автоматически генерируют этот сертификат при отладочной сборке. Используйте этот сертификат только с приложениями, которые вы тестируете. Не пытайтесь опубликовать приложение, подписанное отладочным сертификатом. Отладочный сертификат подробно описан в разделе «Подписание отладочной сборки» в документации для разработчиков Android.
- Сертификат выпуска : инструменты Android SDK генерируют этот сертификат при сборке выпуска. Вы также можете сгенерировать этот сертификат с помощью программы
keytool
. Используйте этот сертификат, когда будете готовы выпустить приложение.
Более подробную информацию о keytool
можно найти в документации Oracle .
Отобразить отпечаток отладочного сертификата
Используйте программу keytool
с параметром -v
для отображения отпечатка SHA-1 сертификата. Для этого выполните следующие действия:
Найдите файл хранилища ключей отладки. Имя файла —
debug.keystore
, он создаётся при первой сборке проекта. По умолчанию он хранится в том же каталоге, что и файлы виртуального устройства Android (AVD):- OS X и Linux :
~/.android/
- Windows Vista и Windows 7 :
C:\Users\your_user_name\.android\
- OS X и Linux :
Перечислите отпечаток 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 сертификата. Для этого выполните следующие действия:
- Найдите файл хранилища ключей сертификата выпуска. Расположение и имя хранилища ключей выпуска не определены по умолчанию. Если вы не укажете их при сборке приложения для выпуска, ваш
.apk
файл останется неподписанным, и вам придётся подписать его перед публикацией. Для сертификата выпуска вам также понадобятся псевдоним сертификата, пароли для хранилища ключей и сам сертификат. Введите следующее, чтобы вывести список псевдонимов всех ключей в хранилище ключей:
keytool -list -keystore your_keystore_name
- Замените
your_keystore_name
на полный путь и имя хранилища ключей. Добавьте расширение.keystore
. При появлении запроса введите пароль хранилища ключей. После этогоkeytool
отобразит все псевдонимы в хранилище ключей. Введите в терминале или командной строке следующее:
keytool -list -v -keystore your_keystore_name -alias your_alias_name
- Замените
your_keystore_name
на полный путь и имя хранилища ключей. Добавьте расширение.keystore
. - Замените
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:
- Перейдите в консоль разработчика Google .
- Выберите проект или создайте новый.
- Нажмите «Продолжить» , чтобы включить API осведомленности.
На странице «Учетные данные» создайте ключ Android и задайте учетные данные API.
В диалоговом окне «Создать ключ» необходимо ограничить использование приложениями 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
Нажмите «Создать» . Ваш новый ключ API Android появится в списке ключей API вашего проекта. Ключ API — это строка символов, например:
AIzaSyBdVl-cTICSwYKrZ95LoVuw7dbMuDt1KG0
Теперь, когда у вас есть ключ API, вы можете добавить его в манифест своего приложения, как описано в руководстве по началу работы .
Активировать дополнительные API
API Awareness позволяет получить доступ к различным типам контекстных данных, например, к маякам . Для использования этих типов необходимо включить соответствующие API в консоли разработчиков Google.
Услуга | Методы API осведомленности | API для включения |
---|---|---|
Маяки | SnapshotApi.getBeaconState() , FenceApi.BeaconFence | API сообщений поблизости |