使用多个帐户的应用内购买

在应用程序购买/订阅中遇到问题:

如果设备上有多个帐户,我无法获得用第二个帐户进行的购买交易。 有时这可以通过从Google Playnetworking界面安装应用程序暂时修复,但过了一段时间,购买将不会出现在查询中,迫使用户重新安装。

我正在使用这个示例中的IabHelper类。

做一些谷歌search,我发现这个错误存在一段时间,但不幸的是,我不能找出错误是在IabHelper类还是在谷歌方面。

我想提请大家注意Google,所以他们会在IabHelper课程或Play服务中提供一个适当的解决方法,或提供信息,如何处理。

我正在使用一个应用程序中的代码(写作的时候)900.000活跃的用户安装,我必须触发相当多的退款,因此。

如果有这个问题,我错过了,请让我知道。

编辑:有时,即使手机上只有一个帐户,也无法检索购买。

似乎没有一条解决这个问题的方法,但我们试试吧。

  1. 当用户第一次安装应用程序时,获取他/她的主要电子邮件或设备上的所有帐户

  2. 询问用户将来会使用哪些电子邮件进行付款/哪些帐户在Google Play上处于活动状态。

    你可以使用这个代码来获得帐户

    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; ... } } 

    不要忘记要求许可

     <uses-permission android:name="android.permission.GET_ACCOUNTS" /> 

    用户select电子邮件后,您可以通过电子邮件发送链接以确认此电子邮件地址

  3. 领导所有的付款给特定的电子邮件。

方法2

将来使用新的“使用Gmail发送和接收资金”

  1. 创build一个电子邮件意向,并发送特定的数据到电子邮件意向和付款。

  2. 成功后,发送一个代码给用户的电子邮件

  3. 使用代码来激活他们所做的任何购买。

方法3

使用其他支付库或网关进行应用程序购买,而不是使用Google play。

肯定是在应用程序帐单服务apis中的一个错误。

这是一个类似的问题,正如其中一个答案中提到的那样,可能需要引入login机制,并将从帐户购买的内容以encryption文件或类似方式存储到服务器或本地设备上。

几个月后,我遇到了同样的问题。 经过几个小时的寻找解决scheme,我想出了一个这样的工作,

您可以使用OAuth 2.0。

但是你也必须从后端pipe理它。 我不是后端开发人员,所以我不知道它在后端如何,但在应用程序方面我做了这样的事情,

您可以使用第一个允许在服务端进行身份validation的Google帐户。 OAuth 2.0是一个简化的工具,让开发者轻松地让用户访问你的应用程序。 OAuthHmacSigner类确实pipe理authentication。

 signer = new OAuthHmacSigner(); signer.clientSharedSecret = Constants.CONSUMER_SECRET; 

然后,Android活动使用以下代码启动OAuthstream程:

 launchOauth.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { startActivity(new Intent().setClass(v.getContext(), PrepareRequestTokenActivity.class)); } }); 

为了获得OAuth 2.0访问令牌,您只需调用:

 AccountManager.getAuthToken() 

我希望这可能有助于:)

我有两个帐户,但一个不起作用。 我所做的是我进入了android的设置,然后进入帐户首选项。 我把我的主账户从不工作的账户改成了工作账户。 然后,我将新帐户分配给所有应用程序(包括Google Play)的主要帐户。 这对我有效。 有时,如果由于某种原因无法正常工作,您也可以上网,并通过互联网访问Google Play商店。

尝试获取重复…以.apk或.xcode结尾的文件签名的重复点

我不确定这是否是您正在search的答案,但也许设置共享的Google Play家庭库就足够了。 它适用于多达5个用户共享相同的购买(应用程序,音乐,电影等),如果需要的话。

(请参阅: https : //support.google.com/googleplay/answer/7007852?hl = zh_CN )