帮助文档

快发助手Java接入文档

1.SDK结构

android.jpg

文件名
KFMaster_Android_2.0_Demo
可以直接运行的demo
assets 附加文件
libs 依赖库
res 资源文件
AndroidManifest.xml

配置清单文件

2.接入步骤

  1. 把assets,res ,libs中的内容拷贝进项目工程对应目录

  2. 清单文件,把如下节点内容拷贝进项目工程

  • 权限配置

    <uses-permission android:name="android.permission.INTERNET" />

    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

    <uses-permission android:name="android.permission.READ_PHONE_STATE" />

    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />

    <uses-permission android:name="android.permission.READ_LOGS"/>

    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />


  • meta配置

        <!-- 游戏密钥-->

        <meta-data

            android:name="HJR_GAMEKEY"

            android:value="请填入申请的gamekey" >

        </meta-data>

        <!--请勿修改!-->

        <meta-data

            android:name="HJR_CHANNEL"

            android:value="\ 0103" >

        </meta-data>

        <!--注意:在发正式包之前,务必修改 HJR_DATA_URL_DEBUG = false-->

        <meta-data

            android:name="HJR_DATA_URL_DEBUG"

            android:value="true" />


  • application节点配置

     配置的application必须继承至com.hjr.sdkkit.bridge.app.HJRSDKKitBaseApplication

3.业务功能接口

3.1 初始化(必接)

HJRSDKKitPlateformCore hjrSDK = HJRSDKKitPlateformCore.initHJRPlateform(new KFMasterSDKCallBack());

hjrSDK.Business.init(this);

@Override

public  void initCallBack(int retStatus, String retMessage) {

    if (retStatus == HJRSDKKitPlateformCallBack.STATUS_SUCCESS) {

    //成功, 只有在sdk初始化成功之后才能调用sdk的登录

    }else {

    //失败

    }

}

@Override

public void exitGameCallBack(int retStatus, String retMessage) {

    if (retStatus == HJRSDKKitPlateformCallBack.STATUS_SUCCESS) {

    // 退出提示框点击了确定,做资源回收,退出应用

    }else {

    //点击了取消

    }

}

/**

* loginUserId    : 渠道用户唯一标识

* loginUserName  : 用户名

* loginAuthToken : 用户登陆token, 用于向服务端验证

* loginOpenId    : 快发大师平台用户唯一标识

*/

@Override

public void loginCallBack(String loginUserId, String loginUserName,

String loginAuthToken, String loginOpenId, int retStatus,

String retMessage) {

    if (retStatus == HJRSDKKitPlateformCallBack.STATUS_SUCCESS) {

    //登录成功 , 通常在这里可以调用sdk的登录统计接口了:hjrSDK.Collections.onDatas(DataTypes.DATA_LOGIN, pc);

    }else {

    //登录失败:游戏这里必须做处理,可以做失败提示或者再次激活登录按钮让玩家可以再次发起登录操作

    }

}

@Override

public void logoutCallBack(int retStatus, String retMessage) {

    if (retStatus == HJRSDKKitPlateformCallBack.STATUS_SUCCESS) {

    //注销成功, 调用sdk的登录

    }

}

/**

* payKitOrderId    : 订单号

*/

@Override

public void payCallBack(String payKitOrderId, int retStatus,

String retMessage) {

    if (retStatus == HJRSDKKitPlateformCallBack.STATUS_SUCCESS) {

    //支付成功 ,确认到账后就可以调用sdk的支付统计接口:hjrSDK.Collections.onDatas(DataTypes.DATA_PAY, pc);

    

    }

}

/**

* orderStatus : 

* 0:整个充值流程已经成功走完;

* 4:标识充值成功但是添加道具失败;

* 否则表示失败

*/

@Override

public void getOrderResultCallBack(String orderStatus,int retStatus, String retMessage) {

    if (retStatus == HJRSDKKitPlateformCallBack.STATUS_SUCCESS) {

    

    }

}

3.2 登录(必接)

hjrSDK.Business.login(Activity activity);

3.3 支付(必接)

ParamsContainer pc = new ParamsContainer();

// 所购买商品金额, 以元为单位。

pc.putInt(ParamsKey.KEY_PAY_AMOUNT,);

// 购买数量 

pc.putInt(ParamsKey.KEY_PAY_PRODUCT_NUM, );

// 订单号, 没有传""

pc.putString(ParamsKey.KEY_PAY_ORDER_ID,"");

//商品ID

pc.putInt(ParamsKey.KEY_PAY_PRODUCT_ID,);

// 所购买商品名称

pc.putString(ParamsKey.KEY_PAY_PRODUCT_NAME,"");

// 区服ID 

pc.putString(ParamsKey.KEY_PAY_SERVER_ID,"");

// 区服名

pc.putString(ParamsKey.KEY_PAY_SERVER_NAME,"");

// 角色ID

pc.putString(ParamsKey.KEY_PAY_ROLE_ID, "");

// 角色名

pc.putString(ParamsKey.KEY_PAY_ROLE_NAME, "");

// 角色等级

pc.putString(ParamsKey.KEY_PAY_ROLE_LEVEL, "");

// 用户ID

pc.putString(ParamsKey.KEY_PAY_USER_ID, "");

// 用户名

pc.putString(ParamsKey.KEY_PAY_USER_NAME, "");

// 扩展参数

pc.putString(ParamsKey.KEY_EXTINFO, "");


hjrSDK.Business.pay(pc);

3.4 注销(必接)

hjrSDK.Business.logout();

3.5 获取订单结果

ParamsContainer pc = new ParamsContainer();

