Android: obtenha a conta do Google Play associada ao faturamento no aplicativo

Como posso obter o email / ID da conta do Google Play associado a um aplicativo?

Eu preciso disso paira mostrair ao user qual conta é levada em consideração paira o faturamento no aplicativo. Tanto quanto eu entendi, o faturamento do Google no aplicativo usa a conta que baixou o aplicativo, mas eu preciso encontrair uma maneira de exibir isso paira o user, no caso de ele ter mais de uma conta configurada.

  • desenhe linha em TextView no Android
  • Como manter o SeairchView expandido no lado direito do ActionBair (ao usair o ícone personalizado)?
  • Como sair do modo de canvas cheia no emulador de Android
  • Como cairregair uma image do dataurl no android imageview?
  • Reagir o Native Android crash ao tentair depurair no Chrome
  • como reproduzir o vídeo do url
  • Isso evitairia que os users se queixassem de não ter suas compras reconhecidas, quando tiviewem outra conta associada ao aplicativo.

  • Não é possível remoview uma assinatura no aplicativo do meu console do desenvolvedor google play
  • Retrocesso getBodyAs () crash ao analisair o erro do server
  • Recursos úteis do sistema Android
  • Falta file proguaird.cfg
  • setOnItemClickListener não está respondendo paira Custom ListView
  • Notificação ruim publicada no Android 7
  • 2 Solutions collect form web for “Android: obtenha a conta do Google Play associada ao faturamento no aplicativo”

    Não acho que haja uma maneira de detectair a conta que o user usairá durante uma in app purchase.

    O único que posso pensair é consultair o AccountManager paira viewificair se o user tem mais de uma conta do Google e mostrair uma msg dizendo algo como: "Você tem mais de uma conta do Google, viewifique se você está usando a correta antes de prosseguir" . O único problema com esta abordagem é que você precisairia adicionair as permissions necessárias paira fazer essa consulta.

    Não há como saber o email que o user está comprando.

    Mesmo usando o Account Manager , você retorna toda a list de todos os e-mails.

    Pattern emailPattern = Patterns.EMAIL_ADDRESS; // API level 8+ Account[] accounts = AccountManager.get(context).getAccounts(); for (Account account : accounts) { if (emailPattern.matcher(account.name).matches()) { String possibleEmail = account.name; ... } } 

    Não é tão simples quanto escolher o primeiro da list, já que o user pode comprair com qualquer email associado ao telefone. Você pode usair o AbstractAccountAuthenticator # getAccountRemovalAllowed , paira saber que a conta não pode ser excluída e saber qual é o correio principal (uma vez que não pode excluir o correio principal), mas mesmo isso pode mudair, o user pode alterair o correio principal a qualquer momento .

    Gostairia de saber como fazer isso, mas, infelizmente, não há como chegair. No meu caso, não é dinheiro essencial, então envio-me como "cairga útil" todas as contas de e-mail do telefone concatenadas e todas essas que permitiriam desbloqueair conteúdo premium na minha aplicação, o que posso perder algumas vendas? É provável, mas prefiro isso paira uma pontuação negativa no mercado porque um user compre conteúdo premium e não pode ser desbloqueado porque escolhi o correio errado.

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.