Appearance
角色相关
WARNING
角色上报接口,请注意调用时机。 在创角成功、进入游戏等时机,一定要调用。 否则影响部分渠道的审核上架。
提交角色信息
当玩家创建角色成功、进入游戏内、角色等级升级时,需要调用角色上报接口。 每次调用,角色对象中的必选参数都需要全部设置。
objc
U8UserExtraData* extraData = [[U8UserExtraData alloc] init];
extraData.dataType = TYPE_ENTER_GAME;
extraData.roleID = @"testRole";
extraData.roleName = @"角色名称";
extraData.serverID = 1;
extraData.serverName = @"第一区";
extraData.roleLevel = @"1";
extraData.moneyNum = 100;
extraData.roleCreateTime = time(NULL);
extraData.roleLevelUpTime = time(NULL);
[[U8SDK sharedInstance] submitExtraData:extraData]; dataType主要有如下几种调用时机:
| 调用时机 | dataType值 |
|---|---|
| 创建角色成功 | 2 |
| 进入游戏内 | 3 |
| 角色等级升级后 | 4 |
| 玩家点击退出游戏(可选) | 5 |
也就是在创建角色的时候,dataType为2;进入游戏时,dataType为3;等级提升时,dataType为4;退出游戏时,dataType为5。
U8UserExtraData 数据结构:
| 参数名称 | 参数类型 | 参数说明 |
|---|---|---|
| dataType | int | 调用时机,值为2、3、4或5, |
| serverID | int | 玩家所在服务器的ID, |
| serverName | String | 玩家所在服务器的名称, |
| roleID | String | 玩家角色ID, |
| roleName | String | 玩家角色名称, |
| roleLevel | String | 玩家角色等级, |
| roleCreateTime | long | 角色创建时间,从1970年到现在的时间,单位秒,必须传入真实的数据, |
| roleLevelUpTime | long | 角色等级变化时间,从1970年到现在的时间,单位秒, |
| moneyNum | int | 当前角色身上拥有的游戏币数量 |
| vip | String | 玩家VIP等级 |
| roleGender | int | 玩家性别,0:男;1:女 |
| professionID | String | 玩家职业ID, 没有不传 |
| professionName | String | 玩家职业名称,没有不传 |
| power | String | 玩家战力,没有不传 |
| partyID | String | 玩家公会ID,没有不传 |
| partyName | String | 玩家公会名称,没有不传 |
| partyMasterID | String | 玩家公会会长ID,没有不传 |
| partyMasterName | String | 玩家公会会长名称,没有不传 |
补充说明
为了最小化接口调用, 聚合SDK内部的一些功能逻辑, 会依赖角色上报接口。 依赖的功能见下表:
| 功能 | 依赖时机 | 说明 |
|---|---|---|
| 自动补单 | 进入游戏 | 对于单机游戏,发货都在客户端。 聚合SDK中针对单机游戏,有自动补单机制。 该行为依赖进入游戏时机的角色上报接口,在这里进行补单逻辑的检查 |
| 后台角色查询/统计 | 创建角色/进入游戏 | U8SDK后台提供了角色查询和统计等功能,该功能依赖客户端的角色上报接口 |