Android InAppBilling,是否有可能通过同一个google帐户检测来自不同设备的getPurchased项目

Android InAppBilling,是否有可能通过同一个google帐户检测来自不同设备的getPurchased项目,android,in-app-purchase,in-app-billing,in-app,Android,In App Purchase,In App Billing,In App,在我的应用程序中,我已经实现了InApp V3功能。。。 如果我登录*abc@gmail.com*设备A中的帐户,然后购买 项目,然后如果调用getPurchase方法 然后它将返回已购买的项目。。 如果我登录到设备B 使用相同的帐户,如果我调用getPurchase,则它不会 显示我已在设备A中购买的项目 试试这个代码 for (int i = 0; i < purchaseDataList.size(); ++i) { String purchaseDa

在我的应用程序中,我已经实现了InApp V3功能。。。 如果我登录*abc@gmail.com*设备A中的帐户,然后购买 项目,然后如果调用getPurchase方法 然后它将返回已购买的项目。。 如果我登录到设备B 使用相同的帐户,如果我调用getPurchase,则它不会 显示我已在设备A中购买的项目

试试这个代码

for (int i = 0; i < purchaseDataList.size(); ++i) {
                String purchaseData = purchaseDataList.get(i);
                // String signature = signatureList.get(i);

                JSONObject jo = new JSONObject(purchaseData);

                String skuId = jo.getString("productId");
                int purchaseState = -1;
                if (jo.getString("purchaseState").length() > 0) {
                    purchaseState = Integer.parseInt(jo
                            .getString("purchaseState"));
                } else {
                    purchaseState = -1;
                }
                System.out.println("skuId::" + skuId + " purchaseState"
                        + purchaseState);
                InApp.addPurchasedItem(rootContext, skuId, purchaseState);
                valueMap = new HashMap<String, String>();
                valueMap.put("productId", listOfProductId.get(i));
                valueMap.put("isProductPurchased", ""
                        + ((purchaseState == 0) ? "true" : "false"));
                hashListGotProudctList.add(valueMap);

                // do something with this purchase information
                // e.g. display the updated list of products owned by
                // user
            }

如果设备上设置的使用google play的主要gmail帐户是相同的,那么它就可以工作。因此,当您执行getPurchase时,您将返回购买项目的详细信息,并且您需要验证开发人员有效负载是否为项目的有效性。是的,我可以从getPurchase获取购买的项目,但是如果我使用具有相同帐户的不同设备,则我可以cant@Vaishali我认为它包含安全场景,按照我的观点,你不能一次用两台设备来做这件事。我不会同时检查两台设备。。。有可能在不同的时间出现这种情况吗?@Vaishali我想它可能会起作用,但谷歌账户在这两种设备上必须是相同的。
for (int i = 0; i < purchaseDataList.size(); ++i) {
                String purchaseData = purchaseDataList.get(i);
                // String signature = signatureList.get(i);

                JSONObject jo = new JSONObject(purchaseData);

                String skuId = jo.getString("productId");
                int purchaseState = -1;
                if (jo.getString("purchaseState").length() > 0) {
                    purchaseState = Integer.parseInt(jo
                            .getString("purchaseState"));
                } else {
                    purchaseState = -1;
                }
                System.out.println("skuId::" + skuId + " purchaseState"
                        + purchaseState);
                InApp.addPurchasedItem(rootContext, skuId, purchaseState);
                valueMap = new HashMap<String, String>();
                valueMap.put("productId", listOfProductId.get(i));
                valueMap.put("isProductPurchased", ""
                        + ((purchaseState == 0) ? "true" : "false"));
                hashListGotProudctList.add(valueMap);

                // do something with this purchase information
                // e.g. display the updated list of products owned by
                // user
            }