Iklankan dan temukan

Setelah pengguna memberikan semua izin yang diperlukan, aplikasi Anda dapat mulai beriklan dan menemukannya untuk menemukan perangkat di sekitar.

Pertama, pilih Strategy untuk kasus penggunaan Anda. Strategy yang Anda pilih menentukan topologi koneksi untuk aplikasi Anda (satu pengiklan ke N penemu, atau pengiklan M ke N penemu).

Pada perangkat yang akan beriklan, panggil startAdvertising() dengan Strategy yang diinginkan dan parameter serviceId yang mengidentifikasi aplikasi Anda.

Di perangkat yang akan menemukan pengiklan di sekitar, panggil startDiscovery() dengan Strategy dan serviceId yang sama.

Nilai serviceId harus mengidentifikasi aplikasi Anda secara unik. Sebagai praktik terbaik, gunakan nama paket aplikasi Anda (misalnya, com.google.example.myapp).

Contoh berikut menunjukkan cara beriklan:

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

Parameter ConnectionLifecycleCallback adalah callback yang akan dipanggil saat penemu meminta untuk terhubung ke pengiklan. Baca bagian Mengelola Koneksi untuk mengetahui detail tentang menentukan callback ini.

Contoh berikut menunjukkan cara menemukan:

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

Parameter EndpointDiscoveryCallback adalah callback yang akan dipanggil saat pengiklan di sekitar ditemukan atau hilang. Baca bagian Mengelola Koneksi untuk mengetahui detail tentang menentukan callback ini.

Panggil stopAdvertising() jika Anda tidak perlu lagi beriklan, dan stopDiscovery() saat Anda tidak perlu mencarinya lagi.