好友

使用好友 API 来补充和增强您现有的游戏内好友系统以及您的游戏可能访问的任何其他社交系统。这使您能够让玩家

  • 在您的游戏中找到他们的好友。

  • 在排行榜上与他们的好友比较分数。

  • 将他们的 Play 游戏好友列表与现有的游戏内好友列表合并。

  • 使用游戏内个人资料弹出窗口识别其他玩家。此弹出窗口将显示当前玩家为他们的好友提供的昵称,以便他们知道自己正在与谁玩游戏。

Import friends

基础知识

这些 API 使您可以执行以下操作

  • 加载好友:您可以检查玩家是否已允许游戏访问好友列表信息。如果授予访问权限,您可以获得与已登录玩家的好友相对应的 Player 对象列表。
  • 启动其他玩家的 Play 游戏个人资料视图:您可以打开此视图以显示已登录玩家为其他玩家提供的姓名。此视图还提供好友管理控件,不会将玩家带出您的游戏。
  • 提供用户控件:用户可以控制其 Play 游戏个人资料如何对好友可见,以及他们的好友列表如何对游戏可见。对于好友列表访问,用户可以选择自动为所有游戏授予访问权限,也可以选择单独批准每个游戏的访问权限。因此,在加载好友列表时,结果可能是显示访问请求的回调。

导入 Play 游戏好友列表

您可以使用好友 API 来获取玩家的 Play 游戏好友列表,并将他们添加到您的游戏内好友列表中。

新用户将拥有一个可以一起玩游戏的好友起始列表,现有用户可以将他们的 Play 游戏好友导入到任何游戏内好友列表中。因此,您的用户将拥有尽可能多的玩家可以一起玩游戏或互相竞争。

将 Play 游戏好友添加到您的游戏中

通过将他们的 Play 游戏 ID 与您内部数据库中相应的玩家信息相关联,将 Play 游戏好友添加到任何现有的游戏内好友列表中。确保这些好友旁边有一个带有 Play 游戏图标的按钮,该按钮在按下时显示其他玩家的个人资料,以便您的用户可以知道这些好友是谁。

当从后端服务器使用好友列表时,使用 REST API 安全地加载它,而不是传递 Android API 的结果。确保在 REST API 中使用当前已登录玩家的 players.get(me) 返回的玩家 ID,因为这将与其他玩家看到的 ID 一致。

如果未存储增强型好友列表(而只是在查看时使用),则无需任何额外工作。

授予 Play 游戏访问权限

如果您的游戏还没有 Play 游戏访问权限,则在玩家查看您的游戏内好友列表时提示他们同意是一个好时机。例如,您可以添加一个名为导入 Play 游戏好友的按钮,该按钮在点击时会提示用户同意。(确保在任何提及该服务的按钮上使用 Play 游戏徽标)。

查看其他玩家的个人资料

您可以允许已登录的玩家查看其他玩家的 Play 游戏个人资料。这使已登录的玩家可以查看他们为其他玩家提供的姓名以及他们是否已经是好友,从而为他们提供有关关系的更多背景信息。如果玩家还不是好友,则已登录的玩家会在个人资料视图中看到好友管理控件。从游戏中创建好友关系时,两个玩家的默认名称是他们的游戏内名称(如果您提供了一个)。还会显示启动好友关系的游戏名称。

View another player's profile

社交排行榜

好友 API 也可用于排行榜。使用此功能来显示当前玩家在其 Play 游戏好友中的排名。请注意,这仅适用于选择与您的应用程序共享此信息的用户的,并且前提是用户是 Play 游戏中的好友。为了支持此功能,游戏向用户公开一个控件。此控件使用 collection 参数来选择排行榜的社交视图。要了解更多信息,请参阅有关公共和社交排行榜的部分。

Friends in a leaderboard

如果您实现了社交排行榜集合,则加载排行榜分数的调用可能会返回一个与loadFriends() 类似的需要同意的解析异常。如果您实现了默认的 Play 游戏提供的 UI(例如,getLeaderboardIntent()),那么这将自动为您处理。

后续步骤

在开始使用好友 API 之前,请执行以下操作