假设我提供二合一应用程序:免费版和付费版。如果用户付费,那么他将获得应用程序中可用的附加功能。
为了简化任务和理解,我采用了示例应用程序。然后,我在主屏幕上又添加了一个按钮(这是我们的“付费”功能)——这个按钮默认是禁用的。如果用户为 Potion 付费(在示例应用程序中),则应启用此按钮。
所以,我有以下问题:
- 用户付费后,应在示例应用中修改哪些功能以启用按钮?为了进一步简化任务,我们可以假设用户只能购买 Potion,仅此而已。看起来仅仅添加是不够
myButton.setEnabled(true)
的onPurchaseStateChange / if (purchaseState == PurchaseState.PURCHASED)
。此外,如果用户付费,我需要在应用程序启动后启用此按钮。我应该在里面做restoreDatabase
吗?我也需要打电话给这个restoreDatabase
吗onStart()
? - 同样的问题是关于按钮禁用 - 我应该在哪里执行此操作?
- 启用按钮后,如果用户按下它,我需要验证用户是否真的为应用程序付费(不要仅仅依赖数据库值) - 看起来我应该调用
RESTORE_TRANSACTIONS
. 然后根据结果显示警告和禁用按钮,或允许进一步的操作。