onGetUserInfo
获取用户基本信息
该方法用于获取原APP用户信息。主要用途是:为游戏提供APP非敏感用户信息。
方法声明
java
/**
* 当 SDK 请求获取用户基本信息(User Info)时触发。
* App 应根据此请求通过 handle 返回用户的昵称、头像等基础信息。
*
* @param handle 用于向 SDK 返回处理结果的状态句柄。
* @param dataJson 包含请求参数(如用户 ID 列表)的 JSON 字符串。
*/
void onGetUserInfo(SUDOPStateHandle handle, String dataJson);运行行为
- 触发时机:通常发生在游戏初始化、玩家加入房间、或点击查看他人简要信息时。
- 批量请求:
dataJson中通常包含一个用户 ID 数组。游戏可能会一次性请求多个用户(如房间内所有玩家)的信息,以减少交互次数。 - 标准格式:App 必须按照 SUDOP 协议约定的 Key(如
nickname,avatar)构造 JSON 结果。 - 异步反馈:支持在网络请求完成后,通过
handle.success(resultJson)异步将数据同步给游戏。
代码示例
实现基础信息的查询与异步回传:
java
@Override
public void onGetUserInfo(SUDOPStateHandle handle, String dataJson) {
try {
JSONObject user = new JSONObject();
user.put(SUDOP.KEY_USER_ID, uid);
user.put("nickname", "玩家");
user.put("avatar", "https://cdn.example.com/avatar/xxx.png");
// 4. 回传给 SDK
handle.success(user.toString());
} catch (Exception e) {
handle.fail(SUDOP.ERR_UNKNOWN);
}
}注意事项
- 头像规格:建议提供高清晰度且比例为 1:1 的头像 URL,以便游戏在不同 UI 尺寸下保持良好的视觉效果。
- 缓存策略:对于频繁请求的用户信息,建议 App 侧做好缓存,避免每次都发起网络请求导致游戏画面出现卡顿或加载转圈。
- 字段对齐:务必使用
SUDOP常量类中定义的 Key 名,避免因拼写错误导致游戏无法解析数据。