在Free或Pro模式下启动应用程序的最佳方式

时间:2017-10-26 15:49:55

标签: android google-play in-app-purchase in-app-billing

我有一个Android应用程序,我还提供1个inapp购买解锁此类应用程序到专业版。

我知道如何使用inapp购买API等,但我发现了如何检查应用程序应该以Free还是Pro启动的不一致方式。

许多人建议,在成功购买后,应用应将Google Play收据或其他信息存储在本地数据库中,并让应用在启动时检查该信息是否存在(以便以Free或Pro的形式正常启动)< / p>

我的问题是,为什么不调用恢复购买API RestorePurchases(),而不是费心保存购买信息并从本地数据库中检索它,如果InApp项目存在,请查看返回的对象并解锁相应的应用?

据我所知,这个电话不需要互联网连接,只是本地电话给当地的Google Play权限......我错过了什么?

1 个答案:

答案 0 :(得分:1)

让我解释一下我们如何在QuitNow!管理它,这是一个与你的行为相同的应用。

我们只有一个名为unlock_all_pro_features的SKU。如果用户拥有它,则意味着用户之前购买了PRO功能。

因此,在Android方面,每次启动应用时,我们都会尝试连接到IInAppBillingService。调用onServiceConnected()时,我们会询问所有用户拥有的SKU。如果它有我们可爱的SKU,我们存储在SharedPreference,用户是PRO。然后,如果在完成所有这些魔术之前它不是PRO,我们会更新屏幕以显示全新的功能。

那里的坏事:用户可以退回SKU!

要面对这种情况,当我们认为用户是PRO用户时,我们也会询问用户是否具有所需的SKU。如果该检查失败20次,我们将功能重置为免费版本。

为什么要检查20次而不是一次?有时,我们发现服务说用户有任何SKU,而他实际上有PRO。为什么?不知道。因此,检查它20次是一种简单的方法,可以确保我们在不需要时不会激活PRO用户。