Начать

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

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

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

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

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

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

Шаг 2: Создайте учетную запись Google

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

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

Выполните следующие действия, чтобы включить API Google Nearby Messages для 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 Nearby Messages. Следуйте инструкциям в разделе «Создание проекта» , чтобы создать новый проект. В Android Studio откройте файл build.gradle для вашего модуля и добавьте клиентскую библиотеку сервисов Google Play в качестве зависимости:

apply plugin: 'android'
...

dependencies {
    compile 'com.google.android.gms:play-services-nearby:19.3.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 Nearby Messages в своем приложении.

@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 Messages требует согласия пользователя. При первом вызове публикации или подписки Nearby отображает диалоговое окно с предложением согласиться.