在测试我的应用程序的应用程序内产品购买流程时,我使用了促销代码购买了应用程序内产品。
尽管检测到促销代码,但我的应用程序无法将其检测为已购买。这是这样的:IAbHelper.QueryInventoryFinishedListener
我有这个方法的内部实现:
@Override
public void onQueryInventoryFinished(IabResult result, Inventory inventory) {
...
...
Purchase activationPurchase = inventory.getPurchase(SKU_ACTIVATION);
boolean activated = (activationPurchase != null && verifyDeveloperPayload(activationPurchase));
}
但是我activationPurchase
从谷歌播放中看到的是这样的: PurchaseInfo(type:inapp): { "packageName":"my.package.name", "productId":"activation", "purchaseTime":1471991353652, "purchaseState":0 , "purchaseToken":"a-real-token" }
正如您在应用程序观察中看到的那样,开发人员有效负载显示为空字符串“”,因此未验证购买,购买状态为0
. 所以问题是我怎样才能检测到这个产品是使用 REDEEM CODE 购买的?