Reklamuj się i odkrywaj

Gdy użytkownik przyzna wszystkie wymagane uprawnienia, aplikacja może zacząć: reklamować i odkrywać urządzenia w pobliżu.

Najpierw wybierz Strategy dla swojego przypadku użycia. Wybór reguły Strategy określa topologię połączenia aplikacji (1 reklamodawcy do N odkrywców lub M reklamodawców do N odkrywców).

Z urządzeń, które mają wyświetlać reklamy, wywołaj startAdvertising(), podając wybraną funkcję. Strategy i parametr serviceId, który identyfikuje aplikację.

Na urządzeniach, które mają wykrywać reklamodawców w pobliżu, zadzwoń do startDiscovery() i podaj: te same Strategy i serviceId.

Wartość serviceId musi jednoznacznie identyfikować aplikację. Sprawdzoną metodą jest nazwa pakietu aplikacji (np. com.google.example.myapp).

Poniższy przykład pokazuje, jak się reklamować:

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

Parametr ConnectionLifecycleCallback to wywołanie zwrotne, które zostanie wywołane. gdy odkrywcy proszą o połączenie z reklamodawcą. Zobacz Zarządzanie Połączenia, w których znajdziesz szczegółowe informacje: definiując wywołanie zwrotne.

Poniższy przykład pokazuje, jak możesz sprawdzić:

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

Parametr EndpointDiscoveryCallback to wywołanie zwrotne, które zostanie wywołane. gdy reklamodawca znajdzie lub zgubiony reklamodawca w pobliżu. Zobacz Zarządzanie Połączenia, w których znajdziesz szczegółowe informacje: definiując wywołanie zwrotne.

Zadzwoń pod numer stopAdvertising(), gdy nie musisz już się reklamować. stopDiscovery(), gdy nie musisz już odkrywać treści.