Werben und entdecken

Sobald der Nutzer alle erforderlichen Berechtigungen gewährt hat, kann die App Werbung machen und Geräte in der Nähe finden.

Wählen Sie zuerst einen Strategy für Ihren Anwendungsfall aus. Die von Ihnen ausgewählte Strategy bestimmt die Verbindungstopologie für Ihre Anwendung (ein Werbetreibender für N-Discoverer oder M-Werbetreibende für N-Discoverer).

Rufe auf Geräten, auf denen Werbung geschaltet wird, startAdvertising() mit dem gewünschten Strategy-Parameter und dem Parameter serviceId auf, der deine App identifiziert.

Rufe auf Geräten, die Werbetreibende in der Nähe finden werden, startDiscovery() mit derselben Strategy und serviceId auf.

Der Wert serviceId muss Ihre Anwendung eindeutig identifizieren. Es empfiehlt sich, den Paketnamen Ihrer Anwendung zu verwenden (z. B. com.google.example.myapp).

Das folgende Beispiel zeigt, wie Sie Werbung schalten:

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 Erkennungsanfragen an den Werbetreibenden gesendet werden. Weitere Informationen zum Definieren dieses Callbacks finden Sie unter Verbindungen verwalten.

Das folgende Beispiel zeigt, wie Sie Folgendes ermitteln:

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, wenn Werbetreibende in der Nähe erkannt oder verloren werden. Weitere Informationen zum Definieren dieses Callbacks finden Sie unter Verbindungen verwalten.

Rufen Sie stopAdvertising() auf, wenn Sie nicht mehr werben müssen, und stopDiscovery(), wenn Sie dies nicht mehr tun müssen.