当我们通过Amazon inApp API实现InApp时,我们通过采购经理调用initiatePurchaseUpdatesRequests(Offset offset)
函数,得到onPurchaseUpdatesResponse(PurchaseUpdatesResponse obj)
作为响应。
我对偏移量感到困惑。如果我们是第一次调用,那么我们可以使用Ofset.BEGINNING
,并在响应中使用方法obj.getOffset()
。文档中说这将返回您应该发送的Offset
。
如果它将返回旧的偏移量,则意味着每次将发送相同的Offset.BEGINNING
。
还有,我一开始就对Offset
是什么感到困惑。
有人能澄清这些问题吗?
2条答案
按热度按时间ajsxfq5m1#
根据IAP参考:
public Offset getOffset()
返回一个
Offset
,如果isMore()
指示有更多结果可用,则您***可以将该Offset
传递***给PurchasingManager.initiatePurchaseUpdatesRequest(Offset)
。在IAP快速入门指南中,它说:
如果
PurchaseUpdatesResponse.isMore()
返回true
,则使用PurchaseUpdatesResponse.getOffset()
中返回的值递归调用PurchasingManager.initiatePurchaseUpdatesRequest()
。@yasiriqbal776,我想您可能误读了文档。否则,您能否提供您所指文档的URL?
rseugnpd2#
对于特定用户,第一次调用initiatePurchaseUpdatesRequests(Offset offset)时,应使用Offset.BEGINNING调用它。在onPurchaseUpdatesResponse回调中,应检查是否有更多购买更新,并使用最后一个Offset递归调用initiatePurchaseUpdatesRequest。(示例请参见下面的代码)
如果只想检索“新”采购更新,还可以保存最后一个偏移量,并从该保存的偏移量开始进行后续initiatePurchaseUpdatesRequests(Offset offset)调用。
Amazon移动的SDK中的授权示例应用程序还包括演示如何使用Offset的示例代码。