android - 应用内结算 v3 恢复购买

标签 android in-app-purchase

现在我正在使用 inapp purchase v3,我可以购买商品。

但是当我购买它并卸载该应用程序、清除 Google Play 数据并删除帐户(然后我使用同一帐户再次登录)时,当我再次安装该应用程序时,我的购买历史记录为空。如何在 v3 中恢复它?

如果我查看 IabHelper 中的代码,有一个函数 queryPurchases:

Bundle ownedItems = mService.getPurchases(3, mContext.getPackageName(),
                itemType, continueToken);

但第一次,continueToken 为空。这可能是问题所在吗?

最佳答案

在尝试恢复购买时,请确保您使用`STATIC PRODUCT IDs(android.test.purchased , android.test.refunded.... ) 对其进行测试。使用静态 ID 进行的购买不会添加到您的购买历史记录中。所以你将无法取回它。但是,您可以使用您为应用内产品测试创建的测试产品 ID。

如果您使用正确的包裹名称、购买类型和产品 ID 进行查询,您之前的购买应该会被很好地列出。此外,请务必使用您用于购买的 Google 帐户。延续标记通常为空。它只是一个参数,用于指示您有更多购买无法在对您的 getPurchases 调用的第一次响应中容纳。

关于android - 应用内结算 v3 恢复购买,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15195903/

相关文章:

android - 无法解决:junit:junit:4.12

android - Bootstrap 3 在移动设备上添加右边距(?)

android - 应用内结算到期

windows-8 - XML 规范在哪里?用于 CurrentAppSimulator 测试的 WindowsStoreProxy.xml

php - 如何使用 php 验证 Apple IAP 收据?

java - 如何在不锁定 UI 的情况下从 SQLite 进行 SELECT?

android - 折叠时如何更改折叠工具栏的颜色?

java - 如何重构子包并将其与最外层包一起移动?

iphone - 应用内购买中的 "restore purchases"是什么意思?

android - 如何有效地测试 Android 的应用内订阅