面向 Android 平台的 Play 游戏服务使用入门

欢迎使用 Google Play 游戏服务开发 Android 游戏!

Play 游戏 SDK 提供了跨平台 Google Play 游戏服务,让您可以轻松地在针对平板电脑和手机而设计的游戏中集成热门的游戏功能,例如成就、排行榜、游戏存档和实时多人游戏(Android 平台)。

在本培训中,您将安装一款针对 Android 平台而设计的示例游戏应用,参照该示例快速掌握开发 Android 游戏的方法。Type-a-Number Challenge 示例应用展示了如何将成就和排行榜功能集成到您的游戏中。

准备工作

  • 设置您的 Android 开发环境。如果您还不熟悉 Android 应用开发,请参阅构建首个应用
  • 备好一台用于测试的 Android 设备,该设备应搭载 Android 4.0 (Ice Cream Sandwich) 或更高版本。

第 1 步:下载示例应用

针对本开发者指南,您需要下载名为 Type-a-Number Challenge 的 Android 示例应用。

要下载示例应用并在 Android Studio 中对其进行设置,请按照以下步骤操作:

  1. 示例下载页面中下载 Android 示例应用。
  2. 导入 android-basic-samples 项目。此项目中包含 TypeANumber 及其他 Android 游戏示例。在 Android Studio 中导入该项目的方法如下:
    1. 依次点击 File > Import Project
    2. 在您用于开发的计算机上,找到您下载的 android-basic-samples 所在的目录。选择文件“android-basic-samples/build.gradle”,然后点击 OK
  3. TypeANumber 模块中,打开 AndroidManifest.xml,然后将软件包名称由 com.google.example.games.tanc 更改为自行指定的其他软件包名称。新的软件包名称不得以 com.googlecom.examplecom.android 开头。

第 2 步:在 Google Play 管理中心内设置游戏

您可以在 Google Play 管理中心内管理 Google Play 游戏服务,以及配置用于对游戏进行授权和身份验证的元数据。

要在 Google Play 管理中心内设置示例游戏,请按照以下步骤操作:

  1. 使用您的网络浏览器访问 Google Play 管理中心,然后登录您的帐号。如果您之前还没有在 Google Play 管理中心注册过,系统会提示您进行注册。
  2. 按照以下说明将您的游戏添加到 Google Play 管理中心
    1. 当系统询问您是否在应用中使用 Google API 时,选择我尚未在自己的游戏中使用任何 Google API
    2. 针对本开发者指南中的示例,您可以使用自己的游戏详细信息填写表单。为方便起见,您可以使用下载页面中提供的占位图标和屏幕截图。
  3. 按照以下说明为您的 Android 应用生成 OAuth 2.0 客户端 ID
    1. 在关联您的 Android 应用时,指定的软件包名称必须是您之前重命名示例软件包时使用的那个名称。
    2. 如果您尚未生成密钥库和签名证书,可以使用 Android Studio 中的 Generate Signed APK Wizard 生成密钥库和签名证书。要了解如何运行 Generate Signed APK Wizard,请参阅在 Android Studio 中为应用签名
  4. 务必记录下列信息,以供稍后使用:
    1. 您的应用 ID:这是位于您的客户端 ID 开头部分的一个字符串,它仅包含数字,通常长度至少为 12 位。
    2. 您的签名证书:记下您在设置 API 访问权限时使用的证书(您提供的 SHA1 指纹所对应的证书)。在您测试或发布该应用时,也应该使用同一证书为应用签名。
  5. 为 Type-a-Number Challenge 配置成就:
    1. 在 Google Play 管理中心内选择成就标签。
    2. 添加以下示例成就:
      名称 说明 特殊说明
      Prime(神来质数) 获得的分数是一个质数
      Humble(无名小卒) 获得 0 分。
      Don't get cocky, kid(不要太骄傲哦,小伙伴) 在任一模式下获得 9999 分。
      OMG U R TEH UBER LEET!(哇,你太厉害了!) 获得 1337 分。 将此成就设置为隐藏成就。
      Bored(有点无聊) 玩游戏 10 次。 将此成就设置为增量成就,需要 10 个步骤才能达成。
      Really Really Bored(百无聊赖) 玩游戏 100 次。 将此成就设置为增量成就,需要 100 个步骤才能达成。
    3. 记录您所创建的每个成就的 ID(由字母和数字组成的长字符串)。
    4. 根据您的游戏内容,配置适合的成就。要了解详情,请参阅成就背后的概念如何在 Android 应用中实现成就功能
  6. 为 Type-a-Number Challenge 配置排行榜:
    1. 在 Google Play 管理中心内选择排行榜标签。
    2. 添加两个示例排行榜:一个名为“Easy High Scores”(低难度得分排行榜),另一个名为“Hard High Scores”(高难度得分排行榜)。两个排行榜均应采用整数得分格式,不带小数位,排序类型采用越高越好
    3. 记录您所创建的每个排行榜的 ID(由字母和数字组成的长字符串)。
    4. 根据您的游戏内容,配置适合的排行榜。要了解详情,请参阅排行榜背后的概念如何在 Android 应用中实现排行榜功能
  7. 为您的游戏添加测试帐号。只有在应用尚未在 Google Play 管理中心发布的情况下,才需要执行此步骤。在应用发布之前,只有 Google Play 管理中心内列出的测试帐号才能登录。不过,应用一旦发布,就所有人都可以登录了。

第 3 步:修改代码

要运行游戏,您需要在 Android 项目中将其应用 ID 配置为一项资源。您还需要在 AndroidManifest.xml 中添加游戏元数据。

  1. 打开 res/values/ids.xml 并替换占位符 ID。如果您是从头开始创建 Android 游戏,则需要先创建此文件。
    1. app_id 资源中指定您的应用 ID。
    2. 指定您之前在相应的 achievement_* 资源中创建的每个成就 ID。
    3. 指定您之前在相应的 leaderboard_* 资源中创建的每个排行榜 ID。
  2. 打开 AndroidManifest.xml 并在 <manifest> 元素的 package 属性中输入您的软件包名称。如果您是从头开始创建 Android 游戏,还务必要在 <application> 元素中添加以下代码:
    <meta-data android:name="com.google.android.gms.games.APP_ID"
        android:value="@string/app_id" />
    <meta-data android:name="com.google.android.gms.version"
       android:value="@integer/google_play_services_version"/>
    

第 4 步:测试游戏

为确保 Google Play 游戏服务在您的游戏中能正常运行,请在将其发布到 Google Play 上之前进行测试。

要在您的实际测试设备上运行游戏,请按照以下步骤操作:

  1. 确认您已设置用于登录该应用的测试帐号(如第 2 步中所述)。
  2. 导出该应用的 APK,并使用您在 Google Play 管理中心设置项目时所用的证书为其签名。要在 Android Studio 中导出已签名的 APK,请依次点击 Build > Generate Signed APK
  3. 使用 adb 工具在您的实际测试设备上安装已签名的 APK。要了解如何安装应用,请参阅在设备上运行您的应用