大鹏一日同风起,扶摇直上九万里。这篇文章主要讲述InApp订阅已过期,如何检查服务器端相关的知识,希望能为你提供帮助。
我有一个过期的android InApp订阅,当我从Google API请求状态时,我得到了这个JSON
{"autoRenewing":false,"cancelReason":0,"countryCode":"UK","developerPayload":"","expiryTimeMillis":"1509398029890","kind":"androidpublisher#subscriptionPurchase","paymentState":null,"priceAmountMicros":"1390000","priceCurrencyCode":"EUR","startTimeMillis":"1508863149755","userCancellationTimeMillis":"1509313119197"}
paymentState
字段是null
而不是0,1或2expiryTimeMillis
字段过去,但这不是检测过期订阅的可靠方法,因为Google本身建议检查过去具有此字段的任何订阅的状态,有宽限期,用户仍然能够更新我在官方文档上找不到关于如何检查订阅是否过期的任何明确指示。在移动应用程序上很容易检测到期:如果订阅没有显示它已过期,如果它显示在产品列表上,那么它没有过期
答案如果有
cancelReason
订阅被取消(或设置为取消),如果expiryTimeMillis
也已过去,则订阅现已完全取消。【InApp订阅已过期,如何检查服务器端】如果订阅处于宽限期,则会将
expiryTimeMillis
动态更新为未来(到宽限期结束时)。推荐阅读
- 在运行时更改Android Camera 2的Flash设置
- 使用AWS Android SDK发送JWT令牌
- 从已安装该应用的设备中删除未发布的应用(Android)
- Android Studio需要澄清
- 如何在移动设备上安装android studio创建的应用程序而无需将其连接到系统
- Android 9应用程序菜单是深色背景上的暗文本
- 我可以在Android布局xml文件中定义中间行的文本
- 如何根据加载的文本增加我的android textview中的文本大小()
- 用于复制当前文本行的Applescript()