supersdk

文档中心

文档中心

下载文档

接入前准备(java)


接入前,请确保已下载最新版本SuperSDK4.0+Demo(Java版)

导入libs库文件

将基础模块下载下来的所有aar包复制到游戏项目的libs目录下,如果没有请新建。然后在build.gradle内写入下列代码:

bcore-release.aar               基础库,必须导入,以下库均依赖此库,内含统计sdk,和工具基础库utils.jar
supersdk-release.aar            supersdk对外库,内含平台模块(platform),及对外接口
supersdk-mubao-release.aar      supersdk母包,模拟渠道运行环境,供测试使用,打渠道包时可以删除

Screenshot

复制代码:
repositories {
    flatDir{dirs'libs'}
}
dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile(name:'bcore-release', ext:'aar')
    compile(name:'supersdk-mubao-release', ext:'aar')
    compile(name:'supersdk-release', ext:'aar')
}

写入完毕,然后请点击编辑界面右上角的同步,即‘Sync Now’按键。把本次修改同步到游戏项目中

修改AndroidManifest(必须)

添加 android:name=“com.supersdk.openapi.SuperSdkApplication” 至application节点。

<application
        android:allowBackup="true"
        android:label="SuperSDKDemo" 
        // 添加下面这个值即可
        android:name="com.supersdk.openapi.SuperSdkApplication" >
        ......
</application >

##添加母包配置文件##

从打包工具下载母包配置,并添加(替换)到assets目录下,如下图所示 Screenshot

初始化

接口描述:初始化supersdk及各个模块

接口调用:游戏必须在activity的onCreate方法中同步调用,调用时游戏必须暂停,收到平台模块(platform)模块的成功回调即可认为成功,游戏可恢复运行

SuperSDK.init(MainActivity.this, mSuperSDKListener);

接口回调:

private OnSuperSDKListener mSuperSDKListener = new OnSuperSDKListener() {
    
    @Override
    public void onSuperSDK(String moduleName, String funcName, String result) {
        //调用接口异步监听结果。
        Log.d(TAG, "moduleName:" + moduleName + "\nfuncName:" + funcName + "\nresult:" + result);
        //判断这是平台模块("platform")内的方法,并且方法为初始化("init")
        if(BCoreConst.platform.MODULE_NAME.equals(moduleName) && BCoreConst.platform.FUNC_INIT.equals(funcName)) {
            //初始化回调,建议调用独立的初始化处理方法
            init(result);
        }else {
            Log.d("supersdk", "其他模块方法的监听结果");
        }
    }
};
//这个方法处理初始化结果
privite void init(String result) {
    JSONObject json = JsonUtils.parseObject(result);
    int code = json.getIntValue("code");
    if(code == BCoreCode.SUCCESS) {
        //初始化成功,游戏恢复,游戏继续运行
        Log.d("supersdk", "初始化成功");
    } else {
        //初始化失败,游戏必须重启,或弹框提示玩家重启
        String msg = json.getString("msg");
        Log.d("supersdk", "初始化失败,请重启游戏:"+code+", "+msg);
    }
}

日志打印:

moduleName:platform
funcName:init
result:{"code":1,"msg":"没有更新接口"}

集成生命周期接口

接口描述:生命周期接口务必在游戏主activity的对应方法中同步调用

@Override
protected void onStart() {
    super.onStart();
    SuperSDK.lifecycle.onStart();
}

protected void onResume() {
    super.onResume();
    SuperSDK.lifecycle.onResume();
};

@Override
protected void onPause() {
    super.onPause();
    SuperSDK.lifecycle.onPause();
}

@Override
protected void onStop() {
    super.onStop();
    SuperSDK.lifecycle.onStop();
}

@Override
protected void onRestart() {
    super.onRestart();
    SuperSDK.lifecycle.onRestart();
}

@Override
protected void onNewIntent(Intent intent) {
    super.onNewIntent(intent);
    SuperSDK.lifecycle.onNewIntent(intent);
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    SuperSDK.lifecycle.onActivityResult(requestCode, resultCode, data);
}

@Override
protected void onSaveInstanceState(Bundle outState) {
    super.onSaveInstanceState(outState);
    SuperSDK.lifecycle.onSaveInstanceState(outState);
}

@Override
public void onConfigurationChanged(Configuration newConfig) {
    super.onConfigurationChanged(newConfig);
    SuperSDK.lifecycle.onConfigurationChanged(newConfig);
}

@Override
protected void onDestroy() {
    super.onDestroy();
    SuperSDK.lifecycle.onDestroy();
}

