Como detectar e enviar itens no app

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. 2. Selecione o item e clique na guia Usar. 3. Receba o item.
Captura de tela a ser definida Captura de tela a ser definida Captura de tela a ser definida

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.

  1. No callback onResume() do jogo, chame o método queryPurchases() para extrair uma lista de itens e determinar quais não foram reconhecidos.

  2. Se o jogo tiver um servidor, recomendamos que você verifique a compra no servidor usando a API Subscriptions and In-App Purchases.

  3. Se houver itens adquiridos, mas que não foram reconhecidos, confirme a compra usando o método consumeAsync() para itens consumíveis ou acknowledgePurchase() para itens não consumíveis.

  4. 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:

Uma captura de tela em que o botão "Resgatar pontos" é mostrado enquanto o jogo está em execução.

Para oferecer suporte a esse cenário usando Biblioteca Google Play Faturamento, veja as etapas abaixo:

  1. O Google Play chama o método onPurchasesUpdated() para notificar o jogo sobre um novo item pendente.

  2. Se o jogo tiver um servidor, recomendamos que você verifique a compra no servidor usando a API Subscriptions and In-App Purchases.

  3. Reconheça a compra usando o método consumeAsync() para itens consumíveis ou acknowledgePurchase() para itens não consumíveis.

  4. 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 de productId.

  • 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 de productId.

  • Consulte as práticas recomendadas abaixo para conferir se você precisa fazer outras modificações:

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.