从付费到免费w /应用内结算

时间:2012-12-28 19:34:15

标签: android in-app-purchase

我在市场上有一款售价0.99美元的应用程序。我想实现应用内结算,以便我可以免费提供,并可选择以某种价格解锁某些功能。我已经修改了代码以允许它。问题是......我如何标记购买该应用程序的1000多人购买并解锁所有功能?

1 个答案:

答案 0 :(得分:3)

如果您正在使用某种持久存储,那么您可能能够解决这个问题。

对于SharedPreferences,首次运行时,请使用SharedPreferences.contains()检查您的某个偏好设置。如果它包含它,则必须已安装该应用程序。如果没有,请设置另一个将用户标记为新(免费)的首选项,并再设置一个,这样每次都不会进行检查。

这可能只有在首选项没有“默认”值时才有效,我不完全确定在xml中设置默认值是否会将其标记为包含。

如果您有任何资产转移到SD或任何类似的一次性设置,您可以执行类似的操作。只是在第一次做之前检查它是否已经完成。

如果您使用的是SQLite数据库,则可以增加数据库版本,如果来自当前版本(或更早版本),则可以在onUpgrade()中标记为“已付费”。

就像我说的,这是一个黑客,但我不知道有任何“官方”的方式来检查应用程序安装是升级还是初始安装。但是,这里有一些陷阱。例如,如果以前的付费客户在安装新版本之前完全卸载,或者它是在新设备上...