如何获取Android Google Play Billing中当前用户的订阅周期
获取Android订阅周期的解决方案
你当前拿到的购买信息里确实没有直接包含订阅周期,要获取周期可以通过以下几种方式:
维护Product ID与周期的映射关系
既然你的Pro订阅只有月度和年度两种,你可以在客户端或服务端提前建立一个映射表,把每个productId和对应的周期绑定。比如:{ "pro_android_month": "月度", "pro_android_year": "年度" }拿到购买信息里的
productId后,直接查表就能得到对应的周期。通过Google Play Billing Library查询商品详情
使用BillingClient调用querySkuDetailsAsync方法,传入当前的productId(也就是pro_android_v1),从返回的SkuDetails对象中调用getSubscriptionPeriod()方法,会得到ISO 8601格式的周期字符串(比如P1M代表月度,P1Y代表年度),你可以把这个字符串转换成用户易懂的文字展示。服务端验证时提取周期
如果你的服务端会验证购买凭证,可以调用Google Play的Subscriptions API,验证后返回的订阅数据里会包含subscriptionPeriod字段,直接解析这个字段就能获取周期信息,再同步给客户端展示。
内容的提问来源于stack exchange,提问作者Rakymzhan Zhomartov
相关产品推荐
相关产品推荐

