# 初始化
# 准备事项
当前SDK的运行依赖于淘宝云应用SDK @tbmp/mp-cloud-sdk
,因此,在进行SDK初始化前,请务必确保已安装并导入了淘宝云应用SDK!在项目工程根目录下,终端执行如下命令进行安装:
npm install @tbmp/mp-cloud-sdk --save
安装完成后,将于根目录下生成或更新 package.json
文件:
{
"name": "",
"version": "1.0.0",
"main": "",
"license": "MIT",
"dependencies": {
"@tbmp/mp-cloud-sdk": "^1.5.7" // 淘宝云应用SDK,版本不应低于1.5.5
}
}
关于淘宝云应用SDK的导入及初始化,可参考下文《示例代码》中演示,这里不做赘述,谢谢!
# 接口说明
使用 new DHMiniSDK(options)
进行SDK初始化,初始化完成后将返回一个实例对象,可通过该实例对象访问相关属性,或调用相关服务API,如系统信息、用户信息、执行登录、发起支付等。
new DHMiniSDK(options);
注意事项
请游戏客户端务必在游戏入口文件 game.js
中(game.js
一般位于淘宝小游戏项目工程的根目录下),于其它初始化或资源加载环节之前优先导入并执行SDK初始化!该注意事项为运营需求,并非SDK自身限制,尽早完成SDK初始化,方可使用SDK的数据统计接口,在游戏的初始化或资源加载环节完成部分日志上报,以便更加细粒度的分析用户的转化行为和流失情况。
# 参数说明
参数说明如下表所示:
选项 | 类型 | 必填 | 默认值 | 说明 |
---|---|---|---|---|
requests | object | 是 | -- | 服务接口地址 |
requests.login | string | 是 | -- | 登录服务接口地址,请参考上文《添加安全域名》栏目中填写 |
requests.pay | string | 是 | -- | 支付服务接口地址,请参考上文《添加安全域名》栏目中填写 |
requests.log | string | 是 | -- | 数据上报服务接口地址,请参考上文《添加安全域名》栏目中填写 |
requests.errorLog | string | 是 | -- | 日志上报服务接口地址,请参考上文《添加安全域名》栏目中填写 |
gameAppId | string | 是 | -- | 游戏在淘宝侧的 AppID ;可登录《淘宝开放平台控制台》后台,进入“开发 > 应用管理 > 我的应用 > 游戏互动创意 > 应用管理 > 消费者端小游戏应用”栏目中查看 |
cloud | object | 是 | -- | 淘宝云应用SDK,详情请参考《调用小游戏服务端》文档说明 |
cloudAppId | string | 是 | -- | 游戏在淘宝侧创建的空应用的cloudAppId ;可登录《淘宝开放平台控制台》后台,进入“云托管 > 开放环境”栏目中查看 |
appId | string | 是 | -- | 游戏在SDK开放平台侧的 AppID |
appVersion | string | 是 | -- | 游戏的版本号,如 2.0.4.10 |
packageName | string | 是 | -- | 游戏的应用包名,如 com.example.abc |
channel | number | 是 | -- | 游戏渠道包ID,默认固定传 3466 |
mainChannel | number | 是 | -- | 推广主渠道ID,默认固定传 100907 |
secondChannel | number | 是 | -- | 推广次渠道ID,默认固定传 100908 |
heartbeatEnable | boolean | 否 | true | 是否开启心跳数据上报,若开启,则SDK将每隔一分钟向服务器发送一条心跳数据 |
# 示例代码
注:示例代码中的参数或选项均为演示数据,仅供参考,谢谢!
// 导入淘宝云应用SDK文件,导入前请于项目工程根目录下,终端执行 npm install @tbmp/mp-cloud-sdk --save 进行安装
import cloud from "@tbmp/mp-cloud-sdk";
// 导入SDK文件
import DHMiniSDK from "./dh-mini-sdk-for-taobao-x.x.x";
// 初始化淘宝云应用SDK
// 初始化完成后将其传递给DHMiniSDK,对应 cloud 参数
cloud.init({
env: "online" // 云应用调用环境,包含 test、online 两个选项,一般设为 online 即可
});
// 请于其它初始化或资源加载(如游戏引擎导入、游戏资源加载等)环节之前优先导入并执行SDK初始化
// 相关参数表请咨询运营人员提供
const sdkInstance = new DHMiniSDK({
requests: {
login: "xxxxxxxxxxxxxxxxxxxx", // 登录服务接口地址
pay: "xxxxxxxxxxxxxxxxxxxx", // 支付服务接口地址
log: "xxxxxxxxxxxxxxxxxxxx", // 数据上报服务接口地址
errorLog: "xxxxxxxxxxxxxxxxxxxx" // 日志上报服务接口地址
},
gameAppId: "xxxxxxxxxx", // 游戏在淘宝侧的 AppID
cloud: cloud, // 淘宝云应用SDK
cloudAppId: "xxxxxxxxxx", // 游戏在淘宝侧创建的空应用的 cloudAppId
appId: "xxxxxxxxxx", // 游戏在SDK开放平台侧的 AppID
appVersion: "x.x.x.xx", // 游戏的版本号
packageName: "xxx.xxxxxxx.xxx", // 游戏的应用包名
channel: 3466, // 游戏渠道包ID
mainChannel: 100907, // 推广主渠道ID
secondChannel: 100908, // 推广次渠道ID
heartbeatEnable: true // 是否开启心跳数据上报,若开启,则SDK将每隔一分钟向服务器发送一条心跳数据
});
console.log(sdkInstance); // SDK实例对象
console.log(sdkInstance.system); // 系统信息
console.log(sdkInstance.system.platform); // 客户端设备类型,如Android、iOS等
console.log(sdkInstance.deviceId); // 设备唯一标识
console.log(sdkInstance.gameAppId); // 游戏在淘宝侧的 AppID
console.log(sdkInstance.cloud); // 淘宝云应用SDK
console.log(sdkInstance.cloudAppId); // 游戏在淘宝侧创建的空应用的 cloudAppId
console.log(sdkInstance.appId); // 游戏在SDK开放平台侧的 AppID
console.log(sdkInstance.appVersion); // 游戏的版本号
console.log(sdkInstance.packageName); // 游戏的应用包名
console.log(sdkInstance.channel); // 游戏渠道包ID
console.log(sdkInstance.mainChannel); // 推广主渠道ID
console.log(sdkInstance.secondChannel); // 推广次渠道ID
console.log(sdkInstance.userInfo); // 用户信息,仅在登录成功后可用
console.log(sdkInstance.userInfo.accountId); // 用户账号ID
console.log(sdkInstance.userInfo.loginType); // 用户登录方式
console.log(sdkInstance.userInfo.token); // 用户登录Token
console.log(sdkInstance.userInfo.userExtraInfo.openId); // 用户淘宝唯一标识(openId)