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:
- Apri Android SDK Manager.
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:
- Vai a Google Developers Console.
- Crea o seleziona un progetto a cui registrare la tua applicazione.
- Fai clic su Continua per abilitare l'API.
- Nella pagina Credenziali, crea una nuova chiave Android (e imposta le credenziali API).
Nota: se hai una chiave Android esistente, puoi utilizzarla. - 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
- 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:
- Trova la posizione del keystore.
- In un terminale, esegui l'utilità
keytool
dalla JDK. Ad esempio, se utilizzi l'archivio chiavi`debug`
: - L'output del comando
keytool
contiene l'impronta SHA1 per il certificato.
$ 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/
. Su Windows, in genere si trova in %USERPROFILE%\
.
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.