Gdy użytkownik udzieli już wszystkich wymaganych uprawnień, Twoja aplikacja może zacząć się reklamować i znajdować urządzenia w pobliżu.
Najpierw wybierz Strategy
do swojego przypadku użycia.
Wybrana wartość Strategy
określa topologię połączenia dla Twojej aplikacji (1 reklamodawca w przypadku N odkrywców lub M reklamodawcy w przypadku N osób).
Na urządzeniach, które będą się reklamować, wywołaj funkcję startAdvertising()
z odpowiednim identyfikatorem Strategy
i parametrem serviceId
, który identyfikuje Twoją aplikację.
Na urządzeniach, które pozwalają wykrywać reklamodawców w pobliżu, wywołaj funkcję startDiscovery()
za pomocą tych samych wartości Strategy
i serviceId
.
Wartość serviceId
musi jednoznacznie identyfikować aplikację. Sprawdzoną metodą jest użycie nazwy pakietu aplikacji (np. com.google.example.myapp
).
Poniższy przykład pokazuje, jak 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 jest wywoływane w przypadku znalezienia żądania powiązania z reklamodawcą. Szczegółowe informacje o definiowaniu tego wywołania zwrotnego znajdziesz w artykule Zarządzanie połączeniami.
Ten przykład pokazuje, jak znaleźć:
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 jest wywoływane w przypadku wykrycia lub utraty reklamodawców znajdujących się w pobliżu. Szczegółowe informacje o definiowaniu tego wywołania zwrotnego znajdziesz w artykule Zarządzanie połączeniami.
Zadzwoń pod numer stopAdvertising()
, jeśli nie chcesz już reklamować, lub stopDiscovery()
, gdy nie będzie to konieczne.