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:
- Apri Android SDK Manager.
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:
- Vai a Google Developers Console.
- Crea o seleziona un progetto a cui registrare l'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 già una chiave Android, puoi utilizzarla. - 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
- 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:
- Trova la posizione del tuo keystore.
- In un terminale, esegui l'utilità
keytool
dal JDK. Ad esempio, se utilizzi il keystore`debug`
: - L'output del comando
keytool
contiene l'impronta SHA-1 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, si trova solitamente in %USERPROFILE%\
.
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.