主题
Skip to content 
WARNING
💡 模块名:GameHelper
SDK 初始化
在引入 SDK 并做好准备工作后,第二步就在启动场景组件中,进行 SDK 的初始化。
加载 SDK 脚本
在完成游戏业务的准备工作后,请引入 MainLoad 组件,在编辑器中挂载好组件。在合适的时机并调用其loadSDK
方法

请注意,加载 SDK 代码并不代表初始化,此时不能执行任何 SDK 模块。
参数
noSubpack
: 建议将 SDK 分包。 未分包写 true,已分包写 false 或不写name
: 分包名称suCallback
: SDK 代码加载成功回调. 需要在其中书写 SDK 初始化代码failCallback
: SDK 代码加载失败回调。一般除打包异常、代码包损坏的情况下触发。请自行进行告警,玩家不应进入游戏
javascript
import MainLoad from "./resources/SDKResources/MainLoad/scripts/MainLoad";
....
@property(MainLoad)
private SDKComp: MainLoad = null;
onLoad(){
....
this.SDKComp.loadSDK() {
noSubpack: false, // 已分包
name: "SDKlibs", // SDK分包名称, 仅在noSubpack为false配置
failCallback: () =>{
console.log("业务层 - SDK代码加载失败");
},
suCallback: ()=>{
console.log("业务层 - SDK代码加载成功");
//TODO 准备进行SDK初始化
}
}
}
初始化 SDK
GameHelper.init(opt)
在加载 SDK 成功后,应在其 suCallback 内调用GameHelper.init
方法进行初始化。仅在 init 方法的callback
执行完毕后, SDK 才算正式启动。
参数 | 类型 | 默认值 | 是否必填 | 说明 |
---|---|---|---|---|
opt | initParams | / | 是 | SDK 初始化参数 |
initParams
参数 | 类型 | 默认值 | 是否必填 | 说明 |
---|---|---|---|---|
ticket | string | / | 是 | 从 ticket.txt 复制其内容即可 |
appVer | string | / | 是 | 项目版本号, X.XX 格式 |
packageName | string | / | 是 | 包名。com.xxx.xxx 格式 |
statName | string | "" | 否 | 特殊统计名称。仅在对接人员需要使用时才填写 |
serverData | boolean | false | 否 | 是否启用服务器游戏数据保存。 |
saveServDataKeys | string[] | / | 否(如 serverData 为 true 则必填) | 服务器游戏数据保存 KEY,KEY 是由对接同事分配的,为游戏专属。 |
shareInfo | shareParams | / | 是 | 分享配置。请查看shareParams 注释 |
gameConfig | object | / | 是 | 随 SDK 包提供的 json 组件配置, 游戏导入对象后传入即可, 请勿混用 |
debugMode | boolean | false | 否 | 是否进入 SDK 调试模式。打开后可在控制台查看 SDK 打印。正式包必须关闭 |
guiyinDebugMode | boolean | false | 否 | 用于引力和AMS归因的专属调试开关。自测必须打开,最后的上线包必须关闭。打开后,可以在归因后台验证归因上报。 |
callback | () => {} | / | 是 | SDK 初始化完成回调 |
shareParams
参数 | 类型 | 默认值 | 是否必填 | 说明 |
---|---|---|---|---|
main | string | / | 是 | 主玩法 key。请从对接同事获取,一般为玩法的代称 |
<key 值> | object | array<object> | / | 是 | 主玩法的分享配置必须填写。如果有其他玩法,则按照格式添加即可。从对接同事获取即可例子: ![]() |
以下仅为参考示例, 无法直接运行。请使用真实参数进行接入!
请注意,callback
执行时还不能使用 SDK 模块,需要等待后续隐私初始化完成后,才可调用 SDK 所有其他模块。
javascript
import MainLoad from "./resources/SDKResources/MainLoad/scripts/MainLoad";
....
@property(MainLoad)
private SDKComp: MainLoad = null;
// 这里采用挂载json到场景的方式。也可选择动态加载
@property(JsonAsset)
private gameCfgJson: JsonAsset = null;
onLoad(){
....
// STEP1 - 加载SDK代码
this.SDKComp.loadSDK() {
noSubpack: false, // 已分包
name: "SDKlibs", // SDK分包名称, 仅在noSubpack为false配置
failCallback: () =>{
console.log("业务层 - SDK代码加载失败");
},
suCallback: ()=>{
console.log("业务层 - SDK代码加载成功");
//STEP2 - 进行SDK初始化
GameHelper.init({
ticket: `XXXXXXXXXXXX`, // 解密秘钥, 从ticket.txt中获取
gameConfig: this.gameCfgJson.json,// 配置信息文件, 自行从JSON中读取对象传给SDK
appVer: "1.01", // 游戏版本号, 从对接人员获取
packageName: "com.test.weixin", // 包名,从CP对接同事获取
statName: "hello", // 统计名称,仅在有需求使用时才写
debugMode: true,// 打开SDK调试模式, 可看到SDK内部打印。上线前必须关闭!
guiyinDebugMode: true, // 归因的调试开关,自测包要打开进行验收,上线包必须关闭
serverData: false, // 是否启用服务器游戏数据保存。有需求打开前请与对接同事联系
saveServDataKeys: ["XXXXX", "XXXXX"], // 服务器游戏数据保存KEY。有需求打开前请与对接同事联系
// 分享信息配置,需要配置main属性和玩法key对应的分享信息
shareInfo: {
main: "MYKEY", //主玩法叫MYKEY
MYKEY: {
title: "分享文案",
imageUrl: "远程分享图片地址",
},
// 仅在有其他玩法时才写。如果玩法仅一个文案则值写为对象即可
MYKEY2: [
{
title: "分享文案2",
imageUrl: "远程分享图片地址",
},
{
title: "分享文案3",
imageUrl: "远程分享图片地址",
}
]
},
callback: () =>{
console.log("SDK初始化完成");
// TODO 准备初始化隐私
}
})
}
}
}
点我快速对接


