【发布时间】:2012-06-19 09:43:51
【问题描述】:
在我的应用程序中,我想为我的应用程序实现试用版和完整版功能。在此试用版中,所有人都可以使用完整版,付费完整版的用户可以使用完整版。那么请建议我如何实现这些功能?
【问题讨论】:
标签: android
在我的应用程序中,我想为我的应用程序实现试用版和完整版功能。在此试用版中,所有人都可以使用完整版,付费完整版的用户可以使用完整版。那么请建议我如何实现这些功能?
【问题讨论】:
标签: android
其他答案不是我所说的“试用”。概述的解决方案更像是“Lite”与“Pro”应用方法。
我认为试用是一个功能齐全的应用,在 X 天/周后到期。
【讨论】:
我多次遇到同样的问题,所以我决定开发一个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。
【讨论】:
您还应该看看Android's Application Licensing。我不确定这是否完全符合您的想法,但我相信您可以调整您的需求以使其适合您,我会说这将是正确的解决方案。
【讨论】:
有两种方法可以做到这一点,我能想到:
我推荐第二种方式,因为用户只需下载一次应用程序。
请参阅此处的 Android 应用内结算文档:http://developer.android.com/guide/market/billing/index.html
希望,这会有所帮助。干杯!
【讨论】: