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