Z tego dokumentu dowiesz się, jak zacząć tworzyć aplikacje na Androida za pomocą interfejsu Nearby Messages API. Interfejs Nearby Messages API jest częścią Usług Google Play.
Krok 1. Pobierz Usługi Google Play
Interfejs Nearby Messages API jest dostępny na urządzeniach z Androidem z Usługami Google Play w wersji 7.8.0 lub nowszej. Urządzenia z Androidem 2.3 lub nowszym, na których jest zainstalowana aplikacja Sklep Google Play, automatycznie otrzymują aktualizacje Usług Google Play. Aby sprawdzić, która wersja Usług Google Play jest zainstalowana na urządzeniu, otwórz Ustawienia > Aplikacje > Usługi Google Play.
Sprawdź, czy na komputerze deweloperskim masz najnowszą bibliotekę klienta Usług Google Play:
- Otwórz Menedżera SDK Androida.
W sekcji Wygląd i zachowanie > Ustawienia systemu > Android SDK > Narzędzia SDK sprawdź, czy są zainstalowane te pakiety:
- Usługi Google Play
- Repozytorium Google
Krok 2. Utwórz konto Google
Aby korzystać z interfejsów Nearby Messages API, musisz mieć konto Google. Dzięki temu w następnym kroku Ty, jako deweloper, możesz włączyć interfejs Nearby API (użytkownicy nie będą musieli mieć konta Google). Jeśli masz już konto, nie musisz nic więcej robić. Możesz też potrzebować osobnego konta Google do celów testowych.
Krok 3. Uzyskaj klucz interfejsu API
Aby włączyć interfejs Google Nearby Messages API na Androidzie i uzyskać klucz API:
- Otwórz Google Developers Console.
- Utwórz lub wybierz projekt, w którym chcesz zarejestrować aplikację.
- Aby włączyć interfejs API, kliknij Dalej.
- Na stronie Dane logowania utwórz nowy klucz Androida (i skonfiguruj dane logowania interfejsu API).
Uwaga: jeśli masz już klucz Androida, możesz go użyć. - W wyświetlonym oknie wpisz odcisk cyfrowy SHA-1 i nazwę pakietu aplikacji. 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
- Nowy klucz interfejsu API Androida pojawi się na liście kluczy interfejsu API projektu.
Klucz interfejsu API to ciąg znaków, np.:
AIzaSyBdVl-cTICSwYKrZ95SuvNw7dbMuDt1KG0
Uzyskiwanie odcisku cyfrowego SHA1 certyfikatu
Aby utworzyć nowy klucz interfejsu API dla aplikacji na Androida, potrzebujesz odcisku cyfrowego SHA-1 certyfikatu używanego 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:
- Znajdź lokalizację magazynu kluczy.
- W terminalu uruchom narzędzie
keytoolz zestawu JDK. Jeśli na przykład używasz`debug`keystore: - Dane wyjściowe polecenia
keytoolzawierają odcisk cyfrowy SHA1 certyfikatu.
$ keytool -alias \ androiddebugkey -keystore \ ~/.android/debug.keystore -list -v
Uwaga: w przypadku magazynu kluczy do debugowania hasło to android. W systemach macOS i Linux klucz debugowania znajduje się zwykle w lokalizacji ~/.android/. W systemie Windows zwykle znajduje się w lokalizacji %USERPROFILE%\.
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 modułu i dodaj bibliotekę klienta usług Google Play jako zależność:
apply plugin: 'android'
...
dependencies {
compile 'com.google.android.gms:play-services-nearby:19.5.1'
}
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. Publikowanie i subskrybowanie
Zacznij używać w 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 Nearby Messages API wymaga zgody użytkownika. Gdy po raz pierwszy zostanie wywołana funkcja publikowania lub subskrybowania, Nearby wyświetli okno z prośbą o zgodę na korzystanie z tej funkcji.