附录

invoke方法中,为了让游戏开发者不用记住难记各种字符串常量值,如模块名称、方法名称等各种。supersdk提供了一个常量类,专门记录各种模块名,各个方法名常量值。

如下表所示:

字符串常量 实际字符串 描述
平台模块常量
BCoreConst.platform.MODULE_NAME platform 模块名称,每个模块常量名固定
BCoreConst.platform.FUNC_LOGIN login 登录
BCoreConst.platform.FUNC_HAS_LOGOUT hasLogout 渠道是否有注销接口
BCoreConst.platform.FUNC_LOGOUT logout 注销
BCoreConst.platform.FUNC_PAY pay 支付
BCoreConst.platform.FUNC_EXIT exit 退出游戏
BCoreConst.platform.FUNC_ENTER_GAME enterGame 进入游戏
BCoreConst.platform.FUNC_CREATE_ROLE createRole 创建角色
BCoreConst.platform.FUNC_LEVEL_UP levelUp 角色升级
BCoreConst.platform.FUNC_HAS_FORUM hasForum 判断是否有论坛
BCoreConst.platform.FUNC_OPEN_FORUM openForum 打开论坛
BCoreConst.platform.FUNC_HAS_USER_CENTER hasUserCenter 判断是否有用户中心
BCoreConst.platform.FUNC_OPEN_USER_CENTER openUserCenter 打开用户中心
BCoreConst.platform.FUNC_HAS_CUSOMER_SERVICE hasCustomerService 判断是否有客服
BCoreConst.platform.FUNC_OPEN_CUSOMER_SERVICE openCustomerService 打开客服
BCoreConst.platform.FUNC_OPEN_LOGIN_PAGE openLoginPage 进入登录页面
BCoreConst.platform.FUNC_OPEN_HOME_PAGE openHomePage 进入游戏首页
BCoreConst.platform.FUNC_HAS_GUEST hasGuest 用户是否为游客
BCoreConst.platform.FUNC_GUEST_UPGRADE guestUpgrade 游客升级
BCoreConst.platform.FUNC_OTHER_FUNCTION otherFunction 扩展接口other
BCoreConst.platform.FUNC_REPORT report supersdk添加自定义埋点
统计模块常量
BCoreConst.stats.MODULE_NAME stats 模块名称
BCoreConst.stats.FUNC_REPORT report 统计上报
BCoreConst.stats.FUNC_GET_DEVICE_INFO getDeviceInfo 获取上报所需的设备信息
工具模块常量
BCoreConst.tools.MODULE_NAME tools 模块名称
BCoreConst.tools.FUNC_GET_DEVICE_ID getDeviceId 获取设备ID
BCoreConst.tools.FUNC_GET_COLLECTION_DATA getCollectionData 采集设备信息
BCoreConst.tools.FUNC_GET_IPINFO getClientIPInfo 获取客户端IP信息,如ip地区
BCoreConst.tools.FUNC_GET_LANGUAGE getLanguage 获取本地系统语言
BCoreConst.tools.FUNC_GET_COUNTRY getCountry 获取本地国家地区
BCoreConst.tools.FUNC_COPY_TOCLIPBOARD copyToClipboard 复制文字到剪切板
BCoreConst.tools.FUNC_ALERT alert 弹窗
BCoreConst.tools.FUNC_GET_PACKAGE_NAME getPackageName 获取应用包名
BCoreConst.tools.FUNC_GET_VERSION_NAME getVersionName 获取AndroidManifest下versionName
BCoreConst.tools.FUNC_GET_VERSION_CODE getVersionCode 获取AndroidManifest下versionCode
BCoreConst.tools.FUNC_GET_META_DATA getMetaData 获取AndroidManifest下meta-data的value值
BCoreConst.tools.FUNC_SET_SCREEN_LIGHT setScreenLight 调节屏幕亮度
BCoreConst.tools.FUNC_SAVE_DATA saveData 保存数据
BCoreConst.tools.FUNC_GET_DATA getData 获取保存的数据
配置模块常量
BCoreConst.config.MODULE_NAME config 模块名称
BCoreConst.config.FUNC_GET_VALUE getValue 获取配置信息,如yz_game_id、extend、extend2等
广告模块常量
BCoreConst.advert.MODULE_NAME advert 模块名称
BCoreConst.advert.FUNC_TRACK track 激活广告
游族模块常量
BCoreConst.advert.MODULE_NAME youzu 模块名称
BCoreConst.advert.FUNC_GET_VALUE getValue 获取配置,如opid、opgameid