应用内购买在更新后使用了错误的帐户

cas*_*orz 17 android in-app-purchase in-app-billing google-play google-play-services

典型情况下,用户在其Android设备上有两个帐户xyz@gmail.com和abc@gmail.com.用户使用帐户xyz@gmail.com在版本1.0上购买我的高级升级,然后他们更新到版本1.1并且代码(应用内购买代码)现在认为他们使用的是帐户abc@gmail.com,因此它认为用户尚未购买高级升级.我知道它使用了错误的帐户,因为他们向我发送了他们的订单电子邮件,然后他们告诉我,如果他们按下$ amount,那么在购买对话框中列出了错误的电子邮件.此时唯一的解决方法是使用Play商店桌面网站和正确的帐户卸载并重新安装.

我正在使用来自示例的IABHelper以及StackOverflow的一些修复.据我所知,我甚至无法选择他们正在使用的帐户.

关于可能发生的事情的任何想法?这有发生在其他人身上吗?

代码超出了StackOverflow的长度限制,所以我把它放在http://pastebin.com/hLquZ6SP

编辑:我现在有一个用户声称每次更新应用程序时都会发生这种情况.

编辑:这在分阶段推出期间发生了很多,我认为因为获得分阶段更新的帐户不是用户购买IAP的帐户.

ser*_*nka 0

我也对极少数用户遇到了同样的问题。

无法在代码中控制使用哪个帐户进行购买验证。发生这种情况时,我要求用户在 Google Play 应用程序中选择他们购买应用内扩展程序的帐户,然后重新启动设备,启动应用程序并执行“恢复购买”操作。在大多数情况下这会有所帮助。如果没有,那么他们需要使用 Google Play 网络用户界面,就像您所描述的那样。

我还必须承认,大多数此类问题是我在 2013 年、2014 年开始经历的,此后就再也没有遇到过。也许谷歌以某种方式改进了这一点。