Aperçu

Nearby Connections est une API de mise en réseau peer-to-peer qui permet aux applications de découvrir des appareils à proximité, de s'y connecter et d'échanger facilement en temps réel, quelle que soit la connectivité réseau.

Exemples de cas d'utilisation:

  • Tableau blanc collaboratif: notez les idées avec les participants à proximité sur un tableau blanc virtuel partagé.
  • Jeux multijoueurs en local:configurez un jeu multijoueur et invitez d'autres utilisateurs à proximité à rejoindre votre partie.
  • Jeux multi-écrans:utilisez un téléphone ou une tablette comme manette de jeu pour jouer à des jeux affichés sur un appareil Android à grand écran à proximité, comme Android TV.
  • Transferts de fichiers hors connexion:partagez des photos, des vidéos ou tout autre type de données rapidement et sans connexion réseau.

Introduction

Nearby Connections permet la publicité entre utilisateurs, la détection et les connexions entre appareils à proximité, hors connexion et entre pairs. Les connexions entre appareils sont haut débit, faible latence et entièrement chiffrées pour permettre des transferts de données rapides et sécurisés.

L'un des objectifs principaux de cette API est de fournir une plate-forme simple, fiable et performante. En arrière-plan, l'API utilise une combinaison de technologies Bluetooth, BLE et Wi-Fi, exploitant les points forts de chacune d'elles tout en contournant leurs faiblesses respectives. Cette approche élimine efficacement les aléas du Bluetooth et du Wi-Fi sur diverses plates-formes et versions d'OS, ce qui permet aux développeurs de se concentrer sur les fonctionnalités importantes pour leurs utilisateurs.

Présentation de l'API

L'utilisation de l'API se déroule en deux phases: préconnexion et post-connexion.

Lors de la phase pré-connexion, les annonceurs se diffusent eux-mêmes, tandis que les Discover découvrent les annonceurs à proximité et envoient des requêtes de connexion. Une requête de connexion d'un Discover à un annonceur lance un flux d'authentification symétrique qui entraîne l'acceptation (ou le refus) de la demande de connexion des deux côtés.

Une fois une demande de connexion acceptée par les deux côtés, la connexion est considérée comme établie et les appareils entrent dans la phase post-connexion, durant laquelle les deux côtés peuvent échanger des données.

Publicité et découverte

Les annonceurs sont visibles par les autres systèmes de découverte, et les utilisateurs en sont informés lorsqu'un nouvel annonceur est trouvé ou perdu.

Établir des connexions

Lorsqu'un système de découverte souhaite se connecter à un annonceur à proximité, il peut demander une connexion.

Les deux côtés sont informés du processus d'initiation de la connexion et ont la possibilité d'accepter ou de refuser la connexion.

Une fois que les deux parties ont répondu, chacune d'elles est informée du résultat. Si les deux parties ont accepté la connexion, celle-ci est considérée comme établie et le transfert des données peut alors commencer.

Échange de données

Une fois la connexion établie, l'utilisation de l'API est symétrique. Il n'y a donc plus de distinction entre l'annonceur et Discover.

Les deux côtés peuvent désormais échanger des données. Il existe trois types de charges utiles compatibles:

  • Octets:tableaux d'octets limités à 32 Ko. Ils sont appropriés pour envoyer des métadonnées ou des messages de contrôle.
  • Fichier:fichiers de toute taille. Ils sont transférés de l'application à l'interface réseau avec une copie minimale au-delà des limites des processus.
  • Flux:flux de données généré à la volée, comme pour un enregistrement audio/vidéo, sans taille finale connue au préalable.

Les destinataires sont informés des nouvelles données entrantes et des modifications, annulations et échecs de la progression.

Les connexions établies sont en duplex intégral, ce qui signifie que les annonceurs et les chercheurs peuvent simultanément envoyer et recevoir des données.

Collecte des données

Lorsque vous utilisez le SDK des services Google Play à proximité, des données d'analyse de l'utilisation sont collectées pour améliorer l'expérience.

  • Métriques de performances:la latence de découverte et de connexion, la fiabilité et le débit sont collectés lorsque l'utilisateur recherche des appareils et s'y connecte à l'aide du SDK Nearby.
  • Informations sur l'appareil:le modèle de l'appareil, le pays, la version de compilation et le nom du package de l'application sont collectés et associés aux métriques de performances pour identifier des tranches régionales et spécifiques à l'appareil.

Les utilisateurs finaux peuvent autoriser ou refuser cette collection en accédant à Paramètres > Google > Utilisation et diagnostics.