Начало работы

В этом документе объясняется, как начать разработку с помощью API близлежащих сообщений на Android. API близлежащих сообщений является частью сервисов Google Play .

Шаг 1. Получите сервисы Google Play

API сообщений поблизости доступен на устройствах Android со службами Google Play 7.8.0 или более поздней версии. Устройства под управлением Android 2.3 или более поздней версии, на которых установлено приложение Google Play Store, автоматически получают обновления сервисов Google Play. Чтобы проверить, какая версия сервисов Google Play установлена ​​на вашем устройстве, перейдите в «Настройки» > «Приложения» > «Сервисы Google Play» .

Убедитесь, что на вашем хосте разработки установлена ​​последняя версия клиентской библиотеки для сервисов Google Play:

  1. Откройте Android SDK Manager .
  2. В разделе «Внешний вид и поведение» > «Настройки системы» > Android SDK > «Инструменты SDK» убедитесь, что установлены следующие пакеты:

    • Сервисы Google Play
    • Репозиторий Google

Шаг 2. Получите учетную запись Google

Чтобы использовать API сообщений поблизости, вам потребуется учетная запись Google . Это сделано для того, чтобы вы, разработчик, могли включить Nearby API на следующем этапе (вашим пользователям не потребуется иметь учетную запись Google). Если у вас уже есть учетная запись, то все готово. Вам также может потребоваться отдельная учетная запись Google для целей тестирования.

Шаг 3. Получите ключ API

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

  1. Перейдите в консоль разработчиков Google .
  2. Создайте или выберите проект для регистрации вашего приложения.
  3. Нажмите «Продолжить» , чтобы включить API.
  4. На странице «Учетные данные» создайте новый ключ Android (и установите учетные данные API).
    Примечание. Если у вас есть ключ Android , вы можете использовать его.
  5. В появившемся диалоговом окне введите отпечаток 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.nearbyexample
  6. Ваш новый ключ API Android появится в списке ключей API вашего проекта. Ключ API — это строка символов, примерно такая:
    AIzaSyBdVl-cTICSwYKrZ95SuvNw7dbMuDt1KG0

Получите отпечаток SHA1 вашего сертификата.

Чтобы создать новый ключ API для вашего приложения Android, вам понадобится отпечаток SHA1 сертификата, который вы используете для подписи APK. Обмен сообщениями возможен только между приложениями, подписанными ключами API из одного проекта.

Чтобы получить этот отпечаток пальца:

  1. Найдите местоположение вашего хранилища ключей.
  2. В терминале запустите утилиту keytool из JDK. Например, если вы используете хранилище ключей `debug` :
  3. $ keytool -alias \
    androiddebugkey -keystore \
    ~/.android/debug.keystore -list -v
    

    Примечание. Для хранилища ключей отладки пароль — android . В Mac OS и Linux хранилище ключей отладки обычно находится по адресу ~/.android/ debug.keystore . В Windows он обычно находится по адресу %USERPROFILE%\ .android\ debug.keystore .

  4. Вывод команды keytool содержит отпечаток SHA1 сертификата.

Шаг 4. Настройте свой проект

Android Studio упрощает создание проекта для API близлежащих сообщений. Выполните действия, описанные в разделе «Создание проекта» , чтобы создать новый проект. В Android Studio откройте файл build.gradle для вашего модуля и добавьте клиентскую библиотеку сервисов Google Play в качестве зависимости:

apply plugin: 'android'
...

dependencies {
    compile 'com.google.android.gms:play-services-nearby:19.2.0'
}

Затем настройте свой манифест с помощью ключа API, сгенерированного на предыдущем шаге:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.google.sample.app" >
    <application ...>
        <meta-data
            android:name="com.google.android.nearby.messages.API_KEY"
            android:value="API_KEY" />
        <activity>
        ...
        </activity>
    </application>
</manifest>

Шаг 5. Опубликуйте и подпишитесь

В своем приложении начните использовать API сообщений поблизости.

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    ...
    mMessageListener = new MessageListener() {
        @Override
        public void onFound(Message message) {
            Log.d(TAG, "Found message: " + new String(message.getContent()));
        }

        @Override
        public void onLost(Message message) {
            Log.d(TAG, "Lost sight of message: " + new String(message.getContent()));
        }
    }

    mMessage = new Message("Hello World".getBytes());
}

@Override
public void onStart() {
    super.onStart();
    ...
    Nearby.getMessagesClient(this).publish(mMessage);
    Nearby.getMessagesClient(this).subscribe(mMessageListener);
}

@Override
public void onStop() {
    Nearby.getMessagesClient(this).unpublish(mMessage);
    Nearby.getMessagesClient(this).unsubscribe(mMessageListener);
    ...
    super.onStop();
}

Для API сообщений поблизости требуется согласие пользователя. При первом вызове публикации или подписки Nearby отобразит диалоговое окно согласия.