Una vez que el usuario otorga todos los permisos necesarios, tu app puede comenzar a hacer publicidad y descubrir para encontrar dispositivos cercanos.
Primero, elige un Strategy
para tu caso de uso.
El Strategy
que selecciones determina la topología de conexión de tu app (una
anunciante a N descubridores o M anunciantes a N descubridores).
En los dispositivos que publicarán anuncios, llama a startAdvertising()
con la
Strategy
y un parámetro serviceId
que identifica tu app.
En los dispositivos que descubrirán anunciantes cercanos, llama a startDiscovery()
con
los mismos Strategy
y serviceId
.
El valor serviceId
debe identificar tu app de forma única. Como práctica recomendada, usa
el nombre del paquete de tu app (por ejemplo, com.google.example.myapp
)
En el siguiente ejemplo, se muestra cómo publicar anuncios:
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. }); }
El parámetro ConnectionLifecycleCallback
es la devolución de llamada que se invocará
cuando los investigadores solicitan conectarse con el anunciante. Consulta Administrar
Conexiones para obtener detalles sobre
definir esta devolución de llamada.
En el siguiente ejemplo, se muestra cómo realizar el descubrimiento:
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. }); }
El parámetro EndpointDiscoveryCallback
es la devolución de llamada que se invocará
cuando se descubren o se pierden anunciantes cercanos. Consulta Administrar
Conexiones para obtener detalles sobre
definir esta devolución de llamada.
Llama a stopAdvertising()
cuando ya no necesites publicar anuncios.
stopDiscovery()
cuando ya no necesites descubrir contenido.