Recommandations en matière de données d’utilisation de connexion

Applies to Windows and Windows Phone

Tenez compte des recommandations suivantes lors de l’utilisation des API d’informations réseau de Windows Runtime dans votre application connectée.

Modification du comportement de l’application en fonction du type de coût réseau

Même si Windows 8 fournit automatiquement des options de connectivité quand un appareil détecte de nouveaux réseaux, des transitions transparentes entre les connexions existantes et les nouveaux réseaux ne sont cependant pas garanties pour chaque opération. Une application du Windows Store qui se connecte à des destinations sur le Web doit utiliser des API d’informations réseau pour obtenir des informations de coût et des événements de changement de statut pour le réseau sur lequel elle échange des données.

Utilisez la valeur NetworkCostType indiquée pour chaque connexion pour modifier son comportement de façon approprié :

Type de coût réseauComportement recommandé de l’application

Non restreint

  • Utilisez la connexion réseau librement.

Variable/Approchant le plafond de données

  • Retardez ou planifiez les opérations dont la priorité est plus faible jusqu’à ce qu’un réseau sans restriction soit disponible.
  • Lors de la transmission de contenu à un utilisateur, comme un film ou une vidéo, utilisez un débit inférieur. Par exemple, si votre application diffuse de la vidéo en qualité HD, diffusez en définition standard sur une connexion réseau limitée.
  • Utilisez moins de bande passante. Par exemple, en basculant vers le mode en-tête uniquement lors de la réception de messages électroniques.
  • Utilisez moins fréquemment le réseau. Une solution consiste par exemple à réduire la fréquence des opérations d’interrogation pour la syndication des nouveaux flux, l’actualisation du contenu pour un site Web ou l’obtention de notifications Web.
  • Autorisez les utilisateurs à choisir explicitement la diffusion de vidéo HD, la récupération des messages électroniques entiers, le téléchargement de mises à jour à priorité faibles, etc... Ne faites pas tout cela par défaut.
  • Demandez explicitement l’autorisation de l’utilisateur avant d’utiliser le réseau.

Inconnu

  • Si le type de coût réseau n’est pas connu, considérez qu’il s’agit d’un réseau non restreint.

 

Maintien d’une connexion fiable au Web

L’agilité de votre application sur le réseau se manifeste par le maintien d’un niveau de qualité constant lors de l’interfaçage avec le Web. Pour cela, l’application doit réutiliser les informations fournies par le profil de connexion et les notifications de changement de statut des réseaux, et identifier des réseaux disponibles qui répondent aux conditions requises actuelles.

Toutes les applications du Windows Store doivent procéder comme indiqué ci-dessous pour prendre en charge la connectivité Web :

  1. Appeler GetInternetConnectionProfile pour vérifier le coût de connexion à Internet.
  2. S’inscrire aux notifications de changement de statut des réseaux pour la connexion.
  3. Initialiser l’opération réseau sur la connexion.
  4. Quand une notification de changement de statut réseau est reçue, les options de coût/connectivité disponibles peuvent avoir changé. L’application doit :
    • Vérifier le coût de connexion à Internet. Si la caractéristique du coût a changé (non restreint à limité ou limité à non restreint), réessayez l’opération réseau. Windows utilisera automatiquement le réseau à coût le plus faible disponible.
    • Si la caractéristique du coût de la connexion à Internet n’a pas changé, mais qu’une notification liée au coût est reçue (par exemple consommé à 80 %, coût variable, itinérance, etc.), adaptez le comportement comme indiqué dans le tableau NetworkCostType ci-dessus.
  5. Si une erreur indique que la connexion a été perdue, l’application doit :
    • Vérifier le coût de connexion à Internet par l’intermédiaire d’un autre réseau disponible. Suivre les recommandations fournies dans le tableau NetworkCostType ci-dessus.
    • Recommencer l’opération ; en cas d’échec attendre la prochaine notification NetworkStatusChange.

Débogage et résolution des problèmes des applications connectées

Les problèmes réseau peuvent engendrer le blocage ou l’arrêt des applications, ainsi que l’affichage de boîtes de dialogue inertes et de messages d’erreur déroutants pour les utilisateurs. Le débogage de ces erreurs peut s’avérer difficile car celles-ci peuvent se produire n’importe où dans la pile du réseau.

Toutes les applications du Windows Store utilisant le réseau soit directement (à l’aide des sockets) soit indirectement (à l’aide d’une API utilisant le réseau) sont concernées. L’idéal serait que le système d’exploitation puisse automatiquement gérer les conditions d’erreur au nom du développeur et, quand cela ne fonctionne pas, que les applications soient préparées à traiter les erreurs.

Toutes les applications connectées du Windows Store doivent être en mesure d’effectuer les actions suivantes :

  • En cas d’erreur de réseau, réessayer l’opération. Par exemple, ne renouvelez pas l’opération en cas d’échec de l’authentification, mais retentez-la si la connexion au réseau avec lequel vous communiquiez s’est interrompue car un autre réseau était peut-être disponible. De nombreuses erreurs peuvent disparaître si l’opération est réexécutée. Lors d’un nouvel essai, veillez à suivre les recommandations fournies précédemment dans Comportement en réponse aux changements d’état du réseau.
  • Utilisez des API asynchrones afin d’empêcher la présence d’appels de blocage sur le thread d’interface utilisateur. Autrement dit, si l’exécution d’une opération réseau est très longue ou qu’une erreur est signalée, votre application ne doit pas se bloquer. N’émulez pas un comportement synchrone sur le comportement asynchrone de Windows Runtime.
  • Testez votre application dans différents environnements réseau en essayant plusieurs opérations (déconnexion de votre réseau ou nouvelle connexion à votre réseau, interruption ou reprise de la connexion, ou encore changement de réseau).
  • Lorsque vous testez votre application et détectez des erreurs qui ne sont pas évidentes, activez le traçage ETW.

Considérations de sécurité

L’article suivant fournit des indications pour l’écriture de code C++ sécurisé.

Rubriques connexes

Développement d’applications connectées (livre blanc)
Exemple d’informations réseau
Pour les développeurs (applications Windows Runtime en JavaScript et HTML)
Gestion de l’état et des coûts de connexion
Pour les développeurs (applications Windows Runtime en C#/VB/C++ et XAML)
Gestion de l’état et des coûts de connexion

 

 

Afficher:
© 2014 Microsoft