Obter informações de licença para apps e complementos
Este artigo demonstra como usar métodos da classe StoreContext no namespace Windows.Services.Store a fim de obter informações de licença do aplicativo atual ou um de seus complementos. Por exemplo, você pode usar essas informações para determinar se as licenças para o aplicativo ou seus complementos estão ativas ou se são licenças de avaliação.
Observação
O namespace Windows.Services.Store foi introduzido no Windows 10, versão 1607 e pode ser usada somente em projetos para Windows 10 Anniversary Edition (10.0; Compilação 14393) ou uma versão posterior no Visual Studio. Se seu aplicativo for direcionado para uma versão anterior do Windows 10, use o namespace ApplicationModel em vez do Windows.Services.Store. Para obter mais informações, consulte este artigo.
Pré-requisitos
Este exemplo tem os seguintes pré-requisitos:
- Um projeto do Visual Studio para um aplicativo da Plataforma Universal do Windows (UWP) destinado ao Windows 10 Anniversary Edition (10.0; Build 14393) ou uma versão posterior.
- Você criou um envio de aplicativo no Partner Center e esse aplicativo é publicado na Loja. Opcionalmente, é possível configurar o app para que ele não possa ser descoberto na Store enquanto você o testa. Para obter mais informações, consulte as diretrizes para teste.
- Se você quiser obter informações de licença para um complemento para o aplicativo, também deverá criar o complemento no Partner Center.
O código neste exemplo pressupõe que:
- O código seja executado no contexto de uma Página que contenha um ProgressRing denominado
workingProgressRing
e um TextBlock denominadotextBlock
. Esses objetos sejam usados para indicar que uma operação assíncrona está ocorrendo e exibir mensagens de saída, respectivamente. - O arquivo de código tenha uma instrução using para o namespace Windows.Services.Store.
- O app seja um app de usuário único executado somente no contexto do usuário que o iniciou. Para obter mais informações, consulte Compras no aplicativo e avaliações.
Observação
Se você tiver um aplicativo da área de trabalho que utilize o Desktop Bridge, talvez seja necessário adicionar outro código não mostrado neste exemplo para configurar o objeto StoreContext. Para obter mais informações, consulte Usando a classe StoreContext em um aplicativo da área de trabalho que usa o Desktop Bridge.
Exemplo de código
Para obter informações de licença para o aplicativo atual, use o método GetAppLicenseAsync. Trata-se de um método assíncrono que retorna um objeto StoreAppLicense que fornece informações de licença do aplicativo, inclusive propriedades que indicam se atualmente o usuário tem uma licença válida para usar o aplicativo (IsActive) e se a licença se destina a uma versão de avaliação (IsTrial).
Para acessar as licenças para complementos duráveis do app atual que o usuário tem o direito de usar, use a propriedade AddOnLicenses do objeto StoreAppLicense. Essa propriedade retorna uma coleção de objetos StoreLicense que representam as licenças do complemento.
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.
}
}
Para obter um app de exemplo completo, consulte o exemplo da Store.
Tópicos relacionados
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de