Register now for Android Dev Summit 2019!

Testar o Google Play Faturamento

Depois de implementar o Google Play Faturamento, é possível testar as compras dos seus produtos no aplicativo. Este documento contém as seguintes seções:

Preparar-se para o teste

Para preparar o teste da sua implementação do Google Play Faturamento, realize as seguintes tarefas:

  1. Publique seu app em uma faixa de teste fechada ou aberta no Google Play. Após a publicação de um app em uma faixa de teste, pode levar algumas horas até que ele fique disponível para os testadores.
  2. Garanta que cada testador aceite o teste do seu app. No URL de ativação do seu teste, os testadores receberão um link para participar e uma explicação sobre o que significa ser um testador.

É possível testar em qualquer dispositivo de hardware equipado com Android que esteja executando o Android 1.6 ou versões posteriores. É necessário que a versão mais atual do aplicativo Google Play esteja instalada no dispositivo. Para ter informações gerais sobre como configurar um dispositivo para uso no desenvolvimento de aplicativos Android, consulte Uso de dispositivos de hardware.

Fazer o teste inicial de um app do Google Play Faturamento

Testar com respostas estáticas

O Google Play Faturamento oferece uma combinação de IDs de produto reservados e respostas estáticas associadas que pode ser usada para testar sua implementação no serviço. Essas respostas permitem que você verifique se seu aplicativo está processando corretamente as respostas primárias do Google Play. É possível testar sua implementação do Google Play Faturamento usando essas respostas estáticas antes de envolver testadores e até mesmo se o app ainda não tiver sido publicado.

Para testar sua implementação com respostas estáticas, faça uma solicitação do Google Play Faturamento usando um item especial que tenha um ID de produto reservado. Cada ID de produto reservado retorna uma resposta estática específica do Google Play. Nenhum dinheiro é transferido quando você faz solicitações do Google Play Faturamento com os IDs de produto reservados. Além disso, não é possível especificar a forma de pagamento quando você faz uma solicitação de faturamento com um ID do produto reservado.

Observação: as respostas estáticas não podem ser usadas para testar assinaturas.

Não é preciso listar os produtos reservados na lista de produtos do seu aplicativo. O Google Play já conhece os IDs de produtos reservados. Além disso, não é necessário fazer upload do seu aplicativo para o Play Console a fim de realizar testes de resposta estática com os IDs de produto reservados. Basta instalar o aplicativo em um dispositivo, fazer login e fazer solicitações de faturamento usando os IDs de produto reservados.

Observação: antes, era possível testar um app fazendo upload de uma versão de "rascunho" não publicada. Esse recurso não está mais disponível. No entanto, é possível testar seu app com respostas estáticas antes mesmo de fazer upload para a Google Play Store. Para ver mais informações, consulte Testar com respostas estáticas.

Existem três IDs de produto reservados para testar respostas estáticas do Google Play Faturamento:

  • android.test.purchased

    Ao fazer uma solicitação do Google Play Faturamento com esse ID do produto, o Google Play responde como se você tivesse comprado um item. A resposta inclui uma string JSON, que contém informações falsas de compra (por exemplo, um código de pedido falso).

  • android.test.canceled

    Quando você faz uma solicitação do Google Play Faturamento com esse ID do produto, o Google Play responde como se a compra tivesse sido cancelada. Isso pode ocorrer quando um erro é encontrado no processamento do pedido, como um cartão de crédito inválido, ou quando você cancela o pedido de um usuário antes da cobrança.

  • android.test.item_unavailable

    Quando você faz uma solicitação do Google Play Faturamento com esse ID do produto, o Google Play responde como se o item que está sendo comprado não estivesse listado na lista de produtos do seu aplicativo.

Para fazer uma solicitação do Google Play Faturamento com um ID de produto reservado, crie uma solicitação REQUEST_PURCHASE normal. No entanto, em vez de usar um ID de produto real da lista de produtos do seu aplicativo, use um dos IDs de produto reservados.

