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

Práticas recomendadas de segurança

Ao criar a implementação do Google Play Faturamento, siga as práticas recomendadas de segurança abordadas neste documento. Essas diretrizes são recomendadas para quem usa o Google Play Faturamento.

Validar detalhes da compra

Para validar com segurança os detalhes da compra, você precisa usar combinações da biblioteca do Google Play Faturamento, da API Google Play Developer e Notificações do desenvolvedor em tempo real. É altamente recomendável que você valide os detalhes de compra em um servidor confiável. No entanto, se não for possível usar um servidor, você ainda poderá validar esses detalhes no seu app em um dispositivo.

Validar em um servidor

Ao implementar a lógica de verificação de assinatura em um servidor, você dificulta a engenharia reversa do seu arquivo APK por parte de invasores. Isso preserva a integridade das assinaturas que sua lógica verifica.

Para validar os detalhes da compra em um servidor confiável, realize as etapas a seguir:

  1. Verifique se o handshake entre dispositivo e servidor é seguro.
  2. Verifique a assinatura de dados retornada e o orderId. Verifique também se orderId é um valor exclusivo que você não processou anteriormente.
  3. Verifique se a chave do seu aplicativo assinou o INAPP_PURCHASE_DATA processado.
  4. Valide as respostas de compra usando o recurso ProductPurchase, para produtos no aplicativo, ou SubscriptionPurchase, para assinaturas (links em inglês) na API Google Play Developer. Essa etapa é particularmente útil porque os invasores não podem criar respostas simuladas para suas solicitações de compra na Play Store.

Proteger conteúdo desbloqueado

Para evitar que usuários mal-intencionados redistribuam seu conteúdo desbloqueado, não o empacote no arquivo APK. Em vez disso, escolha uma das opções a seguir:

  • Usar um serviço em tempo real para fornecer conteúdo, como um feed de conteúdo. Fornecer conteúdo por meio de um serviço em tempo real permite manter o conteúdo atualizado.
  • Usar um servidor remoto para fornecer o conteúdo.

Ao fornecer o conteúdo a partir de um servidor remoto ou um serviço em tempo real, é possível armazenar o conteúdo desbloqueado na memória ou no cartão SD do dispositivo. Ao armazenar conteúdo em um cartão SD, criptografe-o e use uma chave de criptografia específica do dispositivo.

Realizar ações contra violações de direitos autorais ou marcas registradas

Se você estiver usando um servidor remoto para fornecer ou gerenciar conteúdo, habilite seu aplicativo para verificar o estado de compra do conteúdo desbloqueado sempre que um usuário acessar o conteúdo. Isso permite revogar o uso quando necessário e minimizar a pirataria.

Se você vir seu conteúdo sendo redistribuído no Google Play, aja de forma rápida e decisiva. Para saber mais, consulte a página Perguntas frequentes sobre direitos autorais na Central de Ajuda de direitos autorais.