2017-03-26 44 views
0

我知道之前已經詢問過,但我發現的所有問題都很陳舊。我想這可能是自那以後發生了變化。Android - 如何實現免費試用期,無需提前付費用戶

我想提供一個試用期,用戶可以使用所有功能。我不喜歡谷歌在應用程序購買系統中這樣做..它使用戶支付訂閱費用,並提供選項在試用結束之前取消它。

我想要的是提供試用版,而無需提前爲用戶付費。這是使用谷歌的API還是我必須使用我自己的服務器呢?

+0

用戶實際上沒有收取試用費,他只是授權未來付款 – X3Btel

+0

是的,我知道......但我不想這樣。我認爲這是糟糕的營銷行爲。在試用期結束後,用戶應該看到付款對話框。 – Anonymous

+0

它是Android中的標準版本,它對開發人員來說效果更好。無論如何,我不認爲Google API會以您想要的方式工作 - 您可以按照您的建議在「SharedPreference」(hackable)或您自己的服務器中使用時間戳 – X3Btel

回答

0

我開發了一個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); 您的應用程序鍵和審判SKU可以在Trialy developer dashboard找到。

相關問題