Android - 如何制作Android应用的试用版?

时间:2012-06-19 09:43:52

标签: android

在我的应用程序中,我想为我的应用程序实现试用版和完整版功能。在此试用版中,所有人都可以使用该版本,并且付费完整版的用户可以使用完整版。那么请告诉我如何实现这样的功能?

4 个答案:

答案 0 :(得分:5)

有两种方法可以做到这一点,我可以想到:

  1. 构建apk文件的2个版本,并向Android Market发布两次。
    • 一个是试用版,启用广告或功能有限
    • 第二个将作为付费应用提供,解锁全部功能。
  2. 将该应用作为试用版发布,并添加对应用内购买的支持,以解锁该应用的全部功能。这通常被称为免费增值(http://en.wikipedia.org/wiki/Freemium)类型的应用程序。
  3. 我推荐第二种方式,因为用户只需下载一次应用程序。

    请在此处参阅Android的应用内结算文档:http://developer.android.com/guide/market/billing/index.html

    希望,这有帮助。干杯!

答案 1 :(得分:4)

我已经多次遇到同样的问题,所以我决定开发一个Android Trial Library,你可以直接放入你的项目中,它将负责所有的服务器端为您管理(包括离线宽限期)。

要使用它,只需

将库添加到主模块build.gradle

dependencies {
  compile 'io.trialy.library:trialy:1.0.2'
}

在您的主要活动onCreate()方法

中初始化库
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    //Initialize the library and check the current trial status on every launch
    Trialy mTrialy = new Trialy(mContext, "YOUR_TRIALY_APP_KEY");
    mTrialy.checkTrial(TRIALY_SKU, mTrialyCallback);
}

添加回调处理程序:

private TrialyCallback mTrialyCallback = new TrialyCallback() {
    @Override
    public void onResult(int status, long timeRemaining, String sku) {
        switch (status){
            case STATUS_TRIAL_JUST_STARTED:
                //The trial has just started - enable the premium features for the user
                 break;
            case STATUS_TRIAL_RUNNING:
                //The trial is currently running - enable the premium features for the user
                break;
            case STATUS_TRIAL_JUST_ENDED:
                //The trial has just ended - block access to the premium features
                break;
            case STATUS_TRIAL_NOT_YET_STARTED:
                //The user hasn't requested a trial yet - no need to do anything
                break;
            case STATUS_TRIAL_OVER:
                //The trial is over
                break;
        }
        Log.i("TRIALY", "Trialy response: " + Trialy.getStatusMessage(status));
    }

};

要开始试用,请致电mTrialy.startTrial("YOUR_TRIAL_SKU", mTrialyCallback); 您可以在developer dashboard上找到您的应用密钥和试用SKU。

答案 2 :(得分:3)

其他答案不是我称之为"试验"。概述的解决方案更像是" Lite" vs" Pro" app方法。

我认为试用是一个功能齐全的应用程序,在X天/周后过期。

答案 3 :(得分:2)

您还应该看看Android's Application Licensing。我不确定这是否完全适合您的想法,但我相信您可以调整您的需求,使其适合您,我会说这将是正确的解决方案。