• <blockquote id="cao8w"></blockquote>
  • <blockquote id="cao8w"><input id="cao8w"></input></blockquote>
    <input id="cao8w"></input>
  • <blockquote id="cao8w"><samp id="cao8w"></samp></blockquote>
  • 帮助文档

    快发助手Java接入文档

    版本号 修改说明 作者 时间
    v3.1 文档创建 HooRang 2016-06-23

    名词解释

    名词 解释
    母包 母包=纯净的游戏包+快发sdk,也就是游戏接好快发sdk之后就是一个母包
    打包工具 快发提供的一个win/mac os打包客户端,渠道包由该工具进行生成
    签名文件 生成apk时需要使用的*.keystore文件

    前言

    业务功能、统计、生命周期函数??槿绶翘乇鸨曜ⅰ胺潜亟印本硎灸衔亟咏涌?,推送、分享插件??榘凑誧p意愿,自愿选择是否接入;

    引入sdk

    以library的方式引入sdk库项目(lib_Platform_SDK_v版本号)

    Unity的项目请注意:lib_Platform_SDK_v版本号.jar中包含有assets下面的资源,由于Unity项目打包时无法自动
    把这里的资源拷贝到项目中,所以需要把jar解压出来手动拷贝到Assets-Plugins-Android-assets目录中
    

    配置AndroidManifest.xml

    一、权限配置
    <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"/>
    
    二、Application配置
    SDK默认Application为:com.hjr.sdkkit.framework.mw.app.SDKBaseApplication;
    如有自定义的Application:需要继承com.hjr.sdkkit.framework.mw.app.SDKBaseApplication;
    将默认的或者是自定义的Application配置到AndroidManifest.xml中Applicataion节点的android:name当中;
    
    三、修改HJR_GAMEKEY
     <meta-data android:name="HJR_GAMEKEY" android:value="填入申请的gamekey" />
    

    客户端接口接入

    业务功能接口

    一、初始化
    通常在游戏第一个Activity的onCreate方法中调用
    HJRSDKKitPlatformCore sdkObj = HJRSDKKitPlateformCore.initHJRPlateform(
                                    Activity activity,HJRSDKKitPlateformCallBack callBack);
    
    参数 参数说明
    activity 游戏当前activity对象
    callBack 初始化全局回调对象,所有sdk接口均通过该对象中的接口方法向外进行回调
    二、登录
    在初始化成功之后方可以调用;这里请注意,点击设备物理返回键可以取消登录并且sdk在这种情况下不会给出任何回调,并且注意处理连续点击按钮情况,可以参见demo
    sdkObj.User.login(Activity activity);
    
    参数 参数说明
    activity 游戏当前activity对象
    三、支付
    在购买商品时调用,请注意处理连续点击情况,可以参见demo
    ParamsContainer pc = new ParamsContainer();
    pc.putInt(ParamsKey.KEY_PAY_AMOUNT, );
    pc.putInt(ParamsKey.KEY_PAY_PRODUCT_NUM, );
    pc.putString(ParamsKey.KEY_PAY_ORDER_ID, "");
    pc.putInt(ParamsKey.KEY_PAY_PRODUCT_ID, );
    pc.putString(ParamsKey.KEY_PAY_PRODUCT_NAME, "");
    pc.putString(ParamsKey.KEY_PRODUCT_DESC, "");
    pc.putString(ParamsKey.KEY_EXTINFO, "");
    sdkObj.Pay.pay(pc);
    
    参数 参数说明
    ParamsKey.KEY_PAY_AMOUNT 支付金额,整形,以元为单位
    ParamsKey.KEY_PAY_PRODUCT_NUM 购买数量,整形,通常情况为1
    ParamsKey.KEY_PAY_ORDER_ID 游戏方自定义订单号,字符串,会通过服务器回传给cp服务器
    ParamsKey.KEY_PAY_PRODUCT_ID 商品id,整形,多个充值档位不允许重复
    ParamsKey.KEY_PAY_PRODUCT_NAME 当前购买商品的商品名称,字符串
    ParamsKey.KEY_PRODUCT_DESC 当前购买商品的商品描述,字符串
    ParamsKey.KEY_EXTINFO 扩展参数,字符串,透传给cp服务器,可以为“”
    四、注销
    需要在游戏中添加按钮,点击后来调用
    sdkObj.User.logout();
    
    五、用户中心
    需要在游戏中添加按钮,点击后来调用
    sdkObj.User.userCenter();
    
    六、退出游戏
    在点击设备物理返回键中调用,在这里只能保留sdk的一个退出确认提示框
    sdkObj.Base.exitGame(Activity activity);
    
    参数 参数说明
    activity 游戏当前activity对象
    七、重写Activity生命周期函数
    以下生命周期函数原封不懂的拷贝到游戏的主Activity当中
    @Override
    protected void onResume() {
        super.onResume();
        if (sdkObj != null) {
            sdkObj.LifeCycle.onResume();
        }
    }
    
    @Override
    protected void onPause() {
        super.onPause();
        if (sdkObj != null) {
            sdkObj.LifeCycle.onPause();
        }
    }
    
    @Override
    protected void onStop() {
        super.onStop();
        if (sdkObj != null) {
            sdkObj.LifeCycle.onStop();
        }
    }
    
    @Override
    protected void onDestroy() {
        super.onDestroy();
        if (sdkObj != null) {
            sdkObj.LifeCycle.onDestroy();
        }
    
    }
    
    @Override
    public void onConfigurationChanged(Configuration newConfig) {
        super.onConfigurationChanged(newConfig);
        if (sdkObj != null) {
            sdkObj.LifeCycle.onConfigurationChanged(newConfig);
        }
    }
    
    
    @Override
    protected void onSaveInstanceState(Bundle outState) {
        super.onSaveInstanceState(outState);
        if (sdkObj != null) {
            sdkObj.LifeCycle.onSaveInstanceState(outState);
        }
    }
    
    @Override
    protected void onNewIntent(Intent intent) {
        super.onNewIntent(intent);
        if (sdkObj != null) {
            sdkObj.LifeCycle.onNewIntent(intent);
        }
    }
    
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (sdkObj != null) {
            sdkObj.LifeCycle.onActivityResult(requestCode, resultCode, data);
        }
    }
    
    八、全局回调对象HJRSDKKitPlateformCallBack
    调用HJRSDKKitPlateformCore.initHJRPlateform(Activity activity ,PlatformSDKCallBack callBack)后回调
    参数 参数说明 是否可能为空
    retStatus 接口调用返回状态
    初始化成功:HJRSDKKitPlateformCallBack.STATUS_SUCCESS
    初始化失败:HJRSDKKitPlateformCallBack.STATUS_FAIL
    retMessage 接口调用返回说明信息
    调用sdkObj.User.login()后回调
    参数 参数说明 是否可能为空
    retStatus 接口调用返回状态
    登录成功:HJRSDKKitPlateformCallBack.STATUS_SUCCESS
    登录失败:HJRSDKKitPlateformCallBack.STATUS_FAIL
    retMessage 接口调用返回说明信息
    loginUserId 某个渠道用户唯一标识
    loginUserName 某个渠道用户名
    loginAuthToken 用户验证token,可以用该值向sdk服务端验证用户有效性
    loginOpenId 全平台用户唯一标识
    switchUserFlag true:来自切换账号的登录;false:正常登录
    调用sdkObj.Pay.pay()后回调
    参数 参数说明 是否可能为空
    retStatus 接口调用返回状态
    支付成功:HJRSDKKitPlateformCallBack.STATUS_SUCCESS
    支付失败:HJRSDKKitPlateformCallBack.STATUS_FAIL
    retMessage 接口调用返回说明信息
    payKitOrderId 平台支付订单号
    调用sdkObj.User.logout()后回调
    参数 参数说明 是否可能为空
    retStatus 接口调用返回状态
    注销成功:HJRSDKKitPlateformCallBack.STATUS_SUCCESS
    注销失败:HJRSDKKitPlateformCallBack.STATUS_FAIL
    retMessage 接口调用返回说明信息
    调用sdkObj.Base.exitGame()后回调
    参数 参数说明 是否可能为空
    retStatus 接口调用返回状态
    点击确定:HJRSDKKitPlateformCallBack.STATUS_SUCCESS
    点击取消:HJRSDKKitPlateformCallBack.STATUS_FAIL
    retMessage 接口调用返回说明信息
    调用sdkObj.Pay.getOrderInfo(pc)的回调
    参数 参数说明 是否可能为空
    retStatus 接口调用返回状态
    点击确定:HJRSDKKitPlateformCallBack.STATUS_SUCCESS
    点击取消:HJRSDKKitPlateformCallBack.STATUS_FAIL
    retMessage 接口调用返回说明信息
    orderStatus 订单状态: 0:整个充值流程已经成功走完;4:标识充值成功但是添加道具失败;否则表示失败

    统计接口

    一、进入游戏
    在每次进入游戏时调用
    ParamsContainer pc = new ParamsContainer();
    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.put(ParamsKey.KEY_ROLE_CREATETIME, 0L);
    pc.put(ParamsKey.KEY_ROLE_UPGRADETIME, 0L);
    sdkObj.Collections.onDatas(DataTypes.DATA_ENTER_GAME, pc);
    
    参数 参数说明 是否可以为空
    ParamsKey.KEY_ROLE_ID 当前登录用户角色id
    ParamsKey.KEY_ROLE_NAME 当前登录用户角色名
    ParamsKey.KEY_ROLE_LEVEL 当前登录用户角色等级
    ParamsKey.KEY_SERVER_ID 当前登录区服id
    ParamsKey.KEY_SERVER_NAME 当前登录区服名
    ParamsKey.KEY_ROLE_CREATETIME 角色创建时间,传值注意事项请参加demo
    ParamsKey.KEY_ROLE_UPGRADETIME 角色升级时间,传值注意事项请参加demo
    二、创建角色
    在游戏中完成创建角色操作之后调用
    ParamsContainer pc = new ParamsContainer();
    pc.putString(ParamsKey.KEY_ROLE_ID, "");
    pc.putString(ParamsKey.KEY_ROLE_NAME, "");
    pc.putString(ParamsKey.KEY_SERVER_ID, "");
    pc.putString(ParamsKey.KEY_SERVER_NAME, "");
    sdkObj.Collections.onDatas(DataTypes.DATA_CREATE_ROLE, pc);
    
    参数 参数说明 是否可以为空
    ParamsKey.KEY_ROLE_ID 创建的角色id
    ParamsKey.KEY_ROLE_NAME 创建的角色名
    ParamsKey.KEY_SERVER_ID 当前登录用户所在区服id
    ParamsKey.KEY_SERVER_NAME 当前登录用户所在区服名

    三、角色升级
    在游戏中角色完成升级时调用,需要实时调用;
    ParamsContainer pc = new ParamsContainer();
    pc.putString(ParamsKey.KEY_ROLE_LEVEL, "");
    pc.put(ParamsKey.KEY_ROLE_CREATETIME, 0L);
    pc.put(ParamsKey.KEY_ROLE_UPGRADETIME, 0L);
    sdkObj.Collections.onDatas(DataTypes.DATA_ROLE_UPGRADE, pc);
    
    参数 参数说明 是否可以为空
    ParamsKey.KEY_ROLE_LEVEL 角色升级后的等级
    ParamsKey.KEY_ROLE_CREATETIME 角色创建时间,传值注意事项请参加demo
    ParamsKey.KEY_ROLE_UPGRADETIME 角色升级时间,传值注意事项请参加demo
    四、支付统计
    在客户端收到支付成功回调之后调用
    ParamsContainer pc = new ParamsContainer();
    pc.putInt(ParamsKey.KEY_AMOUNT, );
    pc.putString(ParamsKey.KEY_ORDERNUMBER, "");
    pc.putString(ParamsKey.KEY_PRODUCT_DESC, "");
    sdkObj.Collections.onDatas(DataTypes.DATA_PAY, pc);
    
    参数 参数说明 是否可以为空
    ParamsKey.KEY_AMOUNT 支付金额,以实际付款金额为准
    ParamsKey.KEY_ORDERNUMBER 订单号,可以使用平台支付返回订单号/游戏自己的订单号
    ParamsKey.KEY_PRODUCT_DESC 支付订单描述

    分享???/h3>

    一、打开分享
    ParamsContainer pc = new ParamsContainer();
    pc.putString(ParamsKey.KEY_SHARE_TITLE, "");    
    pc.putString(ParamsKey.KEY_SHARE_DESCRIPTION,"");
    pc.putString(ParamsKey.KEY_SHARE_TEXT, "");
    pc.putString(ParamsKey.KEY_SHARE_TARGETURL, "");
    pc.putString(ParamsKey.KEY_SHARE_IMAGEURL, "");
    sdkObj.Share.share(pc);
    
    参数 参数说明 是否可以为空
    ParamsKey.KEY_SHARE_TITLE 分享标题
    ParamsKey.KEY_SHARE_DESCRIPTION 分享内容描述
    ParamsKey.KEY_SHARE_TEXT 分享的文字
    ParamsKey.KEY_SHARE_TARGETURL 分享点击跳转链接
    ParamsKey.KEY_SHARE_IMAGEURL 分享图片链接

    推送???/h3>

    一、开启推送

    sdkObj.Push.startWork(Activity activity);

    参数 参数说明
    activity 游戏当前activity对象
    二、设置推送tag

    sdkObj.Push.setTags(String tag)

    参数 参数说明
    tag 需要设置的tag
    大地彩票 <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>