我正在制作一款Android应用程序,该应用程序每月销售应用内订阅。在我深入探讨之前,这个关于如何做到这一点的概述似乎是正确的吗?我正在使用Google Play Android开发者API。
第一次安装应用程序时,请在sendBillingRequest()中发送以下内容:
- CHECK_BILLING_SUPPORTED。如果没有,就不要麻烦制作"购买"UI
- RESTORE_TRANSACTIONS。如果存在交易,请保存用户的购买令牌
当用户进行购买时:
- 保存购买令牌
- 向Google Play开发者API发送带有购买令牌的GET请求以验证订阅。
- 如果订阅有效,请保存订阅的到期日期和启动日期。提供对购买数据的访问权限
- 如果订阅无效,请删除购买令牌。不要提供对已购买数据的访问权限,也不要绘制"未购买"版本的UI
每次启动应用程序时,请检查您是否保存了购买令牌。
如果购买代币不存在:
- 不提供对购买数据的访问权限,并绘制"未购买"版本的UI
如果购买令牌存在,请检查到期日期和启动时间:
- 如果(过期)或(启动时间超过一个月)
- 向Google Play开发者API发送带有购买令牌的GET请求以验证订阅
- 如果购买有效,请更新保存的到期日期和开始日期。提供对购买数据的访问权限
- 如果购买无效,请删除保存的购买令牌以及到期和启动数据。不要提供访问权限并绘制"未购买"版本的UI
- Else
- 提供对购买数据的访问权限
是的。
我已经通过这种方式成功地实现了应用内计费。