我们的应用有3个可能的自动续订订阅计划-每月,6个月和每年。它们在Google Play中定义,并且在购买时效果很好。
最近,我们添加了使用新API更改计划的选项-https://developer.android.com/google/play/billing/billing_subscriptions#Allow-upgrade
对于降级(较短的订阅期),我们使用DEFERRED
按比例分配模式。对于升级,我们使用IMMEDIATE_AND_CHARGE_PRORATED_PRICE
。
[在测试期间,我们发现所有更改都可以正常工作,除了将“ 6个月”更改为“每年”时除外。每当我们这样做时(用户已经有6个月的订阅,尝试更改为每年一次),我们都会得到一个错误,而不是正常的购买流程。显示的错误消息是
“从服务器[DF-DFERH-01]检索信息时出错”>
我们从库中收到的实际错误代码是
SERVICE_UNAVAILABLE
。
再次-所有其他流程正常运行,例如每月->每年,每月-> 6个月。
缺乏文档说明和清楚的信息,logcat没有显示任何有用的信息。
我们的应用有3个可能的自动续订订阅计划-每月,6个月和每年。它们在Google Play中定义,并且在购买时效果很好。最近,我们添加了更改计划的选项...
您使用getBuyIntentToReplaceSkus()
吗?那是必需的。如果未知,则必须将其添加到AIDL文件中。方法的顺序在那里很重要,并且这种方法并不总是在那里。