Kullanıcı gerekli tüm izinleri verdikten sonra uygulamanız reklam ve keşif özelliklerini kullanarak yakındaki cihazları keşfedebilirsiniz.
Öncelikle kullanım alanınız için bir Strategy
seçin.
Seçtiğiniz Strategy
, uygulamanızın bağlantı topolojisini belirler (tek bir
N reklamverene veya M reklamverenlere N keşfet).
Reklam yayınlanacak cihazlarda, startAdvertising()
numaralı telefonu
Strategy
ve uygulamanızı tanımlayan bir serviceId
parametresi.
Yakındaki reklamverenleri keşfedecek cihazlarda startDiscovery()
numaralı telefonu şu hesapla arayın:
aynı Strategy
ve serviceId
.
serviceId
değeri, uygulamanızı benzersiz şekilde tanımlamalıdır. En iyi uygulama olarak,
Uygulamanızın paket adı (örneğin, com.google.example.myapp
).
Aşağıdaki örnekte, nasıl reklam yayınlayacağınız gösterilmektedir:
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, çağrılacak geri çağırma değeridir
kullanıcılar reklamverene bağlanmak istediğinde. Bkz. Yönetme
Bağlantılar bölümünde
tanımlanıyor.
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, çağrılacak geri çağırma değeridir
yakındaki reklamverenler keşfedildiğinde veya kaybolduğunda. Bkz. Yönetme
Bağlantılar bölümünde
tanımlanıyor.
Artık reklam yayınlamanıza gerek kalmadığında stopAdvertising()
numaralı telefonu arayın ve
Artık keşfetmenize gerek kalmadığında stopDiscovery()
.