我在市场上有一个应用程序,成本0.99美元。我希望实施应用内结算功能,以便我可以免费提供该功能,并提供解锁某些功能的选项。我已经修改了代码以允许这样做。问题是......我如何标记已购买应用程序的1000多人已购买并解锁所有功能?从付费到免费w /应用内付费
回答
如果您正在使用某种持久性存储,您可能会解决这个问题。
对于SharedPreferences,首次运行时,使用SharedPreferences.contains()
检查您的首选项之一。如果它包含它,应用程序必须已经安装。如果没有,则设置另一个标记用户为新(免费)的偏好,并再设置一个偏好,以免每次都进行检查。
这可能只适用于如果首选项没有“默认”值,我不完全确定是否在xml中设置默认值将其标记为包含。
如果您有任何资产转移到SD或任何类似的一次性设置,您可以做类似的事情。在第一次做这件事之前检查它是否已经完成。
如果您使用的是SQLite数据库,您可以增加数据库版本并在onUpgrade()
标记为“付费”,如果来自当前版本(或更早版本)。
就像我说的,这是一个黑客攻击,但我不知道任何“官方”方式来检查应用程序安装是升级还是初始安装。虽然这里有一些陷阱。例如,如果以前的付费客户在安装新版本之前完全卸载,或者如果它在新设备上...
这只是不会工作。考虑用户以前有付费版本的情况,但后来他将其删除。现在他想安装新的IAB版本。显然你的方法将他分类为初始使用,而他已经为此付费。 – abedfar
@abedfar我在最后一句中明确提到了这种情况。正如我所说,这是一种破解,虽然事情在过去三年可能发生了变化,但我认为仍然没有一个好方法可以为所有用户做到“正确”。 – Geobits
你是对的。您认为如果我将自己的付费应用更改为免费,我仍然可以获取Google授权服务器以区分已付费用户(我现在在付费应用中所做的事情)?我个人怀疑,因为只要我将我的付费应用程序更改为免费,那么Lic验证就变得毫无意义,Google应该为所有Lic查询返回true。 – abedfar
- 1. 从付费到免费w/IAP:防止双重收费
- 2. 免费到付费应用过渡
- 3. iPhone应用程序免费和付费
- 4. 通过应用内付费查看付费应用版本
- 5. 从付费应用到Google Play上的免费inapp购买
- 6. 将Android应用程序从免费/付费模式转换为应用程序内付费解锁
- 7. Android使用sharedUserId将免费应用升级到付费应用
- 8. iOS应用内购买免费/付费持久性
- 9. Moodle的免费/付费替代方案
- 10. 免费和付费版本sharedpreferences
- 11. 共享数据(例如免费/付费)
- 12. 免费/付费Silverlight视频播放器?
- 13. 带宽/ QOS测试 - 付费或免费
- 14. 谷歌地图付费或免费
- 15. 将WP7应用程序从免费更改为付费
- 16. 上传应用到谷歌播放 - 付费和免费
- 17. 付费应用程序免费应用程序分发
- 18. 定价模式付费+免费应用+桌面应用程序
- 19. 将付费应用更改为免费应用Google Play
- 20. 支付费用
- 21. 如果更新不是免费的,更新免费应用需要付费吗?
- 22. 使用In App Billing从付费应用更新到免费应用
- 23. 你应该如何推销Android应用(免费与付费)
- 24. 从付费应用切换到自动更新订阅的免费应用
- 25. 从免费应用程序导入数据到付费应用程序
- 26. 从免费过渡到付费,数据库
- 27. 使用库来维护免费/付费的应用版本
- 28. 为用户免费提供应用程序付费
- 29. 如何修改示例应用内付费应用以启用付费功能?
- 30. 如何制作Android应用程序的免费/付费版本?
你有什么样的应用程序?它是一个离线应用程序?或者你使用互联网提供的一些服务?用户是否创建了一个帐户或用来使用您的应用程序? –
这是一个离线应用程序。没有用户帐户或任何东西。 – Roger