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 Messaggi nelle vicinanze è disponibile sui dispositivi Android con Google Play Services 7.8.0 o versioni successive. I dispositivi con Android 2.3 o versioni successive che dispongono dell'app Google Play Store ricevono automaticamente gli aggiornamenti di Google Play Services. Per controllare la versione di Google Play Services installata sul tuo dispositivo, vai a Impostazioni > App > Google Play Services.

Assicurati di avere la 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 > Strumenti SDK, 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 disporre di un Account Google. In questo modo, tu, lo sviluppatore, potrai attivare l'API Nearby nel passaggio successivo (i tuoi utenti non dovranno avere un Account Google). Se hai già un account, è tutto pronto. Ti consigliamo anche di avere un Account Google distinto per scopi di test.

Passaggio 3: ottieni una chiave API

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 l'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 già una chiave Android, puoi utilizzarla.
  5. Nella finestra di dialogo visualizzata, inserisci l'impronta SHA-1 e il nome del pacchetto della tua 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 per il 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 utilizzato 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 keystore.
  2. In un terminale, esegui l'utilità keytool dal JDK. Ad esempio, se utilizzi il keystore `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, si trova solitamente in %USERPROFILE%\.android\debug.keystore.

  4. L'output del comando keytool contiene l'impronta SHA-1 per il certificato.

Passaggio 4: configura il progetto

Android Studio consente di creare facilmente un progetto per l'API Nearby Messages. Segui i passaggi descritti nella sezione Creare un progetto per creare un nuovo progetto. In Android Studio, apri il file build.gradle per il tuo 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.3.0'
}

Poi, 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 invocata per la prima volta la pubblicazione o l'iscrizione, Nelle vicinanze mostra una finestra di dialogo di attivazione.