Para testar o aplicativo usando os IDs de produto reservados, faça o seguinte:

  1. Modifique seu app para que ele use um dos três IDs de produto reservados durante o fluxo de compra. Para mais informações sobre como usar um ID do produto para fazer uma compra, consulte Ativar a compra de um produto no aplicativo.
  2. Instale seu aplicativo em um dispositivo equipado com Android.

    Não é possível usar o emulador para testar o Google Play Faturamento. Para fazer o teste, é preciso instalar o aplicativo em um dispositivo.

    Para saber como instalar um aplicativo em um dispositivo, consulte Executar em um dispositivo.

  3. Faça login no seu dispositivo com a conta de desenvolvedor.

    Não será necessário usar uma conta de teste se você estiver testando apenas com IDs de produto reservados.

  4. Verifique se seu dispositivo está executando uma versão compatível do app Google Play ou MyApps.

    Se o dispositivo estiver executando o Android 3.0, o Google Play Faturamento precisará da versão 5.0.12 (ou posterior) do app MyApps. Se o dispositivo estiver executando qualquer outra versão do Android, o Google Play Faturamento exigirá a versão 2.3.4 (ou posterior) do app Google Play. Para verificar a versão do app Google Play, inicie o app, abra o menu Configurações e role para baixo até ver as informações da versão.

  5. Execute seu aplicativo e faça uma compra usando um ID de produto reservado. O código em onPurchasesUpdated() precisa processar corretamente a resposta estática. Para mais informações sobre como implementar onPurchasesUpdated(), consulte Ativar a compra de um produto no aplicativo.
  6. Teste novamente com os outros IDs de produto reservados.

Observação: a realização de solicitações do Google Play Faturamento com IDs de produto reservados modifica o sistema de produção normal do Google Play. Quando você envia uma solicitação do Google Play Faturamento para um ID do produto reservado, a qualidade do serviço não é comparável ao ambiente de produção.

Testar o fluxo de compra completo

Depois de concluir o teste de resposta estática e confirmar que a verificação de assinatura está funcionando no app, você poderá testar a implementação do Google Play Faturamento fazendo compras reais no aplicativo. Isso permitirá testar a experiência completa do Google Play Faturamento, incluindo as compras reais a partir do Google Play e o fluxo de finalização de compra que os usuários terão no app.

Observação: você pode fazer testes completos do seu app publicando-o em uma faixa de teste fechada. Isso permite publicar o app na Google Play Store, mas limita a disponibilidade dele apenas aos testadores designados.

Para testar a implementação do Google Play Faturamento com compras reais no aplicativo, é preciso usar uma conta de teste. Por padrão, a única conta de teste registrada é aquela associada à sua conta de desenvolvedor. É possível registrar outras contas de teste usando o Google Play Console. Se você não tiver configurado contas de teste antes, consulte Configurar contas de teste.

Uma conta de teste poderá comprar um item na sua lista de produtos somente se o item for publicado.

Para testar a implementação do Google Play Faturamento com compras reais, siga estas etapas:

  1. Faça upload do seu aplicativo para uma faixa de teste fechada no Google Play Console.

    Observação: após o upload inicial do app, os testadores de licenças podem fazer compras a partir de versões de desenvolvimento do seu aplicativo sem precisar fazer upload para o Google Play Console. Isso permite usar versões de depuração assinadas e realizar alterações sem ter que fazer upload de uma nova versão todas as vezes.

    Observação: antes, era possível testar um aplicativo fazendo upload de uma versão de "rascunho" não publicada. Essa funcionalidade não está mais disponível. Agora, é necessário publicar o app na faixa de teste fechada ou aberta. Para saber mais, consulte Aplicativos de rascunho não são mais compatíveis.

  2. Crie os produtos no aplicativo no Google Play Console. Para mais detalhes, consulte Criar um produto de aquisição única e Criar uma assinatura.
  3. Instale seu aplicativo em um dispositivo equipado com Android. Não é possível usar um emulador para testar o Google Play Faturamento. Para saber como instalar um app em um dispositivo, consulte Executar o aplicativo em um dispositivo.
  4. Verifique se o dispositivo está executando uma versão compatível do app Google Play ou MyApps. Se o dispositivo estiver executando o Android 3.0, o Google Play Faturamento exigirá a versão 5.0.12 (ou posterior) do MyApps. Se o dispositivo estiver executando qualquer outra versão do Android, o Google Play Faturamento exigirá a versão 2.3.4 (ou posterior) do Google Play. Para saber como verificar a versão do app Google Play, consulte Atualizar o Google Play.
  5. Faça compras no seu aplicativo.

