Android 获得应用程序的完整版本和演示版本的正确方法是什么?

Android 获得应用程序的完整版本和演示版本的正确方法是什么?,android,Android,我希望用户能够下载我的应用程序的演示版本,这将有一定的限制。然后,如果需要,他们可以购买完整的应用程序。我找到了两种管理方法,并想知道哪种方法是最佳做法: 列出完整版本和演示版本。演示版是免费的,完整版不是。这很简单,但不幸的是,用户必须卸载演示版本并安装完整版本(并丢失任何应用程序数据/设置) 列出一个免费应用程序和一个非免费“密钥应用程序”。完整的应用程序是免费下载和安装的,但除非安装了“关键应用程序”,否则将在演示版中运行。这允许用户在不丢失任何设置的情况下“升级”演示版本。我担心的主要缺

我希望用户能够下载我的应用程序的演示版本,这将有一定的限制。然后,如果需要,他们可以购买完整的应用程序。我找到了两种管理方法,并想知道哪种方法是最佳做法:

  • 列出完整版本和演示版本。演示版是免费的,完整版不是。这很简单,但不幸的是,用户必须卸载演示版本并安装完整版本(并丢失任何应用程序数据/设置)

  • 列出一个免费应用程序和一个非免费“密钥应用程序”。完整的应用程序是免费下载和安装的,但除非安装了“关键应用程序”,否则将在演示版中运行。这允许用户在不丢失任何设置的情况下“升级”演示版本。我担心的主要缺点是市场不清晰,我担心用户会被整个“免费应用程序,但为关键应用程序付费”的场景所迷惑


  • 大多数应用程序使用第一种方法。我不认为卸载演示版是一个大问题。

    您可以使用此处的代码片段:获取已安装的应用程序。因此,如果你看到你的“解锁器”或“钥匙应用程序”已安装,那么你将释放应用程序的全部功能


    关于您的第一个项目符号,我只是更改了清单和源中的包名。如果我有com.me.myapp,我会创建“com.me.full.myapp”。我让用户卸载以前的应用。

    关于卸载的需要,请参阅。

    您可以尝试使用应用内购买。这给了您第2点的好处,但没有任何混淆。
    http://developer.android.com/guide/market/billing/billing_admin.html

    这是我在自己的应用程序中使用的方法(+1)。我发现这种方法有3个缺点:1。您必须为您的应用所处的每个市场实施特定的应用内计费代码(如果支持)。第二:测试和调试更难-想象一下,你必须用多个帐户/卡/市场应用程序版本对其进行QA。第三:退款政策不适用于应用内购买,退款必须手动完成。