C'est une question très recherchée par ceux qui mettent en œuvre la facturation In-app dans Android, à savoir comment traiter les comptes multiples. Si un utilisateur a plusieurs comptes configurés, lequel sera utilisé pour la facturation in-app (car il n'y a pas d'option permettant à l'utilisateur de sélectionner un compte) ? Après avoir beaucoup creusé, le paragraphe suivant ici semble l'expliquer
Remarque : pour effectuer des achats de test, le compte de test de la licence doit se trouver sur l'appareil Android de l'utilisateur. Si l'appareil possède plus d'un compte, l'achat sera effectué avec le compte qui a téléchargé l'application. Si aucun des comptes n'a téléchargé l'application, l'achat est effectué avec le premier compte. Les utilisateurs peuvent confirmer le compte qui effectue l'achat en développant la boîte de dialogue d'achat.
Je crée une charge utile de développeur en utilisant le compte qui est impliqué pour la facturation in app, afin qu'il puisse être restauré correctement à un moment ultérieur ou sur un autre appareil. Mais depuis Honeycomb, le compte principal n'existe plus. Un utilisateur peut supprimer n'importe quel compte, peut-être celui avec lequel l'application a été achetée, dans ce cas, le premier compte de la liste des comptes sera utilisé pour la facturation. Maintenant, si je sais quel compte a été utilisé et s'il s'avère que ce n'est pas le compte avec lequel l'application a été installée, je peux au moins informer l'utilisateur que les achats suivants ne seront pas restaurés plus tard.
Donc, ma question est..
Existe-t-il un moyen de savoir quel compte a été utilisé pour télécharger l'application ?
Google Play semble utiliser ces informations. Comment pouvons-nous interagir avec Google Play jusqu'à ce niveau ?
note : PackageManager ne semble pas s'occuper de cela.