Observação: a única maneira de alterar a conta principal em um dispositivo é fazer uma redefinição para configuração original. Não se esqueça de fazer login com sua conta principal primeiro.

Testar um app do Google Play Faturamento com o usuário

Configurar contas de teste

Para configurar uma conta de testador:

  1. Use o Google Play Console para fazer upload e publicar produtos no aplicativo que você quer que os testadores possam comprar. É possível fazer upload dos itens e publicá-los no aplicativo antes de publicar o APK em si.
  2. Use o Console para desenvolvedores para criar contas de testador de licença:
    1. Navegue até Configurações > Detalhes da conta.
    2. Na seção "Teste de licença", adicione os endereços de e-mail dos testadores ao campo Contas do Gmail com acesso para testes.
    3. Salve as alterações. Os testadores podem começar a fazer compras dos seus produtos no aplicativo em até 15 minutos.

Observação: é necessário que as contas de teste estejam no dispositivo Android do testador. Se o dispositivo tiver mais de uma conta, a compra será realizada com aquela que fez o download do app. Se nenhuma das contas tiver feito o download, a compra será realizada com a primeira conta. Para confirmar qual conta está fazendo a operação, o usuário pode expandir a caixa de diálogo da compra.

Instruir os testadores a fazer compras de teste

Quando as contas de teste estiverem configuradas, será possível instruir os usuários a fazerem compras de teste. Veja abaixo alguns detalhes sobre o processo de compras de teste:

  • Testadores usarão o mesmo fluxo de compra no aplicativo que os futuros usuários.
  • Os testadores precisam fazer pelo menos duas compras, uma com a forma de pagamento "aprovado sempre" e outra com "recusado sempre". Essas formas de pagamento de teste garantem que seu app reaja de maneira adequada quando os pagamentos forem aprovados ou recusados. A Figura 1 mostra essas formas de pagamento de teste na ordem em que aparecem dentro do fluxo de compra:
    Figura 1. Opções de instrumento de teste de forma de pagamento para um usuário de teste de licença
    Essas formas de pagamento são as únicas disponíveis para os testadores licenciados. Quando elas são usadas, o fluxo de compra retorna o resultado imediatamente.
  • Não são calculados impostos para compras de teste.
  • Os testadores licenciados não são cobrados pela compra.
  • O Google Play indica uma compra de teste exibindo um aviso no centro da caixa de diálogo de compras.

Observação: se você quiser realizar várias compras de teste para o mesmo produto no aplicativo, marque o item como consumido após cada compra. Para fazer isso, chame consumeAsync().

Testar com contas reais

Ao se preparar para lançar um app que usa o Google Play Faturamento, você pode usar as opções de lançamento fechado ou aberto do Google Play para validar e carregar testes na sua implementação antes de distribuir o app para todos os seus usuários.

Com grupos de teste fechados ou abertos, os usuários podem instalar seu app pelo Google Play e testar os produtos no aplicativo. Usando qualquer forma de pagamento normal no Google Play, eles poderão fazer compras reais que resultam em cobranças efetivas nas contas deles.

Observação: se você incluir contas de licença de teste nos seus grupos de distribuição de testes fechados e abertos, esses usuários só poderão fazer compras de teste.

Testar recursos específicos de produto de aquisição única

Testar promoções no aplicativo

Se seu app for compatível com promoções internas, teste os casos de uso a seguir.

O usuário resgata código promocional no aplicativo

Se o usuário resgatar um código promocional no fluxo de compra do app, conforme descrito em Solicitações do Google Play Faturamento, o sistema invocará o método onActivityResult() da sua atividade para processar a compra. Verifique se onActivityResult() processa a compra de maneira adequada, seja o pagamento feito em dinheiro ou com um código promocional.

O usuário resgata código promocional na Google Play Store

Se o usuário resgatar um código promocional na Play Store, haverá vários fluxos de trabalho possíveis. Verifique cada um desses fluxos.

O aplicativo não está instalado

Se o usuário resgatar um código promocional de um app que não está instalado no dispositivo, a Play Store solicitará a instalação. Se o app estiver instalado, mas não atualizado, a Play Store solicitará a atualização. Teste a sequência a seguir em um dispositivo que não tenha seu app instalado.

  1. O usuário resgata um código promocional do aplicativo na Play Store. A Play Store solicita que o usuário instale seu app.
  2. O usuário instala e inicializa o aplicativo. Verifique se o app chama getPurchases() na inicialização e detecta corretamente a compra que o usuário fez com o código promocional.
