Fai pubblicità e scopri

Una volta che l'utente ha concesso tutte le autorizzazioni necessarie, l'app può iniziare a fai pubblicità e scopri per trovare dispositivi nelle vicinanze.

Per prima cosa, scegli un Strategy per il tuo caso d'uso. Il Strategy che selezioni determina la topologia di connessione per la tua app (una inserzionista a N scopritori o M inserzionisti a N scopritori).

Sui dispositivi che verranno utilizzati per la pubblicità, chiama il numero startAdvertising() con l'indirizzo Strategy e un parametro serviceId che identifica la tua app.

Sui dispositivi per rilevare gli 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 es. com.google.example.myapp).

L'esempio seguente illustra 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 verrà richiamato quando i rilevatori richiedono di connettersi all'inserzionista. Consulta Gestisci Connessioni per i dettagli su sulla definizione di questo callback.

L'esempio seguente mostra come scoprire:

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 verrà richiamato quando gli inserzionisti nelle vicinanze vengono scoperti o persi. Consulta Gestisci Connessioni per i dettagli su sulla definizione di questo callback.

Chiama stopAdvertising() quando non hai più bisogno di fare pubblicità e stopDiscovery() quando non hai più bisogno di scoprirli.