Skip to content

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 名,避免因拼写错误导致游戏无法解析数据。