如何在Amazon API中恢复购买?

时间:2013-12-30 16:12:34

标签: android in-app-purchase amazon

我过去几天一直在尝试在亚马逊的应用内购买中恢复购买的商品。我成功购买了物品,现在我需要恢复卸载应用程序后购买的物品。我阅读了几个链接,包括以下链接:

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 app相同。

我认为在成功完成购买后,我可能在存储偏移方面做错了。但是,我无法理解如何在这里做事或我做错了什么,感谢您的倾听并请求帮助!

**编辑:**我将偏移设置为:

        Offset offset = purchaseDataStorage.getPurchaseUpdatesOffset();
        PurchasingManager.initiatePurchaseUpdatesRequest(offset);

当案例成功时,我在onGetUserIdResponse()方法中执行此操作。

当案例成功时,我将偏移值存储在onPurchaseUpdatesResponse()中:

Offset offset = response.getOffset();
purchaseDataStorage.savePurchaseUpdatesOffset(offset);

1 个答案:

答案 0 :(得分:2)

在第一次调用或执行用户启动的还原时,您希望使用Offset.BEGINNING键值来启动PopchaseUpdatesRequest,以获取所有事务,而不仅仅是自上次查询以来发生的事务。