Faites de la publicité et découvrez

Une fois que l'utilisateur a accordé toutes les autorisations requises, votre application peut commencer à diffuser des annonces et découvrir des contenus afin de trouver des appareils à proximité.

Tout d'abord, choisissez un Strategy pour votre cas d'utilisation. Le Strategy que vous sélectionnez détermine la topologie de connexion de votre application (une annonceur à N découvertes, ou M annonceurs à N découvertes).

Sur les appareils qui diffuseront des annonces, appelez startAdvertising() avec les identifiants Strategy et un paramètre serviceId qui identifie votre application.

Sur les appareils qui identifient les annonceurs à proximité, appelez startDiscovery() avec les mêmes Strategy et serviceId.

La valeur serviceId doit identifier votre application de manière unique. Nous vous recommandons d'utiliser le nom de package de votre application (par exemple, com.google.example.myapp) ;

L'exemple suivant montre comment diffuser des annonces:

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

Le paramètre ConnectionLifecycleCallback est le rappel qui sera invoqué. lorsque les découvreurs demandent à se connecter à l'annonceur. Voir la section Gérer Connexions pour en savoir plus définir ce rappel.

L'exemple suivant montre comment identifier:

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

Le paramètre EndpointDiscoveryCallback est le rappel qui sera invoqué. lorsque des annonceurs à proximité sont découverts ou perdus. Voir la section Gérer Connexions pour en savoir plus définir ce rappel.

Appelez le stopAdvertising() lorsque vous n'avez plus besoin de diffuser des annonces. stopDiscovery() lorsque vous n'avez plus besoin de la découvrir.