30 votes

Informations de compte associées à l'installation d'une application

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.

0voto

ejohansson Points 1071

Mon intuition me dit de créer votre propre AccountManager et SyncAdapter combo. Afin de contrôler le compte associé à votre facturation dans l'application. Vous pourriez alors potentiellement prendre en charge la fusion des comptes sur votre serveur (si l'utilisateur prend des mesures et décide de fusionner les comptes) et gérer la facturation à la même personne ou sur la base de leurs comptes. Vous pourriez également restaurer les achats sur le même appareil si vous le souhaitez. Vous pourriez appliquer les politiques relatives aux appareils, etc. Licences Google Play et par exemple. DeviceLimiter

Si l'utilisateur supprime l'ancien compte, votre AccountManager et SyncAdapter combo créerait un nouveau compte et l'utilisateur serait alors obligé de fusionner les comptes sur votre serveur afin de restaurer les achats précédents et vous auriez les informations du nouveau "compte principal" stockées là.

Comme l'a dit Edison dans vos commentaires. Il doit y avoir un moyen d'enregistrer le compte associé au premier achat et de partir de là.

Il ne s'agit que de mes réflexions et j'espère que nous pourrons faire la lumière sur cette question et trouver une "meilleure pratique" pour la soutenir.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X