# 实例属性及方法
注意事项
使用 new DHH5SDK(options) 进行SDK初始化时,将返回一个实例对象,本文档暂且将该实例命名为 sdk,后续章节内容及示例代码均基于此命名进行说明或演示,谢谢!
# 1、实例属性
SDK实例属性如下表所示:
| 属性 | 类型 | 说明 |
|---|---|---|
| name | string | 表示所在的平台宿主环境
|
| version | string | SDK版本号,如 1.0.0 |
| deviceId | string | 设备唯一标识(注意,因SDK无法获取真实的设备唯一标识,故使用一个32位随机字符串作为设备唯一标识,并存储于客户端缓存中;后续进入游戏,若有缓存则从缓存中获取,无缓存则重新生成并存入缓存;因此无法确保设备唯一标识的准确性) |
| launchOptions | object | 游戏的启动参数,即 URL 参数 |
| appId | number | 游戏在SDK开放平台侧的 AppID |
| packageName | string | 游戏的应用包名,如 com.game.abc |
| appVersion | string | 游戏的版本号,如 2.0.4.10 |
| channel | number | 游戏渠道包ID,如 3456,于SDK开放平台配置游戏时生成的一级渠道号 |
| mainChannel | number | 推广主渠道ID,如 100822,于SDK开放平台配置游戏时生成的二级渠道号 |
| secondChannel | number | 推广次渠道ID,如 100823,于SDK开放平台配置游戏时生成的三级渠道号 |
| thirdProductCode | string | 游戏在渠道侧的 productCode,此属性仅在上架至 欢游、Quick 渠道时存在 |
| thirdProductKey | string | 游戏在渠道侧的 productKey,此属性仅在上架至 欢游、Quick 渠道时存在 |
| userInfo | object | 用户信息,仅在授权登录成功后可读 |
| userInfo.accountId | number | 用户账号ID,用于创建游戏内角色信息 |
| userInfo.accountName | number | 用户账号名称 |
| userInfo.loginType | number | 用户授权登录类型 |
| userInfo.token | string | 用户授权登录Token |
| userInfo.userExtraInfo | number | 用户扩展信息,用于存储用户于第三方渠道侧的信息 |
| userInfo.userExtraInfo.avatar | string | 用户头像 |
| userInfo.userExtraInfo.nickName | string | 用户昵称 |
| userInfo.userExtraInfo.openId | string | 1、若游戏上架为 官方H5 或 官方微端,则此值同 sdk.userInfo.accountId 2、若游戏上架至 Quick 或 欢游 渠道,则此值为渠道 uid |
| userInfo.userExtraInfo.userName | string | 1、若游戏上架为 官方H5 或 官方微端,则此值同 sdk.userInfo.accountName 2、若游戏上架至 Quick 或 欢游 渠道,则此值为渠道侧的用户名 username |
| userInfo.userExtraInfo.channelId | number | 1、若游戏上架为 官方H5 或 官方微端,则此值同 sdk.channel 2、若游戏上架至 Quick 或 欢游 渠道,则此值为上架的渠道 ID |
# 2、实例方法
SDK实例方法如下表所示:
| 方法 | 类型 | 说明 |
|---|---|---|
| login | function | 用于执行登录并获取SDK开放平台用户信息,详情请查看该文档后续章节 |
| logout | function | 用于执行游戏内退出登录,详情请查看该文档后续章节 |
| setLogoutNotification | function | 用于监听游戏壳悬浮窗内退出登录事件;若游戏上架为 欢游 或 Quick 渠道,则此方法必接,需初始化后立即调用 |
| setSwitchAccountNotification | function | 用于监听游戏壳悬浮窗内切换账号事件;若游戏上架为 欢游 或 Quick 渠道,则此方法必接,需初始化后立即调用 |
| setPreventAddictionNotification | function | 用于监听防沉迷机制触发事件;若游戏上架为 官网H5 或 官方微端包,则此方法必接,需初始化后立即调用 |
| uploadRoleInfo | function | 用于在用户登录游戏服成功、创角成功、角色升级时上报相关角色信息,详情请查看本文档后续章节 |
| pay | function | 用于发起支付流程,详情请查看该文档后续章节 |
| openCustomerService | function | 用于打开H5客服;此方法只适用于 官网H5 或 官方微端包,注意区分使用环境 |
| openPrivacyAgreement | function | 用于打开隐私协议相关页面;此方法只适用于 官网H5 或 官方微端包,注意区分使用环境 |
| exit | function | 退出游戏(杀进程),详情请查看该文档后续章节 |
| trackEvent | function | 用于上报并记录用户在游戏内的行为日志&事件,详情请查看本文档后续章节 |
# 3、回调参数
部分实例方法的回调函数将返回 response 参数,其格式为:
| 属性 | 类型 | 说明 |
|---|---|---|
| code | number | 状态码为 0 时表示执行成功,其它值表示错误,具体错误信息可查看 message 字段描述 |
| data | object | - |
| message | string | - |
如下登录接口所示:
sdk.login((response) => {
// 登录成功
if (response.code == 0) {
console.log(response.data); // 用户信息
}
// 登录失败
else {
console.log("登录失败");
}
});