pc.put(ParamsKey.KEY_PAY_ORDER_ID,"");

hjrSDK.Business.getOrderInfo(pc);

3.6用户中心(必接)

hjrSDK.Business.userCenter();

3.7退出游戏(必接)

hjrSDK.Business.exitGame(Activity activity);

说明:该接口会弹出退出确认提示框, 在点击确定之后,只会回收sdk的资源,所以退出整个游戏需要游戏方在回调中自行处理

4.生命周期函数接口(必接)

@Override

protected void onResume() {

super.onResume();

if (hjrSDK != null) {

hjrSDK.LifeCycle.onResume();

}

}


@Override

protected void onPause() {

super.onPause();

if (hjrSDK != null) {

hjrSDK.LifeCycle.onPause();

}

}


@Override

protected void onStop() {

super.onStop();

if (hjrSDK != null) {

hjrSDK.LifeCycle.onStop();

}

}


@Override

protected void onDestroy() {

super.onDestroy();

if (hjrSDK != null) {

hjrSDK.LifeCycle.onDestroy();

}

}


@Override

public void onConfigurationChanged(Configuration newConfig) {

super.onConfigurationChanged(newConfig);

if (hjrSDK != null) {

hjrSDK.LifeCycle.onConfigurationChanged(newConfig);

}

}


@Override

protected void onSaveInstanceState(Bundle outState) {

super.onSaveInstanceState(outState);

if (hjrSDK != null) {

hjrSDK.LifeCycle.onSaveInstanceState(outState);

}

}


@Override

protected void onNewIntent(Intent intent) {

super.onNewIntent(intent);

if (hjrSDK != null) {

hjrSDK.LifeCycle.onNewIntent(intent);

}

}

5.数据统计接口

5.1登录(必接)

ParamsContainer pc = new ParamsContainer();

// 用户标识

pc.putString(ParamsKey.KEY_USER_ID, "");

// 服务器编号

pc.putString(ParamsKey.KEY_SERVER_ID, "");


hjrSDK.Collections.onDatas(DataTypes.DATA_LOGIN, pc);

5.2上传角色区服信息(必接)

ParamsContainer pc = new ParamsContainer();

// 角色id

pc.putString(ParamsKey.KEY_ROLE_ID, "");

// 角色昵称

pc.putString(ParamsKey.KEY_ROLE_NAME, "");

// 角色等级

pc.putInt(ParamsKey.KEY_ROLE_LEVEL, );

// 服务器编号

pc.putString(ParamsKey.KEY_SERVER_ID, "");

// 服务器名称

pc.putString(ParamsKey.KEY_SERVER_NAME, "");

// 角色所在帮派或工会名称,没有可以传""

pc.putString(ParamsKey.KEY_ROLE_PARTY_NAME, "");

// VIP等级,没有可以传""

pc.putString(ParamsKey.KEY_ROLE_VIP_LEVEL, ");


hjrSDK.Collections.onDatas(DataTypes.DATA_SERVER_ROLE_INFO, pc);

5.3支付(必接)

ParamsContainer pc = new ParamsContainer();

// 充值金额

pc.putInt(ParamsKey.KEY_AMOUNT, );

// 服务器ID

pc.putString(ParamsKey.KEY_SERVER_ID, "");

// 服务器名称

pc.putString(ParamsKey.KEY_SERVER_NAME, "");

// 用户标识

pc.putString(ParamsKey.KEY_USER_ID, "");

// 角色唯一标识

pc.putString(ParamsKey.KEY_ROLE_ID, ""); 

// 订单号

pc.putString(ParamsKey.KEY_ORDERNUMBER, "");

// 玩家等级

pc.putString(ParamsKey.KEY_ROLE_GRADE, "");

// 角色昵称

pc.putString(ParamsKey.KEY_ROLE_NAME, "");

// 商品描述

pc.putString(ParamsKey.KEY_PRODUCT_DESC, "");


hjrSDK.Collections.onDatas(DataTypes.DATA_PAY, pc);

5.4角色升级(必接)

ParamsContainer pc = new ParamsContainer();

// 用户标识

pc.putString(ParamsKey.KEY_USER_ID, "");

// 服务器编号

pc.putString(ParamsKey.KEY_SERVER_ID, "");

// 玩家等级

pc.putString(ParamsKey.KEY_ROLE_GRADE, "");

// 角色id

pc.putString(ParamsKey.KEY_ROLE_ID, "");

// 角色昵称

pc.putString(ParamsKey.KEY_ROLE_NAME, "");

// 服务器名称

pc.putString(ParamsKey.KEY_SERVER_NAME, "");


hjrSDK.Collections.onDatas(DataTypes.DATA_ROLE_UPGRADE, pc);

5.4创建角色(必接)

ParamsContainer pc = new ParamsContainer();

// 用户标识

pc.putString(ParamsKey.KEY_USER_ID, "");

// 角色标识

pc.putString(ParamsKey.KEY_ROLE_ID, "");

// 角色昵称

pc.putString(ParamsKey.KEY_ROLE_NAME, "");

// 服务器编号

pc.putString(ParamsKey.KEY_SERVER_ID, "");

// 服务器名称

pc.putString(ParamsKey.KEY_SERVER_NAME, "");


hjrSDK.Collections.onDatas(DataTypes.DATA_CREATE_ROLE, pc)

5.5游戏按钮点击

ParamsContainer pc = new ParamsContainer();

pc.putString(ParamsKey.KEY_USER_ID, "");

pc.putString(ParamsKey.KEY_NAME, "");

hjrSDK.Collections.onDatas(DataTypes.DATA_BUTTON_CLICK, pc);