Rozpocznij

Z tego dokumentu dowiesz się, jak zacząć tworzyć aplikacje korzystające z interfejsu Nearby Messages API na Androidzie. Interfejs API Nearby Messages jest częścią Usług Google Play.

Krok 1. Pobierz Usługi Google Play

Interfejs API wiadomości w pobliżu jest dostępny na urządzeniach z Androidem z usługami Google Play w wersji 7.8.0 lub nowszej. Usługi Google Play są automatycznie aktualizowane na urządzeniach z Androidem 2.3 lub nowszym, na których zainstalowano aplikację Sklep Play. Aby sprawdzić, która wersja Usług Google Play jest zainstalowana na urządzeniu, otwórz Ustawienia > Aplikacje > Usługi Google Play.

Upewnij się, że na hoście deweloperskim masz najnowszą bibliotekę klienta dla usług Google Play:

  1. Otwórz Menedżera pakietu Android SDK.
  2. W obszarze Wygląd i zachowanie > Ustawienia systemowe > Pakiet Android SDK > Narzędzia SDK sprawdź, czy zainstalowane są te pakiety:

    • Usługi Google Play
    • Repozytorium Google

Krok 2. Utwórz konto Google

Aby używać interfejsów API Wiadomości w pobliżu, musisz mieć konto Google. Dzięki temu możesz jako deweloper włączyć interfejs Nearby API w następnym kroku (użytkownicy nie będą musieli mieć konta Google). Jeśli masz już konto, nie musisz nic więcej robić. Możesz też utworzyć osobne konto Google na potrzeby testów.

Krok 3. Pobierz klucz interfejsu API

Aby włączyć interfejs Google Nearby Messages API na Androida i uzyskać klucz API:

  1. Otwórz Google Developers Console.
  2. Utwórz lub wybierz projekt, w którym chcesz zarejestrować aplikację.
  3. Aby włączyć interfejs API, kliknij Dalej.
  4. Na stronie Dane logowania utwórz nowy klucz Androida (i ustaw dane logowania interfejsu API).
    Uwaga: jeśli masz już klucz Androida, możesz go użyć.
  5. W wyświetlonym oknie wpisz odcisk cyfrowy SHA-1 i nazwę pakietu. Na przykład:
    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. Nowy klucz interfejsu API Androida pojawi się na liście kluczy interfejsu API projektu. Klucz API to ciąg znaków, np.
    AIzaSyBdVl-cTICSwYKrZ95SuvNw7dbMuDt1KG0

Pobierz odcisk cyfrowy SHA1 swojego certyfikatu

Aby utworzyć nowy klucz interfejsu API dla aplikacji na Androida, musisz mieć odcisk cyfrowy SHA1 certyfikatu, którego używasz do podpisywania pliku APK. Wiadomości mogą być wymieniane tylko między aplikacjami podpisanymi kluczami interfejsu API z tego samego projektu.

Aby uzyskać ten odcisk palca:

  1. Znajdź lokalizację schowu kluczy.
  2. W terminalu uruchom narzędzie keytool z JDK. Jeśli na przykład używasz klucza `debug`:
  3. $ keytool -alias \
    androiddebugkey -keystore \
    ~/.android/debug.keystore -list -v
    

    Uwaga: hasło magazynu kluczy debugowania to android. W systemie Mac OS i Linux magazyn kluczy debugowania znajduje się zwykle w ~/.android/debug.keystore. W systemie Windows znajduje się on zazwyczaj w folderze %USERPROFILE%\.android\debug.keystore.

  4. Dane wyjściowe polecenia keytool zawierają odcisk cyfrowy SHA1 certyfikatu.
.

Krok 4. Skonfiguruj projekt

Android Studio ułatwia tworzenie projektu dla interfejsu Nearby Messages API. Aby utworzyć nowy projekt, wykonaj czynności opisane w artykule Tworzenie projektu. W Android Studio otwórz plik build.gradle swojego modułu i jako zależności dodaj bibliotekę klienta usług Google Play:

apply plugin: 'android'
...

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

Następnie skonfiguruj plik manifestu za pomocą klucza interfejsu API wygenerowanego w poprzednim kroku:

<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>

Krok 5. Opublikuj i subskrybuj

Zacznij używać w swojej aplikacji interfejsu Nearby Messages 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();
}

Interfejs API Wymiana wiadomości z urządzeniami w pobliżu wymaga zgody użytkownika. Gdy po raz pierwszy zostanie wywołana funkcja publikowania lub subskrybowania, Nearby wyświetli okno z prośbą o zgodę.