Habilitar compras de produto no aplicativo (HTML)
[ Este artigo destina-se aos desenvolvedores do Windows 8.x e do Windows Phone 8.x que escrevem aplicativos do Windows Runtime. Se você estiver desenvolvendo para o Windows 10, consulte documentação mais recente]
Seu aplicativo pode oferecer produtos e recursos que os clientes podem comprar diretamente do aplicativo. Veja a seguir como habilitar essas ofertas em seu aplicativo.
Observe que um cliente só poderá comprar um produto no aplicativo se tiver comprado a versão completa do seu aplicativo.
O que você precisa saber
Tecnologias
- Windows Runtime
- Windows.ApplicationModel.Store
Pré-requisitos
- Um aplicativo do Tempo de Execução do Windows no qual devem ser adicionados os recursos que os clientes podem comprar.
Instruções
Etapa 1: Inicie as informações de licença do aplicativo
Quando seu aplicativo estiver inicializando, obtenha o objeto LicenseInformation para seu aplicativo inicializando o CurrentApp ou CurrentAppSimulator para habilitar compras de produto no aplicativo.
function appInit()
{
// some app initialization functions
// Get current product object
// Execute only one of these statements.
// The next line is commented out for testing.
// currentApp = Windows.ApplicationModel.Store.CurrentApp;
// The next line is commented out for production/release.
currentApp = Windows.ApplicationModel.Store.CurrentAppSimulator;
// We should have either a real or a simulated CurrentProduct object here.
// Get the license info
licenseInformation = currentApp.licenseInformation;
// other app initializations function
}
Observação Ao codificar e testar o novo produto no aplicativo pela primeira vez, use o objeto CurrentAppSimulator em vez do objeto CurrentApp. Dessa forma, é possível verificar a lógica do licenciamento usando chamadas simuladas ao servidor de licenças em vez de chamar o servidor ativo. Para isso, você precisa personalizar o arquivo chamado "WindowsStoreProxy.xml" em %userprofile%\AppData\local\packages\<package name>\LocalState\Microsoft\Windows Store\ApiData. O simulador do Microsoft Visual Studio cria esse arquivo quando você executa seu aplicativo pela primeira vez, mas também é possível carregar um arquivo personalizado no tempo de execução. Para saber mais, consulte a documentação do CurrentAppSimulator.
Etapa 2: Adicione as ofertas de produto no aplicativo ao seu aplicativo
Para cada recurso a ser disponibilizado por meio de uma transação de produto no aplicativo, crie uma oferta e adicione-a ao aplicativo.
Importante Você deve adicionar todos os produtos no aplicativo que deseja apresentar para seus clientes antes de enviá-lo para a Loja. Para adicionar novos produtos no aplicativo depois, você deve atualizar o aplicativo e reenviar uma nova versão.
Crie um token de oferta no aplicativo
Você pode identificar cada produto no aplicativo em seu aplicativo por um token. Esse token é uma cadeia de caracteres que você define e usa no aplicativo e na Loja para identificar um produto no aplicativo específico. Dê (ao aplicativo) um nome exclusivo e significativo, para poder identificar o recurso correto que ele representa durante a codificação. Este são alguns exemplos de nomes:
- "SpaceMissionLevel4"
- "ContosoCloudSave"
- "RainbowThemePack".
Codifique o recurso em um bloco de condições
Coloque o código de cada recurso associado a um produto no aplicativo em um bloco de condições que testa se o cliente tem uma licença para usar esse recurso.
Veja um exemplo que mostra como é possível codificar um recurso de produto chamado featureName em um bloco de condições específico da licença. A cadeia de caracteres, featureName, é o token que identifica esse produto de forma exclusiva no aplicativo e também é usada para identificá-lo na Loja.
if (licenseInformation.productLicenses.lookup("featureName").isActive) { // the customer can access this feature } else { // the customer can't access this feature }
Adicione a interface do usuário de compra para este recurso
Seu aplicativo também deve permitir que os clientes comprem o produto ou o recurso proposto para produto no aplicativo. O jeito de comprá-los é diferente da maneira como os clientes compraram o aplicativo completo na Loja.
Veja aqui como testar se o cliente já possui um produto no aplicativo e, se não tiver, se ele pode visualizar a caixa de diálogo para fazer a compra. Substitua o comentário "mostrar a caixa de diálogo de compra" pelo código personalizado da caixa de diálogo de compra (como uma página com um botão "Compre este aplicativo!").
function buyFeature1() { if (!licenseInformation.productLicenses.lookup("featureName").isActive) { // The customer doesn't own this feature, so // show the purchase dialog. // note: currentApp is a reference to CurrentAppSimulator from a previous declaration currentApp.requestProductPurchaseAsync("featureName", false).then( function () { //Check the license state to determine if the in-app purchase was successful. }, function () { // The in-app purchase was not completed because // there was an error. }); } else { // The customer already owns this feature. } }
Etapa 3: Mude o código de teste para as chamadas finais
Esta etapa é fácil: basta mudar todas as referências de CurrentAppSimulator para CurrentApp no código do aplicativo. Não é mais preciso fornecer o arquivo WindowsStoreProxy.xml, então, remova-o do caminho do aplicativo (embora você possa salvá-lo para referência ao configurar a oferta no aplicativo, na próxima etapa).
Etapa 4: Configurar o produto no aplicativo na Loja
Antes de enviar o aplicativo para a Loja, adicione todos os produtos no aplicativo ao fluxo de trabalho Enviar um aplicativo. Aqui, você especifica o token, o preço e o tempo de vida de um produto no aplicativo. Lembre-se de configurá-lo com a mesma configuração que você definiu no WindowsStoreProxy.xml durante o teste.
Etapa 5: Descreva o produto no aplicativo na Loja
Depois de carregar o pacote do aplicativo na Loja, você pode colocar a descrição de cada produto no aplicativo na página Descrição ao enviar o aplicativo. Se o aplicativo for compatível com mais de um idioma, descreva cada produto no aplicativo em todos os idiomas compatíveis.
Redija uma descrição clara e específica, que informe com exatidão qual é o recurso que o produto no aplicativo agrega ao aplicativo. Se não tiver muito claro qual é o valor do produto que vai além daquilo que o próprio aplicativo fornece, será difícil vendê-lo. Para saber de mais detalhes sobre partes específicas da descrição de um produto no aplicativo, consulte Descrição do aplicativo.
Comentários
Se você tiver interesse em fornecer a seus clientes opções de produto no aplicativo consumível, continue com o tópico Habilitar compras de produto no aplicativo consumível.
Se você precisar usar recibos para verificar se o usuário comprou um produto no aplicativo, examine Usando recibos para verificar compras de produto.