【问题标题】:Android - how to make trial version of android app?Android - 如何制作 Android 应用程序的试用版?
【发布时间】:2012-06-19 09:43:51
【问题描述】:

在我的应用程序中,我想为我的应用程序实现试用版和完整版功能。在此试用版中,所有人都可以使用完整版,付费完整版的用户可以使用完整版。那么请建议我如何实现这些功能?

【问题讨论】:

    标签: android


    【解决方案1】:

    其他答案不是我所说的“试用”。概述的解决方案更像是“Lite”与“Pro”应用方法。

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

    【讨论】:

      【解决方案2】:

      我多次遇到同样的问题,所以我决定开发一个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。

      【讨论】:

        【解决方案3】:

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

        【讨论】:

        • 我的理解是应用程序许可是一种用户验证的方法。因此,例如,如果用户在 Google Play 上购买了您的应用程序,然后将其提供给将其侧载到与购买者帐户无关的设备上的朋友,该系统可能会检测到违规行为并阻止执行。但是,我认为该工具本身并不像应用内支付那样支持从用户那里收款,如果我是正确的,那么这可能不适合您的需求。
        【解决方案4】:

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

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

        我推荐第二种方式,因为用户只需下载一次应用程序。

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

        希望,这会有所帮助。干杯!

        【讨论】:

        • 但是,请注意,Google 在一些国家/地区不支持付费应用/应用内结算。如果您位于此列表中未列出的国家/地区,例如印度 (support.google.com/googleplay/android-developer/bin/…),那么您就不走运了。然后你必须求助于第三方集成进行购买
        • +1 到@OvidiuLatcu。我认为应用程序许可将更优雅地实现您的目的。谢谢!
        猜你喜欢
        • 2022-01-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-07-15
        • 2012-09-09
        • 2011-05-30
        • 1970-01-01
        相关资源
        最近更新 更多