Dopo che l'utente avrà concesso tutte le autorizzazioni richieste, la tua app potrà iniziare a fare pubblicità e scoprire i contenuti per trovare dispositivi nelle vicinanze.
Innanzitutto, scegli un Strategy
per il tuo caso d'uso.
L'Strategy
selezionato determina la topologia di connessione per la tua app (un
inserzionista per N scoprire, o M inserzionisti per N scopritori).
Sui dispositivi che pubblicizzeranno l'annuncio, chiama startAdvertising()
con l'oggetto Strategy
e un parametro serviceId
che identifica la tua app.
Sui dispositivi che rilevano inserzionisti nelle vicinanze, chiama startDiscovery()
con gli stessi Strategy
e serviceId
.
Il valore serviceId
deve identificare in modo univoco la tua app. Come best practice, utilizza il nome del pacchetto dell'app (ad esempio com.google.example.myapp
).
L'esempio seguente mostra come fare pubblicità:
private void startAdvertising() { AdvertisingOptions advertisingOptions = new AdvertisingOptions.Builder().setStrategy(STRATEGY).build(); Nearby.getConnectionsClient(context) .startAdvertising( getLocalUserName(), SERVICE_ID, connectionLifecycleCallback, advertisingOptions) .addOnSuccessListener( (Void unused) -> { // We're advertising! }) .addOnFailureListener( (Exception e) -> { // We were unable to start advertising. }); }
Il parametro ConnectionLifecycleCallback
è il callback che viene richiamato
quando gli utenti richiedono di connettersi all'inserzionista. Per i dettagli sulla definizione di questo callback, consulta Gestisci le connessioni.
L'esempio seguente mostra come effettuare la scoperta:
private void startDiscovery() { DiscoveryOptions discoveryOptions = new DiscoveryOptions.Builder().setStrategy(STRATEGY).build(); Nearby.getConnectionsClient(context) .startDiscovery(SERVICE_ID, endpointDiscoveryCallback, discoveryOptions) .addOnSuccessListener( (Void unused) -> { // We're discovering! }) .addOnFailureListener( (Exception e) -> { // We're unable to start discovering. }); }
Il parametro EndpointDiscoveryCallback
è il callback che viene richiamato
quando vengono rilevati o persi gli inserzionisti nelle vicinanze. Per i dettagli sulla definizione di questo callback, consulta Gestisci le connessioni.
Chiama il numero stopAdvertising()
quando non devi più fare pubblicità e
stopDiscovery()
quando non è più necessario scoprirlo.