在我的应用程序中,我想为我的应用程序实现试用版和完整版功能。在此试用版中,所有人都可以使用该版本,并且付费完整版的用户可以使用完整版。那么请告诉我如何实现这样的功能?
答案 0 :(得分:5)
有两种方法可以做到这一点,我可以想到:
我推荐第二种方式,因为用户只需下载一次应用程序。
请在此处参阅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。我不确定这是否完全适合您的想法,但我相信您可以调整您的需求,使其适合您,我会说这将是正确的解决方案。