Platform Friends Handling
1. 背景
PGOS为游戏提供了强大的游戏内社交功能。但游戏账号平台(Steam、Epic Store、Xbox、PlayStation等)之间的好友互动也同样重要。本文档帮助游戏开发者理解其机制,以及如何借助封装了账号平台接口的Account SDK(INTL SDK)来处理PGOS与账号平台之间的好友互动。
2. 基本概念
2.1 INTL SDK
一个封装了游戏平台认证接口的账号服务,为游戏提供统一的 Open ID 账号。游戏开发者需要自行集成。
2.2 Open ID
当新玩家登录时,INTL SDK 会分配一个带有 Open ID 的新账号来标识该玩家。值得注意的是,如果同一玩家使用不同平台登录游戏,INTL SDK 会分配不同的账号,因为 INTL SDK 无法识别不同平台的账号属于同一个人。
2.3 调用流程
下图展示了游戏客户端与其他各方之间的调用流程。简而言之,游戏开发者需要通过调用INTL SDK或自行集成平台SDK来处理游戏平台相关事项。
PGOS不会直接处理平台相关事务,仅执行以下流程:
- 通过INTL SDK后端验证
Open ID
和Token
是否有效。 - 帮助游戏在
Open ID
和Player ID
之间建立映射关系。这样,游戏就可以检查平台好友是否注册并玩过游戏,以及他们在游戏中的身份。
- 通过INTL SDK后端验证
3. 关键案例
3.1 将平台好友映射为 PGOS 玩家
您可以调用 PGOS SDK 中的 BatchOpenIDToPlayerID
API 来进行映射。以下步骤说明如何操作:
- 调用 INTL SDK API 获取带有 Open ID 的平台好友列表。
- 调用 PGOS SDK 中的
OpenIDToPlayerID
API 将 Open ID 映射为 Player ID。注意:只有玩过游戏的 Player ID 才能被映射。该 API 会告知您无法映射的 Open ID 列表。 - 然后,您可以在游戏 UI 中显示平台好友,并突出显示那些已经玩过游戏的玩家,以及那些尚未注册游戏的玩家。
3.2 在游戏中连接平台好友
您可能希望帮助玩家在游戏中连接平台好友。以下是几种平台好友的情况:
- 情况 A:平台好友尚未玩游戏(未在 PGOS 中注册)。
- 情况 B:平台好友已玩过游戏,但还不是游戏内好友(PGOS 中的好友)。
- 情况 C:平台好友已玩过游戏,并且是游戏内好友。
对于情况 A,如果您想帮助玩家在游戏内与其平台好友互动,可以调用 INTL SDK API 来进行互动,例如邀请进入游戏
。
您应当与 INTL SDK 团队确认 INTL SDK 是否支持特定平台的此类 API。
对于情况 B,如果您想帮助玩家与其平台好友成为游戏内好友,您可以使用刚刚映射的玩家 ID 调用 PGOS SDK 中的 AddFriend
API。一旦他们的平台好友接受 AddFriend
请求,他们就会成为游戏内好友。
考虑到隐私政策,PGOS 不会自动与平台好友建立游戏内好友关系。好友请求的接受是其中的关键步骤。
对于情况 C,一般来说,仅显示游戏内好友状态就足够了。
3.3 处理游戏内和平台好友列表
我们建议游戏客户端分别显示游戏内和平台好友列表,或者显示一个整合的列表并突出显示好友状态,例如玩家是否玩过游戏、是否为游戏内好友以及来自哪个平台。