2013-05-21 32 views
1

我正在开发一个具有单一源库的android应用。我希望提交免费和付费版本的应用程序。对于免费版本,我计划禁用某些功能并为付费功能提供更多功能。有什么方法可以找到Android应用程序是免费的或由Java代码支付?Android应用 - 精简版或付费版本

编辑1: 在Windows Phone的“App.xaml.cs”文件包含以下方法来识别的Windows Phone应用程序的免费或付费版本。

private void Application_Launching(object sender, LaunchingEventArgs e) 
{ 
    var license = new Microsoft.Phone.Marketplace.LicenseInformation(); 
    IsTrial = license.IsTrial(); 
} 

这里IsTrail是返回true或false的属性。是否有任何方法可用于Android检测免费或付费版本?

回答

0

目前暂不支持。您可以检查用户是否使用许可服务(LVL)购买了付费应用程序,但它不能用于付费应用程序。

1

Google Play Services不提供任何访问与正在运行的应用相关的Google Play元数据的API。 Application Licensing可能是一种前进的方式,但用户桑迪提到它不能用于付费应用程序(听起来很奇怪)。

我会建议虽然另一种方式前进:除非您提供应用程序的单一版本的应用程序内购买,从免费升级到你要上传两个不同版本的付费版本

  • 到Google Play(因为两个应用的软件包名称不能相同)。这个事实是无法解决的。

  • 由于您必须构建两个不同版本的应用程序,因此您可以在编译时对预编译的代码进行预处理,并替换免费版本和付费版本之间不同的代码部分。通过仔细设计的代码,这应该没有问题。 Library projects应该适合这个。

  • 另一种选择是在编译时提供两组不同的数据/配置文件,您可以通过config/launch参数来控制代码的哪些部分应该被激活。

如果你能提供有关它更容易提出一个很好的解决方案应用程序提供更多的信息。它是一款付费应用有更多关卡的游戏吗?这是一个应用程序,其中一些功能在免费版本中不可用?这款应用程序每天在免费版本中限制使用一定数量的应用程序吗?

更新:你提到你想在免费应用中禁用评论,而在付费应用中评论应该发布到你的服务器上。我认为最好的办法是建立付费版本和一个在建的免费版本时的付费和免费的逻辑分成两个库项目,并使用一个项目:

  1. 的代码创建两个library projects,一个免费的应用程序和付费应用程序的一个。在这两个项目中,你应该有一个名为CommentPoster的类或类似的东西。让这两个类实现一个来自主项目的接口,该接口定义了用户发布评论时将调用的方法,我们将其称为ICommentPoster并拥有一个名为postComment(String comment)的方法。

  2. 让付费版本的CommentPoster类的postComment()方法来发送注释到服务器

  3. 让在免费版本的CommentPoster类的postComment()方法创建一个对话框,烤面包或告诉用户该功能不可用的其他方法。你可以任意有一个名为isAvailable()在ICommentPoster另一种方法,如果你想要让用户事先知道,注释不可

如果你真的不喜欢以下两种库项目的想法和希望把所有的代码在一个项目中,你可以做一些预处理,包括一个出两个不同的配置文件,并安装了该应用读取配置文件,以检查是否意见应该是可用。这具有容易被破解很容易,因为你需要有所有的代码在你的应用程序中的缺点和它的简单修改配置文件来获得付费版本的好处(最有可能在已解锁装置的高风险我猜)的问题

+0

例如,Word将PDF转换,保存按钮为免费版本禁用和付费版或免费版本启用显示一个对话框“付费版本所需”的消息。 – Karthick

+0

我创建它发送的反馈和意见例如App应用程序。对于免费版本,该评论不会发布,并且应该过帐。 – Karthick

+0

更新了一个建议使用的库项目,这两个版本之间的不同 – britzl

相关问题