Veja nesta página como detectar e enviar produtos no app após a compra com Pontos do Play Points no app Google Play.
Depois que os usuários resgatarem os Pontos do Play Points em um produto no app Google Play, os itens vão ser enviados imediatamente no jogo. Veja abaixo como um usuário compra itens com Pontos do Play Points.
1. Clique em Play Points. | 1. Clique na guia Usar para ver os itens. | 2. Selecione um item e clique em Usar pontos para concluir a compra. | 3. Receba o item. |
No exemplo, o jogo não está em execução enquanto o produto é comprado. Os usuários também podem trocar Pontos do Play Points por produtos quando o jogo não está instalado no dispositivo. Por isso, é necessário que o jogo seja projetado para lidar com o envio de itens no app fora da loja.
Antes de começar
Antes de detectar e enviar um produto no app, é preciso criar o produto e as promoções do Play Points.
Requisitos de envio
Ao enviar produtos no app no jogo usando uma promoção do Play Points, você precisa seguir os requisitos desta seção.
Tempo de entrega
Quando um jogador troca os Pontos do Play Points por um produto no app, é necessário enviar o item imediatamente sem que o jogador precise reiniciar o jogo. Nos casos em que o conteúdo do jogo precisa ser concluído com antecedência, como a conclusão de um tutorial, o item precisa ser entregue imediatamente depois.
Mensagem de envio
Quando um usuário retorna ao jogo depois de comprar um produto fora dele, é necessário exibir uma confirmação de que o produto foi concedido com sucesso no jogo. A mensagem precisa ser exibida como uma caixa de diálogo pop-up ou uma mensagem no jogo. Os usuários não precisam realizar outras etapas para receber o item.
Este é o formato de mensagem necessário:
Uma mensagem clara de que o item foi recebido.
Refira-se ao nome do item de maneira clara e aos "Pontos do Play Points" para garantir que os usuários possam distinguir o conteúdo de outros que receberam.
O nome do item também precisa incluir a denominação correta se houver itens semelhantes com várias denominações.
A caixa de diálogo pop-up, a mensagem ou a notificação no jogo precisa estar visível ao usuário até que ele clique em uma confirmação como Continuar ou OK. Não pode haver um botão de cancelamento, já que essa mensagem tem como único objetivo notificar os usuários sobre o item recebido no jogo. Se não houver um botão de confirmação, a mensagem vai ficar visível aos usuários por pelo menos três segundos antes de desaparecer para garantir que eles saibam que receberam o item.
Veja um exemplo de mensagem:
"Item recebido. Você acabou de ganhar 100 Gemas com Pontos do Play Points. Continuar."
Os usuários vão ver uma animação ou uma confirmação visual exibindo o aumento no saldo da moeda do jogo. Se for um item durável ou consumível no jogo, os usuários vão ser direcionados para onde o item foi desbloqueado ou está disponível no jogo.
Detectar itens recebidos fora do jogo
Caso seu jogo use a Biblioteca Google Play Faturamento, faça as mudanças abaixo para detectar produtos no app que são recebidos fora do jogo.
No callback
onResume()
do jogo, chame o métodoqueryPurchases()
para extrair uma lista de itens e determinar quais não foram reconhecidos.Se o jogo tiver um servidor, recomendamos que você verifique a compra no servidor usando a API Subscriptions and In-App Purchases.
Se houver itens adquiridos, mas que não foram reconhecidos, confirme a compra usando o método
consumeAsync()
para itens consumíveis ouacknowledgePurchase()
para itens não consumíveis.Conceda a titularidade do item comprado dentro do jogo.
Detectar itens recebidos no modo de tela dividida
Se o jogo oferecer suporte ao modo de várias janelas, os usuários vão poder resgatar os Pontos do Play Points e receber o item enquanto executam o app Play Store e o jogo ao mesmo tempo. Veja um exemplo na captura de tela:
Para oferecer suporte a esse cenário usando Biblioteca Google Play Faturamento, veja as etapas abaixo:
O Google Play chama o método
onPurchasesUpdated()
para notificar o jogo sobre um novo item pendente.Se o jogo tiver um servidor, recomendamos que você verifique a compra no servidor usando a API Subscriptions and In-App Purchases.
Reconheça a compra usando o método
consumeAsync()
para itens consumíveis ouacknowledgePurchase()
para itens não consumíveis.Conceda a titularidade do item comprado dentro do jogo.
Exibir uma confirmação de envio
Quando os usuários resgatam os Pontos do Play Points e recebem um item de troca, eles esperam que o jogo mostre uma mensagem ou use algum tipo de notificação para os avisar de que o jogo recebeu e processou corretamente o item. Veja algumas opções de confirmação de envio:
Mostrar um pop-up no jogo.
Enviar a mensagem a uma caixa de mensagens no jogo e informar claramente que há uma nova mensagem.
Usar uma mensagem de notificação do SO.
É possível que o jogo esteja em qualquer estado quando o item promocional for recebido. Pode ser que ele nem esteja instalado no dispositivo. Você precisa detectar itens promocionais, independente do estado em que o jogo está quando o item é recebido. No entanto, há algumas exceções em que pode ser aceitável não notificar imediatamente o usuário de que o item foi recebido. Exemplo:
Durante a ação do jogo, exibir uma mensagem pode distrair o usuário. Nesse caso, envie a notificação após o término da ação.
Durante cenas, em que a exibição de uma mensagem pode distrair o usuário. Nesse caso, notifique o usuário após o término da cena.
Durante o tutorial inicial e as partes da configuração do usuário no jogo. Recomendamos que você notifique os novos usuários sobre o prêmio imediatamente depois que eles abrirem o jogo ou durante a configuração inicial do usuário. No entanto, é aceitável aguardar até que a sequência principal do jogo esteja disponível para enviar a notificação.
Caso o app tenha vários caracteres ou contas em que o item possa ser aplicado, peça ao usuário para selecionar qual conta vai receber os itens promocionais.
Pense nos usuários ao decidir quando e como os notificar sobre itens promocionais. Sempre que um usuário não recebe uma notificação imediatamente, ele pode ficar confuso, parar de jogar, entrar em contato com o suporte ao usuário ou reclamar nas mídias sociais.
Atualizações de mecanismos de jogos específicos
Veja algumas considerações sobre mecanismos de jogos específicos:
Se o jogo tiver sido criado com o Unity, recomendamos que você verifique se a implementação de compras no app que você está usando já oferece suporte a promoções do Play Points.
Se o jogo tiver sido criado com Cocos2d-x ou Unreal Engine (C/C++), você provavelmente vai precisar criar o código JNI que chama APIs Java no seu código C/C++.
Práticas recomendadas do lado do servidor
Esta seção contém práticas recomendadas do lado do servidor para promoções do Play Points:
Se você chamar
Purchases.products: get
no seu servidor, verifique se precisa processar itens de recompensa do Google Play e outros produtos no aplicativo separadamente com base nos valores deproductId
.Se você usar
Inappproducts: list
no seu servidor, verifique se precisa separar os itens de recompensa do Play Points de outros produtos no app por valores deproductId
.Consulte as práticas recomendadas abaixo para conferir se você precisa fazer outras modificações:
- Referência:
- Implementar a verificação de assinatura do lado do servidor
- Verifique se os valores
purchaseToken
eorderId
são exclusivos e não foram usados antes.
Solução de problemas
Esta seção contém recomendações para cenários que podem resultar em dúvidas dos clientes.
Várias contas de usuários
Se um usuário tiver várias Contas do Google no dispositivo e resgatar os Pontos do
Play Points na conta errada, o Google não vai poder transferir os itens para as outras
contas. Da mesma forma, o app não pode transferir o item chamando o
método getPurchases()
. Nesse cenário, forneça manualmente os
itens no app ao usuário usando operações de suporte ao cliente.
Itens atrasados ou não enviados
Se os jogadores tiverem itens de prêmios atrasados ou não enviados, consulte o guia de solução de problemas para compras no app na documentação de ajuda do Google Play.