Hab*_*bib 6 android in-app-purchase in-app-billing
我已经将android应用内购买集成到了android应用中。我重写了onPurchaseUpdated方法以获得购买的响应。
@Override
public void onPurchasesUpdated(int responseCode, @Nullable List<Purchase> purchases) {
if (responseCode == BillingResponse.OK) {
//handling purchase logic here
}
}
Run Code Online (Sandbox Code Playgroud)
现在,我注意到一个用户尝试购买应用内消费产品,并且在其购买状态为待定时,一段时间后,他取消了购买。他一遍又一遍地重复此过程。
因此,如果购买状态为待处理,Google是否会返回BillingResponse.OK作为响应代码?如果不是,如何检查购买状态是否为待处理或购买状态为待处理?
我在Google Play帐单参考文档中查看了响应代码,但未找到有关待定购买的信息。
这是链接:https : //developer.android.com/google/play/billing/billing_reference.html
我找不到确切的解决方案,但有一个解决方法(非常可靠),使用实时开发人员通知来处理订阅相关状态:
\n\n您应该从以下指南开始:\n https://developer.android.com/google/play/billing/billing_subscriptions#Handle-states
\n\n然后按照添加实时开发者通知的指南:\n https://developer.android.com/google/play/billing/realtime_developer_notifications
\n\n因此,基本上,当任何播放托管订阅的状态发生变化时,它都会通知您,您将在该推送通知中获得诸如 、SUBSCRIPTION_RENEWED、SUBSCRIP\xef\xbf\xbc\xef\xbf\xbcTION_PURCHASED等标志SUBSCRIPTION_CANCELED。
因此,您可以做的是将所有订阅条目添加到您的服务器(或您管理它的方式)作为待处理,并使用实时开发人员通知处理所有更新。
\n\n例如:用户 A 续订了订阅,但付款确认可能需要 24 小时,因此您将该条目置于待处理状态(默认情况下),在用户决定取消该订阅之间,您可能会收到 的标志,并且SUBSCRIPTION_CANCELED用户再次决定撤销该帐户因此您可能会得到一个标志SUBSCRIPTION_REVOKED,您可以在用户一遍又一遍地重复此过程时更新您的条目。
这可能看起来有点令人困惑,但阅读文档可能会清除障碍。
\n\n希望这有帮助,让我知道结果。
\n| 归档时间: |
|
| 查看次数: |
480 次 |
| 最近记录: |