过去几天我一直在尝试恢复在亚马逊应用内购买中购买的商品。我成功购买了商品,现在我需要在卸载应用后恢复购买的商品。我阅读了几个链接,还包括以下链接:
Tracking In-App Purchases Using PurchaseUpdates
此链接提供了一些很好的信息,阅读以下链接后:
How do I easily restore purchases using the Amazon API?
我知道我需要使用 onPurchaseUpdatesResponse() 来完成这里的工作,但问题是我得到了
Set<Receipt> receipts = response.getReceipts();
Set<String> revokedSkus = response.getRevokedSkus();
onPurchaseUpdatesResponse() 方法中均为空。我可以在 AmazonSDKTester 应用程序中看到购买的商品,以及通过以下方式获取的 userId:
response.getUserId();
与 AmazonSDKTester 应用程序中的相同。
我认为我在购买成功后存储偏移量时可能做错了什么。但是,我无法理解如何在这里做事或者我做错了什么,感谢您的聆听并请帮助!
我将偏移量设置为:
Offset offset = purchaseDataStorage.getPurchaseUpdatesOffset();
PurchasingManager.initiatePurchaseUpdatesRequest(offset);
当案例成功时,我会在 onGetUserIdResponse() 方法中执行此操作。
当案例成功时,我将偏移值存储在 onPurchaseUpdatesResponse() 中:
Offset offset = response.getOffset();
purchaseDataStorage.savePurchaseUpdatesOffset(offset);
最佳答案
在第一次调用或执行用户启动的恢复时,您希望使用 Offset.BEGINNING 键值来启动PurchaseUpdatesRequest 以获取所有事务,而不仅仅是自上次查询以来发生的事务。
关于android - 如何在亚马逊API中恢复购买?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20843192/