免费和付费版Android应用程序的最佳方法?

时间:2012-01-01 19:33:09

标签: android version in-app-billing

我开发了一款Android应用,我想以免费版和付费版的形式提供。什么是最好的方法?

我可以想到三个解决方案:

  1. 将项目拆分为两个分支并维护它们。
  2. 创建一个图书馆项目,并有两个额外的项目,一个是“免费”,一个是“付费”。
  3. 使用应用内结算。
  4. 问:哪种解决方案最好?为什么?

    需要考虑的一些事项:

    • 我的应用大约1.5 MB(不包括AdMob)。
    • 我目前正在定位Android 2.2(Froyo)。
    • 我确实有一些服务器API,可以从了解客户是否付款中受益。
    • 我试图避免我的应用被破解。现在不确定这是不是真的有问题......

3 个答案:

答案 0 :(得分:4)

我努力实现这一点,但想通了。我觉得最好的方法是使用Android库功能,并在每个项目简单pay $ = true字符串值(或密钥文件,如果你想要一个更复杂的解决方案)中区分应用名称字符串值。

确切的步骤:

使用它来获取代码的“通用”副本,然后使用引用它的多个android项目

目的:

免费& Google Market上的付费版

结果:

一个包含ALL代码的Android项目(库),另外两个Android项目引用代码,但没有实际的类。 strings.xml区分应用程序名称(付费和免费或其他)`

创建库

  • 创建新项目&在创建选择选项以创建库
  • 的步骤中
  • 转换现有:右键单击项目 - >属性 - > Android->库旁边的复选框。
    • 可能也想重构/重命名,但不需要

创建新项目以利用库

  • 创建新的Android应用项目
  • 打开此项目的属性 - > Android->将现有库添加到项目
  • 如果存在其他库:不要将这些(jar)文件复制到新项目中!
    • 新项目的属性 - >构建路径 - >配置构建路径 - >库选项卡 - >添加Jars->展开您要链接的库 - >> libs->选择libary(即libGoogleAnalytic ) - > OK->订单&导出标签 - >检查新库 - >确定
  • 新项目的清单:需要RE从库中调出所有信息,特别是活动,从库中追加FQDN
    • ie:android:name =“com.blah.appname.library.MainActivity”(基本上将所有内容从库清单复制/粘贴到新项目清单中,并将包名称调整为参考库)
  • 确保新项目lib文件夹vs库项目中没有任何重复的库!如果是这样,请从新项目中删除&调整上面每步的构建路径
  • 不需要任何类/ java文件!
  • 仅在您需要更换资源时才替换资源
  • 删除res \ drawable \中新项目中的所有文件,以便我们使用库中的文件

答案 1 :(得分:3)

我不是在应用中使用广告的忠实粉丝,因为除非你的市场份额已经很大,否则你获得的金额与用户骚扰的金额相比会很小。

我更喜欢使用所有核心功能编写基本应用程序的模型,然后为付费应用程序添加额外功能并为此收费(当然使用Android库项目来共享大部分代码)。这样,使用您的应用程序并喜欢它的人可以通过支付它来支持您,然后获得一些额外功能的奖励。

(免责声明:此帖是基于我自己的经验和我听到的轶事证据的个人意见)

答案 2 :(得分:2)

您的第3种方法,即应用内结算,提供了最大的灵活性,但它非常复杂(因此容易出错)。

您的第二种方法,共享库项目看起来是最好的妥协。

如果你可以使用same APK for both free and paid versions这可能是两全其美的。