付费下载SDK文档

1. SDK验证流程

2. 开发前需知

在接入时,我们会提供CP测试用的 packageName 和游戏盒测试账号密码,方便CP开发阶段的测试。务必测试:能进入到可以玩游戏的界面,才能表明已正确接入该SDK。

备注:测试账号仅用于方便测试,请勿对游戏盒测试账号更改资料、密码,发布无意义的、敏感的评论动态等其他操作,请遵守!!!

3. SDK实现说明

SDK的核心是提供一个验证流程的 Activity 页面,这个验证流程分为三个,(以下简称流程)顺序是:

(1) 检查网络是否连上并可用

(2)检查是否安装符合版本的游戏盒(游戏盒版本3.8.1及以上)

(3)调用游戏盒,请求网络,检查游戏是否已经购买

在(1)、(2)、(3)流程都通过后(已联网、已安装符合版本的游戏盒、已购买该游戏),SDK会保存验证通过的时间戳。
打开APP从未通过验证的,不属于“可以玩”
已通验证后,后续打开未通过验证:
    1、如果在 限制时间 内,属于“可以玩”;
    2、如果超过 限制时间,不属于“可以玩”。
何为限制时间?
    答:第一次验证通过后,本地会缓存通过的状态,在限制时间内再次启动,即使没有通过验证,也能正常进入游戏。
        缓存限制时间过期后,需要重新验证。限制时间默认为7天,厂商可调整时间长度。

4. 依赖

(1) 依赖,SDK以aar文件存在,在libs目录添加 m4399-paysdk-1.0.4.aar文件, 在moudle下的build.gradle添加如下:

 dependencies {
        compile(name: 'm4399-paysdk-1.0.4', ext: 'aar')
        //这里可以换成自己想要的support版本,这行依赖为了使用support v4包 
        compile 'com.android.support:appcompat-v7:26.+' }

(2)Eclipse 开发环境下,sdk 以jar文件和资源文件提供,添加依赖文件 m4399-paysdk-v1.0.4.jar ,SDK里的 res 文件夹里的文件拷贝到自己项目对应的目录里,AndroidManifest.xml 文件里的权限声明和 Activity申明 拷贝到自己项目的 AndroidManifest.xml

5. API使用

在流程页面打开之前(建议在Application的onCreate())调用SDK初始化配置:

M4399GameBoxClient.getInstance().init(limitTime, packageName, listener);

或者调用

M4399GameBoxClient.getInstance().init(packageName, listener);//默认限制时间为7天
limitTime 代表限制时间,单位毫秒,比如一天:DateUtils.DAY_IN_MILLIS
 packageName 代表游戏的包名,在开发测试时,请填上我们提供的测试的包名,发布时,使用真实的包名
 listener 应继承自M4399GameBoxClient.DefaultVerifyListener 
 DefaultVerifyListener类的两个抽象方法说明:
 onPassInLimitTime(Activity hostActivity) 验证流程未通过,但是在限制之间内,会触发该方法,hostActivity是流程页面Activity。 
 onVerifyPass(Activity hostActivity) 验证流程通过,会触发该方法。
这两个方法的通用实现:进入游戏并关闭流程页面Activity。

打开流程页面(一般是在闪屏页面关闭后,打开页面的顺序:闪屏页面-->验证流程页面-->游戏页面)

M4399GameBoxClient.getInstance().openCheckFlowPage(this);//这句【务必】在玩游戏的页面之前调用。

6. 混淆处理

如果你的应用开启了混淆,请不要混淆SDK代码,添加如下配置:

-dontwarn android.support.v4.**
-keep class android.support.v4.**{ ;}
-keep class com.m4399.paysdk.*{ ;}
-keepclassmembers class com.m4399.payssdk.R${*;}

注意:如果使用 eclipse 开发,你们有自己的混淆处理的话,请确保sdk里资源文件不要混淆,否则SDK找不到资源。Android默认不会混淆资源文件。