Google Play表示要登录Google帐户(应用内结算)

时间:2016-09-28 11:51:14

标签: android google-play in-app-purchase in-app-billing google-account

我一直试图解决这个问题一个星期,但我没有任何成功。问题是,如果应用程序的用户试图购买订阅但未登录Google帐户并且我将其引导至Google登录屏幕,我会处理,但即使在用户登录并尝试购买订阅后,Google Play也说他需要登录Google帐户。在这一步,我一直在调试,AccountManager的getAccounts()返回数组,包括最近由用户添加的帐户。只有在我杀死该应用并再次启动它之后,Google Play才会看到用户的Google帐户并且购买效果很好。任何想法如何解决这个问题? 以下是用户点击"购买"按钮:

accountsArray = accountManager.getAccountsByType("com.google");
   if(accountsArray != null && accountsArray.length >= 1){
       SystemUtils.getCache(this, new CacheUtils.CallBack<Cache>() {
           @Override
           public void run(Cache cache) {
               billingActivityCache = cache;
           }
       });

       JSONObject payload = null;
       try {
           payload = new JSONObject()
                   .put("user", new JSONObject()
                           .put("id", billingActivityCache.getUser().getId()
                           ));
       } catch (JSONException e) {
           e.printStackTrace();
       }

       Bundle buyIntentBundle = null;
       try {
           buyIntentBundle = mService.getBuyIntent(3, getPackageName(),
                   currentSku, "subs", payload.toString());
       } catch (RemoteException e) {
           e.printStackTrace();
       }

       PendingIntent pendingIntent = buyIntentBundle.getParcelable("BUY_INTENT");
       try {
           startIntentSenderForResult(pendingIntent.getIntentSender(),
                   BUY_KEY, new Intent(), Integer.valueOf(0), Integer.valueOf(0),
                   Integer.valueOf(0));
       } catch (IntentSender.SendIntentException e) {
           e.printStackTrace();
       }
   } else{
       Intent intent = new Intent(Settings.ACTION_ADD_ACCOUNT);
       intent.putExtra(Settings.EXTRA_ACCOUNT_TYPES, new String[]{"com.google"});
       startActivityForResult(intent, LOGIN_GOOGLE);
   }

1 个答案:

答案 0 :(得分:0)

(不是答案的一部分但是)
首先,不要将个人信息作为捆绑包放在平面文本中 用户ID是个人信息 查看Google隐私权政策。

此处相关Q&amp; A. [更改Gmail帐户以进行应用内购买?] https://android.stackexchange.com/questions/70215/change-gmail-account-to-make-in-app-purchase