Reklam verme ve keşfetme

Kullanıcı gerekli tüm izinleri verdiğinde, uygulamanız yakındaki cihazları bulmak için reklam yayınlamaya ve keşfetmeye başlayabilir.

Öncelikle, kullanım alanınız için bir Strategy seçin. Seçtiğiniz Strategy, uygulamanızın bağlantı topolojisini belirler (reklamverenlerden N keşif yapanlara veya M reklamverenlerini N keşif yapanlara).

Reklam yayınlanacak cihazlarda startAdvertising() uygulamasını, istenen Strategy ve uygulamanızı tanımlayan bir serviceId parametresiyle arayın.

Yakındaki reklamverenleri keşfedecek cihazlarda aynı Strategy ve serviceId değerlerini kullanarak startDiscovery() adlı kişiyi arayın.

serviceId değeri, uygulamanızı benzersiz bir şekilde tanımlamalıdır. En iyi uygulama olarak, uygulamanızın paket adını kullanın (örneğin, com.google.example.myapp).

Aşağıdaki örnekte reklam verme süreci gösterilmiştir:

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

ConnectionLifecycleCallback parametresi, keşifler reklamverene bağlanma isteğinde bulunduğunda çağrılan geri çağırmadır. Bu geri çağırmayı tanımlamayla ilgili ayrıntılar için Bağlantıları Yönetme bölümüne bakın.

Aşağıdaki örnekte nasıl keşfedileceği gösterilmektedir:

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

EndpointDiscoveryCallback parametresi, yakındaki reklamverenler keşfedildiğinde veya kaybedildiğinde çağrılacak olan geri çağırmadır. Bu geri çağırmayı tanımlamayla ilgili ayrıntılar için Bağlantıları Yönetme bölümüne bakın.

Artık reklam yayınlamak zorunda olmadığınızda stopAdvertising() ve keşfetmek zorunda kalmadığınız zamanlarda stopDiscovery() numaralı telefonu arayın.