Como posso implementar uma compra de "desativar anúncios" no meu jogo?

18

Gostaria de adicionar um serviço "sem anúncios" ao meu jogo, para que os anúncios possam ser removidos com um único pagamento. Como posso implementar isso corretamente?

Se eu apenas salvar o fato de que o serviço foi pago localmente no dispositivo, o usuário teria que pagar novamente se, de alguma forma, apagar os dados do aplicativo.

user3807592
fonte
11
A segunda parte da pergunta é muito ampla (vejo que o Byte já a editou); a primeira parte da pergunta não é clara. Você está perguntando se está tudo bem, moral ou eticamente? Ou você está perguntando como salvar o fato de o serviço ter sido pago no dispositivo?
11
Por enquanto, vou assumir que você está perguntando como, já que essa é a única maneira remotamente no tópico de interpretar a pergunta.

Respostas:

29

Se você usa as APIs de compra no aplicativo do Google Play para implementar sua compra de "desativar anúncios", isso é basicamente tratado por você. Você deseja criar um produto não consumível que os usuários possam comprar. Os produtos não consumíveis representam, essencialmente, um benefício ou desbloqueio permanente. Essas compras podem ser restauradas para telefones limpos / limpos / novos pelo usuário, para que eles nunca precisem comprar novamente a desativação do anúncio.

Esta página contém instruções detalhadas sobre a integração da API IAP ao seu jogo. Os passos são, essencialmente:

  • Adicione a biblioteca ao seu projeto e atualize seus arquivos de manifesto.
  • Ligue-se a IInAppBillingServiceuma conexão de serviço.
  • Envie e receba os dados apropriados para o serviço por meio dessa interface ( getSkuDetailspara obter a lista de produtos disponíveis, getBuyIntentiniciar a transação de compra etc.).

Você também precisará testar, via getPurchases, para ver se um usuário comprou o item 'desativar anúncios' (e, se for o caso, desative os anúncios).

Você cria o item comprável real "desativar anúncios" no console do desenvolvedor do Google Play.


fonte
Então, espere, o Google sabe com antecedência se um aplicativo tem IAPs "consumíveis" ou não? Eles deveriam realmente revelar isso na loja então; "tem compras no aplicativo" pode significar qualquer coisa.
#Registrado em
3
@ Random832 Não, acho que não. Ele só sabe se um produto é uma assinatura ou não. Você pode enviar uma solicitação "consumePurchase" para qualquer produto que não seja de assinatura. Não é o produto em si que é consumível. Eu acho que eles poderiam, em teoria, tentar escanear seu binário e procurar chamadas nessa interface, mas duvido que eles se incomodem.
11
Talvez não seja coincidência que IAP e API sejam anagramas um do outro.
ArtOfCode 18/05
Eu torço minha própria língua tentar pronunciar IAP API ...
StorymasterQ
10

Se você não estiver usando as ferramentas do Google Play, como na resposta de Josh (embora eu recomendo que você use essas ferramentas). Você teria que gerenciar essas informações sozinho.

Você deseja evitar armazenar algo localmente no dispositivo do usuário. Os usuários não querem pagar para remover anúncios por dispositivo ou por instalação.

Você precisa manter um banco de dados com usuários que pagaram. Na inicialização (sempre que eles compram a remoção de anúncios em um dispositivo diferente), seu aplicativo verifica o banco de dados; se a conta do usuário for encontrada, você desativaria os anúncios permanentemente para essa instalação. As informações da conta do usuário devem ser exclusivas para o usuário, de preferência a conta do Google usada para comprar a remoção do anúncio.

Quando um usuário compra a remoção do anúncio, você adiciona as informações da conta ao banco de dados e desativa os anúncios.

MichaelHouse
fonte