Rozpocznij

Z tego dokumentu dowiesz się, jak rozpocząć tworzenie aplikacji z użyciem interfejsu Nearby Messages API na Androidzie. 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, na których zainstalowane są Usługi 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 Twoim urządzeniu, otwórz Ustawienia > Aplikacje > Usługi Google Play.

Upewnij się, że na komputerze, na którym tworzysz aplikację, masz najnowszą bibliotekę klienta Usług Google Play:

  1. Otwórz Android SDK Manager.
  2. 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 Ty jako deweloper możesz w następnym kroku włączyć interfejs Nearby API (Twoi 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 interfejsu API:

  1. Otwórz Google Developers Console.
  2. Utwórz lub wybierz projekt, w którym chcesz zarejestrować aplikację.
  3. Kliknij Dalej , aby włączyć interfejs API.
  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 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
  6. Nowy klucz interfejsu Android API pojawi się na liście kluczy interfejsu API w Twoim projekcie. 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 SHA1 certyfikatu, którego używasz do podpisywania pliku APK. Wymiana wiadomości jest możliwa tylko między aplikacjami podpisanymi kluczami interfejsu API z tego samego projektu.

Aby uzyskać ten odcisk cyfrowy:

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

    Uwaga: hasło magazynu kluczy debugowania to android. W systemach Mac OS i Linux magazyn kluczy debugowania zwykle znajduje się w ~/.android/debug.keystore. W systemie Windows zwykle znajduje się w %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 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.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. Publikuj i subskrybuj

Zacznij używać interfejsu Nearby Messages API w swojej aplikacji.

@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 wywołasz funkcję publikowania lub subskrybowania, Nearby wyświetli okno z prośbą o zgodę.