使用 Friends API 来补充和增强您游戏中现有的好友系统以及您的游戏可能访问的其他社交系统。这使您能够让玩家:
在您的游戏中找到他们的朋友。
在排行榜上与朋友比较分数。
将他们的 Play 游戏好友列表与游戏中现有的好友列表结合起来。
通过游戏内个人资料弹窗识别其他玩家。此弹窗会显示当前玩家为其朋友设置的昵称,以便他们知道正在与谁一起玩。
基础知识
这些 API 允许您执行以下操作:
- 加载好友:您可以检查玩家是否已允许游戏访问好友列表信息。如果已授予访问权限,您可以获取与登录玩家的好友对应的 Player 对象列表。
- 启动其他玩家的 Play 游戏个人资料视图:您可以打开此视图以显示登录玩家给其他玩家的名称。此视图还提供好友管理控件,并且不会将玩家带出您的游戏。
- 提供用户控件:用户可以控制其 Play 游戏个人资料对好友的可见性以及其好友列表对游戏的可见性。对于好友列表访问,用户可以选择自动授予所有游戏的访问权限,也可以选择单独批准每个游戏的访问权限。因此,加载好友列表时,结果可能是显示访问请求的回调。
导入 Play 游戏好友列表
您可以使用 Friends API 获取玩家的 Play 游戏好友列表,并将其添加到您的游戏内好友列表中。
新用户将有一个可供玩耍的初始好友列表,现有用户可以将他们的 Play 游戏好友导入到任何游戏内好友列表中。因此,您的用户将拥有最大可能的一组玩家来一起玩或竞争。
将 Play 游戏好友添加到您的游戏
通过将 Play 游戏好友的 Play 游戏 ID 与您内部数据库中相应的玩家信息相关联,将他们添加到任何现有的游戏内好友列表。请确保在这些好友旁边有一个带有 Play 游戏图标的按钮,按下该按钮时会显示其他玩家的个人资料,以便您的用户知道这些好友是谁。
从后端服务器使用好友列表时,请使用 REST API 安全地加载它,而不是传递 Android API 的结果。请务必使用 REST API 中 players.get(me)
为当前登录玩家返回的玩家 ID,因为这与其他玩家看到的 ID 是一致的。
如果增强型好友列表未存储(仅在查看时使用),则无需执行其他工作。
授予 Play 游戏访问权限
如果您的游戏尚未获得 Play 游戏访问权限,在用户查看您的游戏内好友列表时提示他们征得同意是一个好时机。例如,您可以添加一个名为“导入 Play 游戏好友”的按钮,在点击时提示用户征得同意。(请务必在提及该服务的任何按钮上使用 Play 游戏徽标。)
查看其他玩家的个人资料
您可以允许登录玩家查看其他玩家的 Play 游戏个人资料。这使得登录玩家可以看到他们给其他玩家的名称,以及他们是否已经是好友,从而为他们提供了有关关系的额外背景信息。如果玩家尚未成为好友,登录玩家将在个人资料视图上看到好友管理控件。在游戏中创建好友关系时,两位玩家的默认名称是他们的游戏内名称(如果提供)。还会显示发起好友关系的游戏名称。
社交排行榜
Friends API 也可以用于排行榜。使用此功能可以显示当前玩家在 Play 游戏好友中的排名。请注意,这仅适用于选择与您的应用共享此信息的用户,以及用户在 Play 游戏中是好友的情况。为了支持此功能,游戏会向用户公开一个控件。此控件使用 collection
参数来选择排行榜的社交视图。要了解更多信息,请参阅公共和社交排行榜部分。
如果您实现了社交排行榜集合,则加载排行榜分数的调用可能会返回一个需要同意的解析异常,类似于 loadFriends()
。如果您实现了 Play 游戏提供的默认 UI(例如 getLeaderboardIntent()
),则此问题将自动为您处理。
后续步骤
在开始使用 Friends API 之前,请执行以下操作:
- 下载并查看代码示例
- Java
- 使用 Unity 插件的 Unity 示例应用
- 熟悉 质量核对清单中描述的建议。
- 在 Java 客户端中实现 Friends API。