我自己无法测试,因为显然没有办法完全终止订阅。
所以,我想测试以下用例:用户购买订阅,取消它(或它过期),而不是用户购买相同的订阅。
RESTORE_TRANSACTIONS响应会带来什么?我会获得两件具有相同商品ID,不同购买代币和不同状态的商品吗?或者buyToken会保持不变吗?我担心只有一个订阅具有不同的订单ID和购买令牌,以前订阅的信息将丢失,但我现在无法确认。此外,订单中的每次定期购买都会更改orderId吗?
为什么我需要这个 - 订阅将每天为用户提供新内容,因此当用户取消订阅(订阅A)并且稍后购买新订阅(订阅B)时,我需要向用户显示在{的时间范围内发布的内容{1}}和subscription A
时间范围内的内容,但未使用期间发布的内容没有有效订阅。
答案 0 :(得分:1)
注意:只有在设备上首次安装应用程序或者从设备中删除应用程序并重新安装时,才应使用
RESTORE_TRANSACTIONS
请求类型。< / p>由于性能影响,建议不要定期使用
RESTORE_TRANSACTIONS
。
从Android开发者http://developer.android.com/guide/google/play/billing/billing_overview.html
采取虽然我确实理解您对Subscription Billing的关注。 Google非常了解他们的API以及您应该如何与购买进行互动。
当您发送RESTORE_TRANSACTIONS
请求时,您将收到两个广播。一个RESPONSE_CODE
和一个PURCHASE_STATE_CHANGED
。以下是Google提供的表格,说明了您可以获得的不同价值。
回到你关于购买两个订阅的问题:你应该检查用户是否购买了GET_PURCHASE_INFORMATION
请求的订阅,如果订阅在列表中,请检查订阅的购买状态以查看如果你继续购买。
至于如果你“可以”购买两个相同的订阅,你会得到什么,它(我想说不可能)不太可能......但你会得到两个订单交易。
只要您始终了解自己的用户交易,Google的API就会完成其余的工作。祝好运!