Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article montre comment utiliser des méthodes de la classe StoreContext dans l’espace de noms Windows.Services.Store pour obtenir des informations de licence pour l’application actuelle et ses modules complémentaires. Par exemple, vous pouvez utiliser ces informations pour déterminer si les licences de l’application ou de ses modules complémentaires sont actives ou si elles sont des licences d’évaluation.
Remarque
L’espace de noms Windows.Services.Store a été introduit dans Windows 10, version 1607 et ne peut être utilisé que dans les projets qui ciblent Windows 10 Édition anniversaire (10.0 ; Build 14393) ou une version ultérieure dans Visual Studio. Si votre application cible une version antérieure de Windows 10, vous devez utiliser l’espace de noms Windows.ApplicationModel.Store au lieu de l’espace de noms Windows.Services.Store. Pour plus d’informations, consultez cet article.
Conditions préalables
Cet exemple présente les conditions préalables suivantes :
- Projet Visual Studio pour une application de plateforme Windows universelle (UWP) qui cible Édition anniversaire Windows 10 (10.0 ; Build 14393) ou une version ultérieure.
- Vous avez créé une soumission d’application dans l’Espace partenaires et cette application est publiée dans le Windows Store. Vous pouvez éventuellement configurer l’application afin qu’elle ne soit pas détectable dans le Windows Store pendant que vous la testez. Pour plus d’informations, consultez notre guide de test .
- Si vous souhaitez obtenir des informations de licence pour un module complémentaire pour l’application, vous devez également créer le module complémentaire dans l’Espace partenaires.
Le code de cet exemple suppose :
- Le code s’exécute dans le contexte d’une Page qui contient un ProgressRing nommé
workingProgressRing
et un TextBlock nommétextBlock
. Ces objets sont utilisés pour indiquer qu’une opération asynchrone se produit et pour afficher les messages de sortie, respectivement. - Le fichier de code a un avec une instruction pour l'espace de noms Windows.Services.Store.
- L’application est une application mono-utilisateur qui s’exécute uniquement dans le contexte de l’utilisateur qui a lancé l’application. Pour plus d’informations, consultez achats intégrés à l'application et versions d'essai.
Remarque
Si vous disposez d’une application de bureau qui utilise le Desktop Bridge, vous devrez peut-être ajouter du code supplémentaire non illustré dans cet exemple pour configurer l’objet StoreContext. Pour plus d’informations, consultez Utilisation de la classe StoreContext dans une application de bureau qui utilise desktop Bridge.
Exemple de code
Pour obtenir des informations de licence pour l’application actuelle, utilisez la méthode GetAppLicenseAsync. Il s’agit d’une méthode asynchrone qui retourne un objet StoreAppLicense qui fournit des informations de licence pour l’application, y compris les propriétés qui indiquent si l’utilisateur dispose actuellement d’une licence valide pour utiliser l’application (IsActive) et si la licence concerne une version d’évaluation (IsTrial).
Pour accéder aux licences des extensions durables de l’application actuelle pour laquelle l’utilisateur a le droit d’utiliser, utilisez la propriété AddOnLicenses de l’objet StoreAppLicense. Cette propriété retourne une collection d’objets StoreLicense qui représentent les licences de module complémentaire.
private StoreContext context = null;
public async void GetLicenseInfo()
{
if (context == null)
{
context = StoreContext.GetDefault();
// If your app is a desktop app that uses the Desktop Bridge, you
// may need additional code to configure the StoreContext object.
// For more info, see https://aka.ms/storecontext-for-desktop.
}
workingProgressRing.IsActive = true;
StoreAppLicense appLicense = await context.GetAppLicenseAsync();
workingProgressRing.IsActive = false;
if (appLicense == null)
{
textBlock.Text = "An error occurred while retrieving the license.";
return;
}
// Use members of the appLicense object to access license info...
// Access the valid licenses for durable add-ons for this app.
foreach (KeyValuePair<string, StoreLicense> item in appLicense.AddOnLicenses)
{
StoreLicense addOnLicense = item.Value;
// Use members of the addOnLicense object to access license info
// for the add-on.
}
}
Pour obtenir un exemple d’application complet, consultez l’exemple Store.
Rubriques connexes
- Achats dans l'application et essais gratuits
- Obtenir des informations sur le produit pour les applications et les modules complémentaires
- Activer les achats intégrés pour les applications et les modules complémentaires
- Activer les achats de consommables additionnels
- Implémenter une version d’évaluation de votre application
- Échantillon de magasin