社交(Cocos)
Cocos 封装里有两层社交:
- FRVR 好友图谱 —— 同步到服务器、跨渠道:
syncFriends、getAllFriends、addFriend、removeFriend。 - 平台原生面 —— 原生分享面板、邀请选择器、更新通道:
shareMessage、inviteUsers、sendUpdate、getPlatformFriends。受当前渠道限制。
实时事件(好友状态变更、游戏邀请 socket)请见 Social live。
FRVR 好友
Section titled “FRVR 好友”需要玩家已登录。
每个会话调用一次 syncFriends() —— 它会把渠道好友列表上传给 FRVR 后端,后端据此匹配并注册他们。
检查渠道支持哪些
Section titled “检查渠道支持哪些”不同渠道暴露不同子集 —— 显示按钮前先判断:
可传给 isSocialAPISupported 的常见 API 名:shareMessage、inviteUsers、sendUpdate、getPlatformFriends、getContextId、getContextData、getContextPlayers。
发布到用户的动态 / 故事 / 分享面板,具体行为视渠道而定。
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
image | string | 是 | 图片 data URL 或托管 URL(BASE64 / JPEG / PNG)。 |
text | string | 是 | 正文 / 描述文字。 |
headline | string | 否 | 正文上方的简短标题(渠道支持时)。 |
cta | string | 否 | 行动号召按钮文案。 |
entryPointData | object | 否 | 接收方打开分享时,通过入口点拿到的任意 payload。 |
打开渠道的好友选择器,让玩家把具体联系人邀请进游戏。
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
image | string | 是 | 图片 data URL 或托管 URL(BASE64 / JPEG / PNG)。 |
text | string | 是 | 与图片一同展示的文案。 |
headline | string | 否 | 正文上方的简短标题(渠道支持时)。 |
cta | string | 否 | 行动号召按钮文案。 |
entryPointData | object | 否 | 接收方加入时,通过入口点拿到的 payload。 |
canInvite() 在不支持邀请的渠道返回 false —— 用它来控制 UI 的显隐。
把控制权暂时交给平台,让它通过模板下发一条更新(Facebook context update、Snapchat sticker、Discord activity 等)。模板存放在 SDK 默认模板配置里 —— 把对应渠道的配置拷进游戏目录后才能用。
| 字段 | 类型 | 说明 |
|---|---|---|
template | string | 预定义模板名(如 'JOIN_PLAYER')。 |
image | string | 图片 data URL 或托管 URL(BASE64 / JPEG / PNG)。 |
bitmojiVariant | string | Snapchat bitmoji 表情 —— 'HAPPY'、'WINK'、'HEARTEYES' 等。 |
entryPointData | object | 接收方打开更新时,通过入口点拿到的 payload。 |
override | object | 各渠道的原始 payload(snapchat、facebookInstant、facebookRooms、discord),用来替换模板字段。 |
读取渠道原生的好友列表(例如玩家在 Facebook gaming 上的好友):
适合做模仿宿主平台样式的邀请 UI,或预填你自己的”好友选择器”。需要跨渠道的 FRVR 图谱时,改用 getAllFriends()。
玩家在宿主上当前所处的位置(FB context、Snap chat、Discord activity):
getContextPlayers() 与 getPlatformFriends() 返回相同的 Friend[] 结构,但范围限定在当前与玩家同处一个对话 / 房间 / 派对的人。
- FRVR 好友图谱语义、服务器同步:Web SDK 社交。
- 实时在线状态与游戏邀请:Social live。