Werben und entdecken

Sobald der Nutzer alle erforderlichen Berechtigungen gewährt hat, kann Ihre App werben und entdecken, um Geräte in der Nähe zu finden.

Wählen Sie zuerst eine Strategy für Ihren Anwendungsfall aus. Die ausgewählte Strategy bestimmt die Verbindungstopologie für Ihre Anwendung (eine Werbetreibenden zu n Entdeckern oder M Werbetreibenden zu n Entdeckern).

Auf Geräten, die beworben werden, rufen Sie startAdvertising() mit dem gewünschten Strategy und einen serviceId-Parameter, der deine App identifiziert.

Auf Geräten, die Werbetreibende in der Nähe erkennen, rufen Sie startDiscovery() mit dieselben Werte für Strategy und serviceId.

Der Wert serviceId muss Ihre App eindeutig identifizieren. Verwenden Sie als Best Practice Der Paketname Ihrer App (z. B. com.google.example.myapp)

Das folgende Beispiel zeigt, wie Anzeigen ausgeliefert werden können:

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.
          });
}

Der Parameter ConnectionLifecycleCallback ist der Callback, der aufgerufen wird. wenn Discovery-Anfragen eine Verbindung mit dem Werbetreibenden herstellen. Weitere Informationen finden Sie unter Verwalten Verbindungen. definieren diesen Callback.

Das folgende Beispiel zeigt, wie Sie diese ermitteln können:

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.
          });
}

Der Parameter EndpointDiscoveryCallback ist der Callback, der aufgerufen wird. Werbetreibende in der Nähe werden entdeckt oder verloren. Weitere Informationen finden Sie unter Verwalten Verbindungen. definieren diesen Callback.

Rufen Sie stopAdvertising() an, wenn Sie keine Anzeigen mehr schalten möchten. stopDiscovery(), wenn Sie nichts mehr suchen müssen.