Participe do evento ⁠#Android11: apresentação de lançamento da versão Beta no dia 3 de junho.

Payload do desenvolvedor

Historicamente, o payload do desenvolvedor tem sido usado para várias finalidades, incluindo a prevenção de fraudes e a atribuição de compras ao usuário correto. Com a versão 2.2 da Google Play Billing Library, os casos de uso previstos que anteriormente dependiam do payload do desenvolvedor agora são completamente compatíveis com outras partes da biblioteca.

Com essa compatibilidade, o uso do payload do desenvolvedor foi suspenso a partir da versão 2.2 da Google Play Billing Library. Os métodos associados ao payload do desenvolvedor foram suspensos e serão removidos em uma versão futura da biblioteca. Seu app pode continuar a recuperar o payload do desenvolvedor para compras realizadas usando versões anteriores da biblioteca ou por meio da AIDL.

Para ver uma lista detalhada das mudanças, consulte as notas da versão 2.2 da Google Play Billing Library.

Verificação de compra

Para garantir que as compras sejam autênticas e não falsificadas ou repetidas, o Google recomenda usar o token de compra (disponível no método getPurchaseToken() no objeto Purchase) junto com as APIs Google Play Developer. Para ver mais informações, consulte Combater fraude e abuso.

Atribuição de compra

Muitos apps, principalmente de jogos, precisam garantir que a compra seja atribuída corretamente ao personagem/avatar no jogo ou ao perfil do usuário no app. A partir da versão 2.2 da Google Play Billing Library, seu app pode transmitir identificadores ofuscados de perfil e conta para o Google ao iniciar a caixa de diálogo de compra e recebê-los de volta ao recuperar uma compra.

Use os parâmetros setObfuscatedAccountId() e setObfuscatedProfileId() em BillingFlowParams e recupere-os usando o método getAccountIdentifiers() no objeto Purchase.

Associar metadados a uma compra

O Google recomenda o armazenamento de metadados sobre uma compra em um servidor de back-end seguro gerenciado por você. Os metadados da compra precisam ser associados ao token de compra recebido ao usar o método getPurchaseToken no objeto Purchase. Esses dados podem ser mantidos pela transferência do token de compra e dos metadados para seu back-end quando seu PurchasesUpdatedListener for chamado após uma compra corretamente realizada.

Para garantir que os metadados sejam associados em casos de interrupções no fluxo de compras, o Google recomenda que os metadados sejam armazenados no servidor de back-end antes de iniciar a caixa de diálogo de compra e que a compra seja associada ao ID da conta do usuário, ao SKU comprado e ao carimbo de data/hora atual.

Se o fluxo de compras for interrompido antes de PurchasesUpdatedListener ser chamado, o app descobrirá a compra assim que for retomado e chamar BillingClient.queryPurchases(). Você pode enviar os valores recuperados dos métodos getPurchaseTime(), getSku() e getPurchaseToken() do objeto Purchase para que seu servidor de back-end procure metadados, associe os metadados ao token de compra e continue processando a compra.