0

我自己无法对此进行测试,因为显然无法完全终止订阅。

所以,我想测试以下用例:用户购买订阅,取消它(或过期),而不是用户购买相同的订阅。

RESTORE_TRANSACTIONS 响应我会得到什么?我会得到两件具有相同物品 ID、不同购买令牌和不同状态的物品吗?还是 purchaseToken 会保持不变?恐怕只有一个订单ID和购买令牌不同的订阅,之前订阅的信息会丢失,但我现在无法确认。此外,订阅中的每次重复购买都会更改 orderId 吗?

为什么我需要这个 - 订阅每天都会为用户提供新内容,所以当用户取消订阅(订阅 A)然后购买新的(订阅 B)时,我需要向用户展示在时间范围内发布的subscription A内容,以及的时间范围subscription B,但不是在使用期间发布的内容没有有效订阅。

4

1 回答 1

1

注意RESTORE_TRANSACTIONS:仅当您的应用程序首次安装在设备上或您的应用程序已从设备中删除并重新安装时,您才应使用请求类型。

RESTORE_TRANSACTIONS由于性能影响,不建议定期使用。

取自 Android 开发者http://developer.android.com/guide/google/play/billing/billing_overview.html

尽管我确实理解您对订阅计费的担忧。Google 非常擅长他们的 API 以及您应该如何与购买进行交互。

当您发送RESTORE_TRANSACTIONS请求时,您将收到两个广播。一个RESPONSE_CODE和一个PURCHASE_STATE_CHANGED。这是来自 Google 的表格,说明了您可以收到的不同值。

在此处输入图像描述

回到您关于购买两个订阅的问题:您应该检查用户是否已通过GET_PURCHASE_INFORMATION请求购买了订阅,如果订阅在列表中,请检查订阅的购买状态,看看您是否应该继续购买。

至于如果你“可以”购买两个相同的订阅,你会得到什么,它(我想说不可能)不太可能......但你会得到两个订单交易。

只要您始终了解您的用户交易,Google 的 API 就会完成剩下的工作。祝你好运!

于 2012-10-03T01:46:58.910 回答