O aplicativo está instalado, mas não está em execução

Se o usuário resgatar um código promocional de um app instalado no dispositivo, a Play Store solicitará que o usuário abra o app em primeiro plano. Teste a sequência a seguir em um dispositivo que tenha seu app instalado, mas não em execução:

  1. O usuário resgata um código promocional do aplicativo na Play Store. A Play Store solicita que o usuário abra seu app em primeiro plano.
  2. O usuário inicializa o aplicativo. Verifique se o app chama getPurchases() na inicialização e detecta corretamente a compra que o usuário fez com o código promocional.
O aplicativo está instalado e em execução

Se o usuário resgatar um código promocional de um app em execução no dispositivo, a Play Store notificará o app por meio de um intent PURCHASES_UPDATED. Teste a sequência a seguir:

  1. O usuário inicializa o aplicativo. Verifique se o app se registrou adequadamente para receber o intent PURCHASES_UPDATED.
  2. O usuário inicializa o app Play Store manualmente ou usando um URL gerado que inclui um código promocional e resgata o código promocional para o app. A Play Store ativa um intent PURCHASES_UPDATED. Verifique se o callback BroadcastReceiver.onReceive() do seu app é ativado para processar o intent.
  3. Seu método onReceive() precisa responder ao intent chamando getPurchases(). Verifique se o app chama esse método e se detecta corretamente a compra que o usuário fez com o código promocional.
  4. O usuário retorna ao aplicativo. Verifique se o usuário possui o item comprado.

Testar recursos específicos de assinaturas

Os fluxos de compra para produtos e assinaturas de aquisição única são semelhantes, mas as assinaturas têm outras situações, como renovações de assinatura aprovadas ou recusadas. Para testar seu app em ambas as situações, você pode usar as formas de pagamento "Instrumento de teste, aprovado sempre" e "Instrumento de teste, recusado sempre". Use esses instrumentos de pagamento para testar situações além da assinatura aprovada.

Testar renovações de assinatura

As assinaturas de teste são renovadas mais rapidamente que o normal para facilitar o processo. A tabela a seguir identifica tempos de renovação de teste para assinaturas de várias durações.

Observação: estes tempos são aproximados. É possível que ocorram algumas pequenas variações no tempo exato de um evento. Para compensar a variação, chame a API para visualizar o status atual após cada data de validade de assinatura.

Período de assinatura de produçãoTeste de renovação de assinatura
1 semana5 minutos
1 mês5 minutos
3 meses10 minutos
6 meses15 minutos
1 ano30 minutos

Observação: as assinaturas de teste serão renovadas até seis vezes.

Os recursos baseados em tempo disponíveis para assinaturas, como avaliações gratuitas, também são reduzidos nos testes. A tabela a seguir identifica os períodos de teste associados aos recursos de assinatura baseados em tempo:

RecursoPeríodo de teste
Avaliação gratuita3 minutos
Período de preço inicialIgual ao período de teste de assinatura
Período de carência (três e sete dias) 5 minutos
Suspensão de conta10 minutos
Pausa (1 mês)5 minutos
Pausa (2 meses)10 minutos
Pausa (3 meses)15 minutos

Cenários de teste de taxa de renovação

Clique em Mostrar/Ocultar para exibir vários cenários de teste que demonstram o intervalo de taxas de renovação de teste.

Cancelar uma compra de teste concluída

O Google Play acumula compras de teste concluídas para cada usuário, mas não as transfere para processamento financeiro.

As compras de teste não são canceladas automaticamente, de modo que é conveniente cancelá-las de forma manual para continuar o teste. Para tanto, abra a página do aplicativo na Play Store. Se a compra de teste que você quer cancelar for uma assinatura, também será possível usar o método cancel() da API Purchases.subscriptions.

Importante: os métodos refund() e revoke() da API Purchases.subscriptions não são compatíveis com compras de teste.

Próximas etapas

Quando terminar de testar a implementação do Google Play Faturamento, estará tudo pronto para você publicar o aplicativo no Google Play. Você pode seguir as etapas normais de preparação, assinatura e publicação no Google Play.