主题
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归因的专属调试开关。自测必须打开,最后的上线包必须关闭。打开后,可以在归因后台验证归因上报。 |
| useHWDebugAd | boolean | / | 否 | 华为小游戏渠道生效华为小游戏首次接入广告时如果需要评测包,可以配置该参数为true,SDK将使用渠道提供的测试专用广告id展示广告;正式包务必去掉该参数或者配为false |
| 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 准备初始化隐私
}
})
}
}
}点我快速对接



›
‹
