Skip to main content

好友列表功能

注册回调

有关回调信息,请参见 Unity 回调 / Unreal 回调

Discord

tip

不使用 Discord 作为登录渠道也可以获取 Discord 好友列表,但是需要先调用 DiscordAuthorize 进行 Discord 账号授权。

前置条件:

  • 需要玩家授予 openidsdk.social_layeremail 权限。详见 OAuth2 Scopes

Discord 返回的好友列表是无序的,Player Network SDK 会提供用户最近在线时间供游戏排序。

参数

  • page (int): 页数,>0
  • count (int): 每页数量,>0
INTLAPI.DiscordQueryFriends(1, 10);

回调DiscordFriendsResultObserver

好友信息结构DiscordUserInfo

更多有关 Discord 的社交功能,可参考 Discord 社交 SDK

Epic

仅支持获取平台好友(非同玩好友)。

参数:

  • page: 页码
  • page_size: 每页好友数
  • is_in_game: false 获取平台好友
// 获取平台好友,每页 10 个,返回第 1 页
INTLAPI.QueryFriends(1, 10, false, INTLChannel.Epic);

Facebook

需要在 Facebook 开发者后台申请 user_friends 权限,审核通过后方可使用。详情请联系 Player Network 助手。

审核通过后,通过后台接口 /v2/friend/friend_list 获取好友列表。

分享链接

Steam

支持查询平台好友和同玩好友。同玩好友指最近一起游戏的好友,不一定在 Steam 平台添加了好友。

前置条件:

  • 安装并运行 Steam
  • Steam 登录状态有效

参数:

  • page: 页码
  • page_size: 每页好友数
  • is_in_game:
    • true - 获取同玩好友
    • false - 获取平台好友
// 获取同玩好友,每页 10 个,返回第 1 页
INTLAPI.QueryFriends(1, 10, true, INTLChannel.Steam);

// 获取平台好友,每页 10 个,返回第 1 页
INTLAPI.QueryFriends(1, 10, false, INTLChannel.Steam);

好友状态

好友状态信息在 FriendResultextra_json 字段中返回。

"extra_json": {
"persona_state": 0
}

persona_state 说明:

说明
0未登录
1已登录
2已登录,但繁忙
3自动离开
4自动离开很久
5在线,交易中
6在线,想玩游戏
7在线,但对好友显示为离线

错误码

错误码说明
1031Steam DLL 加载失败
1032需要从 Steam 平台启动游戏
1033Steam 初始化失败(检查 steam_appid.txt 位置或 Steam 是否运行)

Switch

支持查询平台好友和同玩好友。

参数:

  • page: 页码(从 0 开始)
  • page_size: 每页好友数(≤300)
  • is_in_game:
    • true - 获取同玩好友
    • false - 获取平台好友
INTLAPI.QueryFriends(1, 10, true, INTLChannel.Switch);

返回数据结构:

{
"ret": 0,
"msg": "",
"method_id": 203,
"ret_code": 0,
"ret_msg": "Success",
"lists": [{
"openid": "eb4621e26d73bdab",
"user_name": "xuzhang",
"gender": 0,
"extra_json": "{\"status\":\"0\",\"isFavorite\":\"true\",\"lastPlayedAppId\":\"0\",\"isSameApplication\":\"false\"}"
}]
}

VK

支持查询平台好友和同玩好友。

参数:

  • page: 页码
  • page_size: 每页好友数
  • is_in_game:
    • true - 获取同玩好友
    • false - 获取平台好友
// 获取同玩好友
INTLAPI.QueryFriends(1, 10, true, INTLChannel.VK);

// 获取平台好友
INTLAPI.QueryFriends(1, 10, false, INTLChannel.VK);

Xbox Series X|S

仅支持获取同玩好友。

INTLAPI.QueryFriends(1, 10, true, INTLChannel.Xbox);

返回数据结构:

{
"ret": 0,
"msg": "",
"method_id": 203,
"ret_code": 0,
"ret_msg": "Success",
"lists": [{
"openid": "10027382",
"user_name": "xuzhang",
"extra_json": "{\"status\":\"Online\"}"
}]
}