Android Google Play Billing Library 2.0确认测试购买的购买时间限制
我一直在测试新发布的谷歌账单库。发行说明中规定“必须在三天内确认购买” 在测试过程中,我注意到,如果我没有确认购买,在几分钟内,购买将自动退款 是谷歌对待测试订单的方式不同,只允许几分钟的时间来确认订单,而不是3天,还是我遗漏了什么 这是我用来确认购买的代码。PurchaseHolder是一个类,它保存购买和SKU以及来自后端服务器的响应代码Android Google Play Billing Library 2.0确认测试购买的购买时间限制,android,in-app-purchase,in-app-billing,play-billing-library,acknowledgepurchase,Android,In App Purchase,In App Billing,Play Billing Library,Acknowledgepurchase,我一直在测试新发布的谷歌账单库。发行说明中规定“必须在三天内确认购买” 在测试过程中,我注意到,如果我没有确认购买,在几分钟内,购买将自动退款 是谷歌对待测试订单的方式不同,只允许几分钟的时间来确认订单,而不是3天,还是我遗漏了什么 这是我用来确认购买的代码。PurchaseHolder是一个类,它保存购买和SKU以及来自后端服务器的响应代码 for (IABManager.PurchaseHolder pm : purchaseHolders){ if(pm.getSku().equ
for (IABManager.PurchaseHolder pm : purchaseHolders){
if(pm.getSku().equals(SKU)) {//found matching SKU
if (pm.getActionResult() == IABManager.BillingActionResult.VALID_PURCHASE) {//valid purchase made
if(!pm.getPurchase().isAcknowledged()) {//purchase not yet acknowledged
iabManager.acknowledgePurchases(pm.getPurchase(), (billingResult) -> {
Log.d(TAG, "AcknowledgedPurchaseResponse received from Google");
if(billingResult.getResponseCode() == BillingClient.BillingResponseCode.OK) {
unlockFeatures();
}
});
}else{
unlockFeatures();
}
} else if (pm.getActionResult() == IABManager.BillingActionResult.NON_VALID_PURCHASE){
lockFeatures();
}else{
Log.d(TAG, "BILLING_ACTION_RESULT = " + pm.getActionResult() + " doing nothing");
}
}
}
…以及acknowledgePurchases方法
public void acknowledgePurchases(Purchase purchase, AcknowledgePurchaseResponseListener listener){
AcknowledgePurchaseParams params = AcknowledgePurchaseParams.newBuilder()
.setPurchaseToken(purchase.getPurchaseToken()).build();
billingClient.acknowledgePurchase(params, listener);
}
从文档中我们可以看到,测试采购的时间范围要短得多,以帮助测试:
如果一周的订阅在5分钟内续期,我想在开发过程中,3天的购买确认限制将减少到几分钟。事实上,从Google Play Billing Library文档中可以看出 对于许可证测试人员进行的购买,确认窗口更短。如果在五分钟内未得到确认,购买将被退款和撤销,而不是三天
考虑到测试订单的其他时间范围被压缩为几分钟,这种情况似乎是合乎逻辑的。我只是希望谷歌能明确说明,或者其他测试过的人能证实。不用担心,我也被这弄糊涂了。我不是一个非常喜欢承认/消费购买的人,但我可以看到它的必要性。我只是希望能在文件中解释得更好。