Inizia

Questo documento spiega come iniziare a sviluppare con l'API Nearby Messages su Android. L'API Nearby Messages fa parte di Google Play Services.

Passaggio 1: installa Google Play Services

L'API Nearby Messages è disponibile sui dispositivi Android con Google Play Services 7.8.0 o versioni successive. I dispositivi con Android 2.3 o versioni successive su cui è installata l'app Google Play Store ricevono automaticamente gli aggiornamenti di Google Play Services. Per controllare quale versione di Google Play Services è installata sul dispositivo, vai a Impostazioni > App > Google Play Services.

Assicurati di disporre della libreria client più recente per Google Play Services sull'host di sviluppo:

  1. Apri Android SDK Manager.
  2. In Aspetto e comportamento > Impostazioni di sistema > SDK Android > SDK Tools, assicurati che siano installati i seguenti pacchetti:

    • Google Play Services
    • Repository Google

Passaggio 2: crea un Account Google

Per utilizzare le API Nearby Messages, devi avere un Account Google. In questo modo, in qualità di sviluppatore, potrai attivare l'API Nearby nel passaggio successivo (i tuoi utenti non dovranno avere un Account Google). Se hai già un account, non devi fare altro. Ti consigliamo anche di avere un Account Google separato per scopi di test.

Passaggio 3: ottieni una chiave API

Segui questi passaggi per abilitare l'API Google Nearby Messages per Android e ottenere una chiave API:

  1. Vai a Google Developers Console.
  2. Crea o seleziona un progetto con cui registrare la tua applicazione.
  3. Fai clic su Continua per attivare l'API.
  4. Nella pagina Credenziali, crea una nuova chiave Android (e imposta le Credenziali API).
    Nota: se hai già un tasto Android, puoi utilizzarlo.
  5. Nella finestra di dialogo visualizzata, inserisci l'impronta SHA-1 e il nome del pacchetto dell'app. Ad esempio:
    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. La nuova chiave API Android viene visualizzata nell'elenco delle chiavi API del progetto. Una chiave API è una stringa di caratteri, simile alla seguente:
    AIzaSyBdVl-cTICSwYKrZ95SuvNw7dbMuDt1KG0

Ottenere l'impronta SHA1 del certificato

Per creare una nuova chiave API per la tua app per Android, devi avere l'impronta SHA1 del certificato che utilizzi per firmare l'APK. I messaggi possono essere scambiati solo tra app firmate con chiavi API dello stesso progetto.

Per ottenere questa impronta:

  1. Trova la posizione del tuo archivio chiavi.
  2. In un terminale, esegui l'utilità keytool dal JDK. Ad esempio, se utilizzi l'archivio chiavi `debug`:
  3. $ keytool -alias \
    androiddebugkey -keystore \
    ~/.android/debug.keystore -list -v
    

    Nota: per l'archivio chiavi di debug, la password è android. Su Mac OS e Linux, l'archivio chiavi di debug si trova in genere in ~/.android/debug.keystore. Su Windows, in genere si trova all'indirizzo %USERPROFILE%\.android\debug.keystore.

  4. L'output del comando keytool contiene l'impronta SHA1 per il certificato.

Passaggio 4: configura il progetto

Android Studio semplifica la creazione di un progetto per l'API Nearby Messages. Segui i passaggi descritti in Creazione di un progetto per creare un nuovo progetto. In Android Studio, apri il file build.gradle del modulo e aggiungi la libreria client di Google Play Services come dipendenza:

apply plugin: 'android'
...

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

Quindi, configura il manifest con la chiave API generata nel passaggio precedente:

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

Passaggio 5: pubblica e iscriviti

Nella tua app, inizia a utilizzare l'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();
}

L'API Nearby Messages richiede il consenso dell'utente. Quando richiami la pubblicazione o l'abbonamento per la prima volta, nelle vicinanze viene visualizzata una finestra di dialogo di attivazione.