Android InAppBilling,是否有可能通过同一个google帐户检测来自不同设备的getPurchased项目
在我的应用程序中,我已经实现了InApp V3功能。。。 如果我登录*abc@gmail.com*设备A中的帐户,然后购买 项目,然后如果调用getPurchase方法 然后它将返回已购买的项目。。 如果我登录到设备B 使用相同的帐户,如果我调用getPurchase,则它不会 显示我已在设备A中购买的项目 试试这个代码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
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
}