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: scarica 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 che hanno l'app Google Play Store ricevono automaticamente gli aggiornamenti di Google Play Services. Per controllare quale versione di Google Play Services è installata sul tuo dispositivo, vai a Impostazioni > App > Google Play Services.

Assicurati di avere l'ultima libreria client per Google Play Services sull'host di sviluppo:

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

    • Google Play Services
    • Google Repository

Passaggio 2: crea un Account Google

Per utilizzare le API Nearby Messages, devi disporre di un Account Google. In questo modo, tu, lo sviluppatore, potrai attivare l'API Nearby nel passaggio successivo (i tuoi utenti non avranno bisogno di un Account Google). Se hai già un account, è tutto pronto. Ti consigliamo anche di disporre di un Account Google separato per i 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 a cui registrare la tua applicazione.
  3. Fai clic su Continua per abilitare l'API.
  4. Nella pagina Credenziali, crea una nuova chiave Android (e imposta le credenziali API).
    Nota: se hai una chiave Android esistente, puoi utilizzarla.
  5. Nella finestra di dialogo risultante, 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 per Android viene visualizzata nell'elenco delle chiavi API per il tuo progetto. Una chiave API è una stringa di caratteri, ad esempio:
    AIzaSyBdVl-cTICSwYKrZ95SuvNw7dbMuDt1KG0

Ottieni l'impronta SHA1 del certificato

Per creare una nuova chiave API per la tua app per Android, devi disporre dell'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 keystore.
  2. In un terminale, esegui l'utilità keytool dalla 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, il keystore di debug si trova in genere in ~/.android/debug.keystore. Su Windows, in genere si trova in %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 per il tuo modulo e aggiungi la libreria client dei servizi Google Play come dipendenza:

apply plugin: 'android'
...

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

Dopodiché, 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 viene richiamata per la prima volta la pubblicazione o l'iscrizione, Nearby mostra una finestra di dialogo di attivazione.