Appearance
角色相关
WARNING
角色上报接口,请注意调用时机。 在创角成功、进入游戏等时机,一定要调用。 否则影响部分渠道的审核上架。
提交角色信息
当玩家创建角色成功、进入游戏内、角色等级升级时,需要调用角色上报接口。 每次调用,角色对象中的必选参数都需要全部设置。
js
import { U8SDK, U8RoleData, U8Error, U8RoleDataType } from '@ohos/u8sdk';
...
let roleData:U8RoleData = {
dataType: U8RoleDataType.DATA_TYPE_ENTER_GAME, //2: 创建角色;3: 进入游戏;4: 等级升级;5:退出游戏
roleId: "1",
roleName: "test",
roleLevel: 1,
serverId: "1",
serverName: "tests",
vip:"1",
coinNum: 0,
roleCreateTime: "",
roleLevelUpTime: ""
};
U8SDK.getInstance().submitExtraData(getContext(), roleData).then(()=>{
//上报成功
}).catch((err:U8Error)=>{
hilog.error(0x0000, 'U8SDK', 'u8sdk role data failed:%{public}s', JSON.stringify(err));
});
dataType主要有如下几种调用时机:
调用时机 | dataType值 |
---|---|
创建角色成功 | 2 |
进入游戏内 | 3 |
角色等级升级后 | 4 |
玩家点击退出游戏(可选) | 5 |
也就是在创建角色的时候,dataType为2;进入游戏时,dataType为3;等级提升时,dataType为4;退出游戏时,dataType为5。
UserExtraData 数据结构:
参数名称 | 参数类型 | 参数说明 |
---|---|---|
dataType | int | 调用时机,值为2、3、4或5, |
serverId | String | 玩家所在服务器的ID, |
serverName | String | 玩家所在服务器的名称, |
roleId | String | 玩家角色ID, |
roleName | String | 玩家角色名称, |
roleLevel | String | 玩家角色等级, |
roleCreateTime | long | 角色创建时间,从1970年到现在的时间,单位秒,必须传入真实的数据, |
roleLevelUpTime | long | 角色等级变化时间,从1970年到现在的时间,单位秒, |
coinNum | String | 当前角色身上拥有的游戏币数量 |
vip | String | 玩家VIP等级 |
补充说明
为了最小化接口调用, 聚合SDK内部的一些功能逻辑, 会依赖角色上报接口。 依赖的功能见下表:
功能 | 依赖时机 | 说明 |
---|---|---|
自动补单 | 进入游戏 | 对于单机游戏,发货都在客户端。 聚合SDK中针对单机游戏,有自动补单机制。 该行为依赖进入游戏时机的角色上报接口,在这里进行补单逻辑的检查 |
后台角色查询/统计 | 创建角色/进入游戏 | U8SDK后台提供了角色查询和统计等功能,该功能依赖客户端的角色上报接口 |