Recommandations en matière de proximité

Cette rubrique décrit les meilleures pratiques d’utilisation de la fonctionnalité de proximité pour connecter des applications et partager du contenu.

La proximité représente un excellent moyen de créer une expérience de partage d’application entre deux instances de votre application qui s’exécutent sur deux appareils distincts. Avec une application de proximité, il suffit aux utilisateurs de poser un appareil sur un autre pour établir une connexion. De même, un utilisateur peut rechercher un autre appareil qui exécute ce type d’application à portée de connexion sans fil. Sur un PC, l’utilisateur peut utiliser la fonctionnalité Wi-Fi Direct pour trouver l’application qui s’exécute sur d’autres PC. Sur un Windows Phone, l’utilisateur peut utiliser la technologie Bluetooth pour trouver l’application qui s’exécute sur d’autres Windows Phone.

La fonctionnalité Proximité propose plusieurs modes de communication :

  • Sessions hors bande : vous pouvez établir une session à l’aide de l’objet PeerFinder, qui connecte des appareils via un transport hors bande (Bluetooth, réseau à infrastructure ou Wi-Fi Direct). Bien que la portée d’une action d’appuyer soit limitée à quatre centimètres tout au plus, la portée des options de transport hors-bande est beaucoup plus étendue. Vous n’avez pas besoin d’inclure la fonctionnalité de proximité dans votre application pour partager les ressources. Si Windows prend en charge votre scénario de partage, activez le contrat de partage et utilisez la fonctionnalité intégrée de Windows pour partager des ressources par geste d’appui.

    Remarque  La fonctionnalité Wi-Fi Direct n’est pas prise en charge sur les applications du Windows Phone Store.

  • Rechercher des homologues : vous pouvez établir une session à l’aide de la méthode PeerFinder.FindAllPeersAsync(). Cette méthode permet de trouver tous les homologues distants qui exécutent la même application, s’ils ont également appelé la méthode PeerFinder.Start() pour indiquer qu’ils sont disponibles pour une session d’homologues. La recherche d’homologues ne nécessite aucune action par appui. Elle utilise à la place Wi-Fi Direct pour découvrir l’homologue distant et établir une connexion.

    Remarque  La recherche d’homologues utilise la fonctionnalité Bluetooth dans les applications du Windows Phone Store. Ainsi, votre application Windows Phone ne peut trouver que les homologues Windows Phone et votre application Windows ne peut trouver que les homologues Windows.

  • Publication et abonnement pour les messages : vous pouvez envoyer ou recevoir des messages en effectuant un geste d’appui avec l’objet ProximityDevice.

Si une application appelle la méthode ConnectAsync pour créer une connexion à un homologue, l’application n’effectue plus de publication pour une connexion. Par ailleurs, cette application est indétectable par la méthode FindAllPeersAsync() tant qu’elle n’appelle pas la méthode StreamSocket.Close pour fermer la connexion de sockets.

Les homologues ne sont détectés que dans les circonstances où l’appareil est à portée de connexion sans fil et où l’application homologue s’exécute au premier plan. Si une application homologue s’exécute en arrière-plan, la fonctionnalité de proximité n’effectue pas de publication pour les connexions homologues.

Si vous ouvrez une connexion de sockets en appelant la méthode ConnectAsync, une seule connexion de sockets peut être ouverte à la fois pour l’appareil. Si votre application (ou une autre application) appelle la méthode ConnectAsync, la connexion de sockets existante est fermée.

Chaque application de votre appareil peut avoir une connexion ouverte vers une application homologue sur un autre appareil, si cette connexion a été établie via une action d’appuyer. Vous pouvez ouvrir des connexions de sockets entre une application et une application homologue sur plusieurs appareils en effectuant une action d’appuyer sur chaque appareil. Si vous créez une connexion à l’aide d’une action d’appuyer, une nouvelle action d’appuyer n’entraîne pas la fermeture de la connexion existante. Vous devez appeler la méthode StreamSocket.Close de l’objet socket pour créer une connexion à la même application homologue sur le même appareil homologue à l’aide d’une action d’appuyer.

Remarque  La fonctionnalité de proximité crée uniquement des objets StreamSocket pour les connexions réseau. Si votre application exige un autre type d’objet de connexion que celui d’un objet StreamSocket, vous ne pouvez pas utiliser la fonctionnalité de proximité pour vous connecter.

Pour plus d’informations sur l’ajout de la fonctionnalité de proximité à votre application et sur le code requis, voir :

Pratiques conseillées et déconseillées

  • Quand votre application recherche d’autres homologues qui l’exécutent, ne recherchez pas les homologues de façon continue. Laissez plutôt l’utilisateur être à l’origine de l’action en lui fournissant une option qui permet de rechercher les homologues à portée.
  • Demandez toujours l’accord de l’utilisateur pour démarrer une expérience de fonctionnalité de proximité avec une connexion et placer une application en mode multi-utilisateur. La demande d’accord doit être directe et révocable pendant que les utilisateurs exécutent une application. Par exemple, deux personnes qui jouent à un jeu doivent pouvoir donner leur accord avant de décider de jouer ensemble via la fonctionnalité de proximité. Si une action d’appuyer se produit quand l’application démarre, les utilisateurs doivent pouvoir donner leur accord dans le menu Démarrer ou la page d’introduction de l’application.
  • Lorsque l’utilisateur place une application en mode multi-utilisateurs, mettez à jour l’interface utilisateur pour afficher l’un des trois états de connexion suivants :
    • En attente d’appui
    • Connexion de périphériques en cours (affichage de la progression)
    • Périphériques connectés ou échec de la connexion
  • Rétablissez le mode mono-utilisateur après l’échec ou l’interruption d’une connexion. Affichez un message indiquant à l’utilisateur l’échec de la connexion.
  • Assurez-vous que les utilisateurs peuvent facilement quitter la fonctionnalité de proximité.
  • Ne recherchez pas systématiquement d’autres appareils exécutant la même application. Au lieu de cela, donnez à l’utilisateur la possibilité de rechercher des homologues à portée d’une connexion Wi-Fi.
  • N’utilisez pas la fonctionnalité de proximité si une application a besoin de mises à jour en continu sur la connexion (par exemple, sur l’utilisation de la bande passante ou la vitesse).

Rubriques associées

Pour les développeurs (HTML)
Proximité et appui
Évaluation de la proximité dans les applications et résolution des problèmes qui en découlent
Windows.Networking.Proximity namespace
StreamSocket
Pour les développeurs (XAML)
Proximité et appui
Évaluation de la proximité dans les applications et résolution des problèmes qui en découlent
Windows.Networking.Proximity namespace
StreamSocket
Exemples
Exemple de proximité

 

 

Afficher:
© 2015 Microsoft