我在我的应用测试期间使用促销代码购买了应用内商品以获取其应用内商品购买流程。
虽然检测到促销代码,但我的应用程序无法检测到它已购买。
这是这样的:IAbHelper.QueryInventoryFinishedListener
的内部实现我有这个方法:
@Override
public void onQueryInventoryFinished(IabResult result, Inventory inventory) {
...
...
Purchase activationPurchase = inventory.getPurchase(SKU_ACTIVATION);
boolean activated = (activationPurchase != null && verifyDeveloperPayload(activationPurchase));
}
但是,从谷歌播放中我的activationPurchase
读取是这样的:
PurchaseInfo(类型:应用程式内):
{
“软件包名”:“my.package.name”
“的productId”: “激活”,
“purchaseTime”:1471991353652,
“purchaseState”:0,
“purchaseToken”:“一个实时的令牌”
}
正如您在应用程序监视图中看到的那样,开发人员有效负载显示为空字符串“”,因此购买未经过验证且purchaseState为0
。
所以问题是如何检测使用REDEEM CODE购买此产品?