游戏质量会影响您的游戏能否在安装量、玩家评分和评价、互动度和玩家留存率等方面取得长期成功。在发布游戏之前,请务必确保您的游戏具有吸引玩家的功能和精心设计的直观界面,以此来满足游戏玩家的基本预期。
本文档可帮助您重点关注质量、功能集和界面这几个主要方面,它们会在很大程度上影响您的游戏能否取得成功。对于每个关注领域,我们都提供了基本要求、最佳实践和建议优化措施的核对清单。为了给玩家提供最好的产品,建议您尽可能采用核对清单中的建议做法。
1. 登录
以下核对清单任务适用于在您的游戏中实现玩家登录功能。如需详细了解登录功能的运作方式以及如何实现该功能,请参阅登录概念。有关如何在移动游戏上实现登录的代码示例,请参阅在 Android 设备上实现登录一文。
ID | 重要性 | 说明 |
---|---|---|
1.1 | 强制要求 |
让玩家通过 Google Play 游戏服务登录。
|
1.2 | 必需 |
创建登录客户端时,请勿请求非 Play 游戏作用域。这样,玩家就可以自动登录您的游戏,因为请求非 Play 游戏权限范围会强制用户使用交互式登录方式。
如果您已请求非 Play 游戏作用域,请从您的
// This is the proper way to do it GoogleSignInOptions signInOption = GoogleSignInOptions.DEFAULT_GAMES_SIGN_IN; |
1.3 | 必需 |
允许玩家保持登录状态。
在玩家成功登录您的游戏后,只要游戏开始就自动关联其账号,直到玩家明确退出账号。 |
1.4 | 必需 |
在登录期间适时显示“正在连接”弹出式窗口。
在 Android 设备上,只要调用登录流程,系统就必须显示 Google Play 游戏“正在连接”弹出式窗口。为此,您需要调用 以下示例演示了登录期间“正在连接”弹出式窗口在 Android 游戏中的可能显示方式,以及 Google Play 游戏服务徽标的简短动画。 |
1.5 | 必需 |
向玩家提供退出选项。
登录后,玩家必须可以随时选择退出。 建议您在应用的相关游戏界面(例如玩家“设置”界面)中提供退出按钮。 |
1.6 | 最佳实践 |
记住玩家是否拒绝登录。
如果玩家在游戏最初启动登录流程时拒绝登录(例如,如果他们在登录界面中点击了“取消”),您仍应该允许该玩家继续玩游戏。 当玩家再次启动游戏时,请勿自动调用互动式登录流程。这些玩家可以选择稍后使用“设置”系统中的“登录”按钮登录。这样,玩家就不必在开始游戏时反复拒绝登录。 不过,如果玩家尝试访问的游戏内容功能要求必须登录(例如,向排行榜提交得分),则属于例外情况。在这种情况下,请先提示他们登录,然后再继续玩游戏。 |
1.7 | 最佳实践 |
尽可能增加已登录玩家的数量。
允许更多玩家登录 Google Play 游戏服务可以让他们有更多机会体验协作性和竞争性的游戏内容,从而让玩家享受更多乐趣。为了尽可能增加登录 Google Play 游戏服务的玩家数量,强烈建议您自动提示玩家登录(如上所述)。 否则,请在以下某个时间点(按推荐优先顺序显示)尽早将玩家引导至登录流程:
|
1.8 | 建议 |
遵循 Google 品牌推广指南。
为了向玩家提供富有吸引力且一致的端到端体验,请遵循 Google Play 游戏服务品牌推广指南。 |
1.9 | 建议 |
提醒玩家他们已登录。
当您的游戏代表已登录的玩家执行某项操作时,为他们提供适当的提醒或提示。例如,当某个已登录的玩家完成某个关卡时,您可以提供如下消息来指明系统正在自动上传该玩家的得分和成就:“您已登录 Google 账号。您的成就和得分将会自动保存。” |
1.10 | 必需 |
使用 Play 游戏服务 ID 备份玩家进度。
为了确保玩家在切换设备、重置设备或在多个设备上玩游戏时不会丢失游戏进度,请务必将他们的进度备份到云端存档解决方案。如果使用您自己的后端游戏服务器,请安全地将 Play 游戏服务 ID 用作密钥。当玩家使用 Play 游戏服务 ID 登录时,检查该账号是否存在游戏进度,如果存在,让玩家能够从上次停下的地方继续畅玩。您可以使用自己的云端存档解决方案或 Play 游戏服务游戏存档。 如果用户未登录,请尝试在本地维护玩家的游戏进度,然后在玩家最终登录时同步他们的进度。这样有助于防止在玩家推迟登录游戏时丢失任何进度。 |
2. 成就
以下核对清单任务适用于在您的游戏中实现成就功能。
ID | 重要性 | 说明 |
---|---|---|
2.1 | 强制要求 | 确保所有成就均可达成。
玩家必须能够解锁您创建的所有成就。 |
2.2 | 最佳实践 | 确保各项成就是独一无二的,不得重复。
建议针对每项成就使用独一无二的图片、文本和说明。 |
2.3 | 最佳实践 | 按比例确定成就得分。
成就点数应该与获得该成就所需的时间或技能成比例。 |
2.4 | 最佳实践 | 为成就设计不同的难易程度。
建议您设置一些简单的成就(即玩家通过休闲玩法就能达成的成就),多项中等难度的成就(需要玩家使用更多技能或投入更多精力才能达成的成就),以及一两项难度相当高的成就(供投入大量精力的玩家挑战)。 例如,下面的屏幕截图显示了一项很难达成的成就,该成就有助于激励和留住该游戏的粉丝。 |
2.5 | 建议 | 请勿在前期设置过多成就。
尽量不要在游戏过程的前 5 分钟内设置多项成就,因为初次接触您游戏的玩家一般不会投入太多精力。 不要定义您的成就,以免无意地在游戏过程中过早地授予这些成就。例如,要留意在游戏开始时可能很容易获得的成就,例如“在不遭受攻击的情况下完成一关”。 |
2.6 | 建议 | 围绕有吸引力的游戏内活动定义成就。
在构建成就时,应选择更能吸引玩家反复玩游戏的指标,例如“杀死的僵尸数量”这个指标要比“角色行走的英里数”更有意思。 |
2.7 | 建议 | 使用彩色成就图标。
Google Play 游戏服务使用灰阶版成就图标来显示是否获得了这些成就。如果您只能使用全黑(或全白)成就图标,请为这些图标加上彩色背景。 |
2.8 | 建议 | 尽可能减少使用隐藏成就。
隐藏成就只能用于保留游戏中的悬念,而不应普遍使用。 |
2.9 | 建议 | 避免使用过于依赖运气的成就。
相对于“寻找一件有 1% 的几率出现在宝箱中的物品”,“找到 100 个宝箱”这项成就更有意义。 |
2.10 | 建议 | 像“Achievement Hunter”一样来构思成就。
有些玩家会尝试获得您创建的每项成就。尽量提供迎合这类玩家需求的成就。请确保这些成就不会过多依赖玩家无法掌控的因素,也不要让玩家在游戏中作出某种决定后便无法获得某些成就。 |
2.11 | 建议 | 确保您的成就图标可正确显示。
在 Android 消息框中显示成就图标时,该图标会与圆形叠加在一起,并且其外角会被盖住。请确保您的图标在此类情况下仍能正常显示。 |
3. 排行榜
以下核对清单任务适用于在您的游戏中实现排行榜功能。
ID | 重要性 | 说明 |
---|---|---|
3.1 | 最佳实践 | 让排行榜显示在主菜单中以及关键的过渡之后。 在加载游戏时应该可以随时访问排行榜。在游戏中的关键过渡(例如,在关卡结束时或玩家角色牺牲时)之后,玩家应立即看到指向相关排行榜的链接。 |
3.2 | 最佳实践 | 设定可提交的得分上限。
如有可能,请在定义排行榜时添加限制,以便排除明显虚假的得分。 |
3.3 | 最佳实践 | 使用自定义图标。
为您定义的每个排行榜创建自定义图标;不要只使用您的游戏图标,因为它在 Google Play 游戏应用中显示效果不佳。 |
3.4 | 最佳实践 | 确保按适当的频率提交得分。
在游戏中的关键过渡(例如,在关卡结束时或玩家的游戏角色牺牲时)之后提交得分。对于没有关键过渡的游戏(例如,“跑酷”类游戏),请运用合理的判断来决定提交得分的频率。不应连续提交或每秒提交一次得分。 |
3.5 | 建议 | 充分利用得分标记。 得分标记是可以随提交的得分一起发送的额外数据。例如,您可以将得分标记作为普通标记来实现,以确认玩家提交的得分是否有效。 自定义排行榜也可以读取此标记数据。例如,如果得分标记包含 YouTube 视频(包含该玩家的游戏过程)的 ID,您的游戏可以创建一个链接,以便在您的排行榜中显示该视频。 |
3.6 | 建议 | 以富有创意的方式设计自己的排行榜界面。
如果您有相关资源,请在社交排行榜数据基础之上构建自己的自定义排行榜视图。社交排行榜通常能打造比公众排行榜更具吸引力的体验。首先检查以确定社交排行榜中是否有任何条目。如果没有,请改用公众排行榜。 |
3.7 | 建议 | 向玩家展示他们如何与竞争对手一较高下。
排行榜 API 支持显示得分窗口(例如,玩家在 +/-10 个位置内的排名)。如果您要创建自定义视图,这就可以成为激励互动的一种有效方式。它可以在游戏中的关键过渡(例如,在关卡结束时或玩家的游戏角色牺牲时)之后立即显示。避免让玩家无谓地点击他们的排名信息。 |
4. 好友
以下核对清单任务适用于在游戏中实现 Friends API。
ID | 重要性 | 说明 |
---|---|---|
4.1 | 必需 | 当玩家显示在列表中时,在拥有 Play 游戏玩家资料的用户旁边显示 Play 游戏图标。
此列表可以是现有好友列表、最近玩过的好友列表,也可以是其他好友列表。
|
4.2 | 最佳实践 | 使用不同的图标来显示哪些 Play 游戏用户已成为好友,以及哪些用户已登录 Play 游戏但尚未成为 Play 游戏好友。针对 Play 游戏用户使用两个图标,一个用于“好友”,另一个用于“非好友”(或者好友关系状态未知)。
|
4.3 | 最佳实践 | 在用户每次登录时调用 loadFriends() 并显示好友列表,以确保好友列表是最新的。确保玩家看到的是最新列表。
|
4.4 | 最佳实践 | 如果您的游戏已包含游戏内好友,请使用 Friends API 添加 Play 游戏好友,扩充好友列表。如果玩家在游戏内好友列表中,也是 Play 游戏好友,应显示“好友”图标。 |
4.5 | 最佳实践 | 如果玩家拒绝了访问好友列表的请求,请勿再次显示请求访问的对话框,除非用户执行了某项操作以指明他们想要授予访问权限(例如,按“导入 Play 游戏好友”按钮)。 |
4.6 | 最佳实践 | 如果玩家拒绝了访问好友列表的请求,请提供相应方式,让他们稍后授予好友列表访问权限(例如,在按“导入 Play 游戏好友”按钮之后)。 |
4.7 | 最佳实践 | 如果您将玩家 ID 或好友列表与后端服务器配合使用,则必须安全地访问该 ID 或列表。此外,对于某些较老的游戏和玩家,Android SDK 针对某个玩家返回的玩家 ID 可能与其他玩家在同一游戏中查看该玩家时看到的 ID 不同;在使用好友列表时尤为如此。但是,REST API 中返回的 player_id 始终是一致的,并且始终是其他玩家看到的 ID。
|
5. 配额和调用频率限制
以下核对清单任务适用于管理您的游戏的配额和调用频率限制。要了解如何管理您游戏的配额并检测何时超出其调用频率限制,请参阅管理配额和调用频率限制一文。
ID | 重要性 | 说明 |
---|---|---|
5.1 | 最佳实践 |
使用客户端库。
移动客户端库采用多种策略来减少您对该服务的调用次数。例如,系统会缓存成就和排行榜的数据,因此玩家可以随时查看他们的成就,而无需该服务进行多次调用。 如果您的得分不如您最近提交的得分高,Android 客户端库便不会将玩家的得分发送到服务器。此外,Android 库还会在检测到您受到调用频率限制时,自动合并对成就增量的频繁调用。 |
5.2 | 建议 |
合并对增量成就的频繁调用。
如果您要制作一款格斗游戏并且设定了一项“出拳 5,000 次”的成就,请不要在玩家每次出拳时都发送成就增量调用。请等到当前回合结束后,发送一个 |
5.3 | 建议 |
请注意您的使用情况。
请注意您对 Google Play 游戏服务的调用次数。即使您能避免超出调用频率上限,频繁的调用也可能会导致消耗过多网络流量,并且会导致设备电池的耗电速度加快。为避免这种情况,您可以使用以下方法:
|
6. 游戏存档
以下核对清单任务适用于在您的游戏中实现游戏存档功能。
ID | 重要性 | 说明 |
---|---|---|
6.1 | 强制要求 |
添加元数据以便为游戏存档提供额外的上下文信息。
您在提交游戏存档时必须至少包含以下元数据:
|
6.2 | 强制要求 |
允许玩家加载游戏存档。
当玩家从 Play 游戏应用或默认的“游戏存档”选择界面中进行选择时,能够加载正确的游戏存档。 |