Démarrage rapide : partage de contenu (HTML)

[ Cet article est destiné aux développeurs de Windows 8.x et Windows Phone 8.x qui créent des applications Windows Runtime. Si vous développez une application pour Windows 10, voir la Documentation ]

Les applications sont plébiscitées lorsqu’elles permettent aux utilisateurs de faire part de leurs activités avec leur famille et leurs amis. Les applications qui permettent aux utilisateurs de partager du contenu ont souvent tendance à voir leur popularité augmenter, ce qui encourage les utilisateurs à les utiliser plus souvent.

Pour savoir comment utiliser ces API, lisez la suite. Si vous préférez découvrir comment votre application peut recevoir du contenu partagé, voir Démarrage rapide : réception de contenu partagé.

Objectif: Après avoir parcouru ce document Démarrage rapide, vous devriez en savoir plus sur la façon de partager du contenu.

Prérequis

  • Vous devez être familiarisé avec Visual Studio et ses modèles.
  • Vous devez être familiarisé avec le développement en HTML et JavaScript.

Instructions

Choix de formats de données

L’objet DataPackage est à la base de toute opération de partage. Cet objet contient les données que l’utilisateur souhaite partager. DataPackage peut contenir différents types de contenu, à savoir :

  • Texte brut
  • URI (Uniform Resource Identifiers)
  • HTML
  • Texte mis en forme
  • Bitmaps
  • Fichiers
  • Données définies par le développeur

Un objet DataPackage peut contenir un ou plusieurs de ces formats, dans n’importe quelle combinaison. De plus, DataPackage peut contenir un délégué (fonction appelée lorsque l’application réceptrice demande des données). Nous vous recommandons d’utiliser un délégué chaque fois que les données que souhaite partager un utilisateur font appel à des ressources importantes. Un délégué peut en effet aider votre application à partager plus efficacement les données.

Choix de propriétés

Lorsque vous créez un package de données en vue de le partager, vous avez la possibilité de définir diverses propriétés qui fournissent des informations supplémentaires sur le contenu partagé. Ces propriétés contribuent à améliorer l’expérience utilisateur dans les applications cibles. Par exemple, un titre et une description permettent d’en savoir plus sur le contenu partagé par l’utilisateur, ce qui peut s’avérer utile lorsque ce contenu est partagé avec plusieurs applications. De même, un lien vers une page Web ou une miniature ajoutée à une image partagée peut servir de référence visuelle à l’utilisateur. Pour plus d’informations sur les propriétés que vous pouvez utiliser, consultez notre documentation sur DataPackage.DataPackagePropertySet.

Configuration de votre source de partage

Pour configurer votre application en tant qu’application source de partage, vous devez obtenir au préalable l’instance de la classe DataTransferManager qui a été affectée à la fenêtre active.

var dataTransferManager = Windows.ApplicationModel.DataTransfer.DataTransferManager.getForCurrentView();

Cette classe prend en charge un événement DataRequested, qui est déclenché quand un utilisateur souhaite appeler l’icône Partager. Dans une application du Windows Store, cela se produit automatiquement quand l’utilisateur appelle l’icône Partager. Si vous développez une application pour Windows Phone, aucune icône Partager n’est intégrée, donc vous devez ajouter un contrôle sur lequel l’utilisateur peut appuyer pour déclencher le gestionnaire.

dataTransferManager.addEventListener("datarequested", function (e) {
    // Code to handle event goes here.
});

L’exemple ci-dessus inscrit un gestionnaire d’événements qui est appelé chaque fois qu’un événement datarequested est déclenché. Le gestionnaire reçoit un objet DataRequest qui est utilisé par votre application pour configurer les données que l’utilisateur veut partager avec l’application source de partage.

Tout contenu que vous partagez est doté de deux propriétés : un titre et le contenu lui-même. De plus, nous vous recommandons également d’inclure une propriété de description pour plus de clarté.

Le code suivant repose sur les exemples précédents et montre comment partager du texte brut avec une application cible.

function registerForShare() {
    var dataTransferManager = Windows.ApplicationModel.DataTransfer.DataTransferManager.getForCurrentView();
    dataTransferManager.addEventListener("datarequested", shareTextHandler);
}

function shareTextHandler(e) {
    var request = e.request;
    request.data.properties.title = "Share Text Example";
    request.data.properties.description = "Demonstrates how to share text.";
    request.data.setText("Hello World!");
}

Partage et délégués

Il n’est pas toujours souhaitable de préparer les données aussitôt que l’utilisateur appelle le partage. Par exemple, si votre application prend en charge différents formats de données, il n’est pas efficace de créer tous ces formats immédiatement. Il vaut mieux attendre que l’application cible spécifie le format voulu pour générer uniquement les données demandées. Pour ce faire, vous configurez l’objet DataPackage pour ne renseigner que les données nécessaires via une demande de délégué.

request.data.setDataProvider(Windows.ApplicationModel.DataTransfer.StandardDataFormats.bitmap, onDeferredImageRequested);

Pour plus de détails sur ce type de partage, voir Comment partager des fichiers.

Invoquer le volet de partage par programme

Une fois votre contenu configuré pour le partage, vous êtes prêt à commencer. L’utilisateur peut alors simplement sélectionner l’application pour recevoir le contenu. Dans les cas où l’utilisation de l’icône n’est pas la meilleure solution, par exemple pour partager votre meilleur score à un jeu, vous pouvez également lancer l’icône Partager par programme.

Remarque  

La Charms bar n’existe pas sur Windows Phone 8.1. Vous devez donc inclure l’option de partage par programmation. Celle-ci peut être accessible en permanence dans une barre d’application ou associée à un contrôle spécifique dans une page particulière.

function showShareUI() {
    Windows.ApplicationModel.DataTransfer.DataTransferManager.showShareUI();
}

Gestion des erreurs et d’autres problèmes

Dans la plupart des cas, fournir un contenu est un processus simple. Toutefois, il existe des situations où votre application peut être dans l’incapacité de partager. Pour vous aider à gérer ces situations sur Windows 8.1, l’objet DataRequest prend en charge une méthode FailWithDisplayText. Utilisez cette méthode pour afficher un message de texte à destination de l’utilisateur si celui-ci ne peut pas partager depuis un mode particulier ou doit encore procéder à quelques étapes avant de partager. Par exemple, l’application peut avoir besoin que l’utilisateur sélectionne du contenu à partager alors que l’utilisateur ne l’a pas fait.

Récapitulatif et étapes suivantes

Vous devez désormais bien comprendre comment fonctionne le partage.

Pour en savoir plus ou pour obtenir des exemples plus précis sur la façon d’ajouter la fonctionnalité de partage à votre application, consultez les sections suivantes :

Rubriques associées

Sélection des formats de données pour le partage

Recommandations et liste de vérification sur le partage de contenu

Démarrage rapide : réception de contenu partagé