跳转到主要内容

概述

本教程旨在帮助你快速上手集成了推送通知的 Android PlayFab 集成。 推送通知需要在多个系统中进行配置。在开始之前,我们先来了解一下基础结构的工作方式。此过程涉及 4 个实体:
  1. Google Play 服务
  2. Firebase Cloud Messaging 服务(FCM,构建于旧版 Google Cloud Messaging 之上。)
  3. PlayFab 服务
  4. 客户端应用程序

1. Google Play 服务

Google Play 服务使用包名称来识别你在 Play 商店中的页面。 例如:com.bob.games.matchthree。 在 Google Play 中注册后,包名称将成为唯一的应用程序 ID,并有多种用途,从通过 Play 商店安装到防止仿冒。

2. Firebase Cloud Messaging (FCM)

Firebase Cloud Messaging 服务为你提供基于云的系统,用于发送、定向和传递推送通知。 它还允许其他服务(例如 PlayFab)使用 FCM 服务器密钥代表你发送推送通知。

3. PlayFab 服务

PlayFab 服务随后使用 FCM 服务器密钥向你的客户端发送推送通知。

4. 客户端服务

最后,你的客户端应用程序可以接收通知并根据需要进行处理。

四部分划分

因此,我们需要设置 4 个不同的系统。为此,本教程分为 4 章,分别介绍每个部分的配置。
配置这些系统的顺序非常重要。

先决条件

  • 你必须拥有 Google 帐户。
  • 你必须拥有 PlayFab 帐户。
  • 使用 Android Asset Studio 通知图标生成器生成的通知图标。

方案

在本教程的这一部分中,我们将构建一个名为 Foo PlayFab App 的应用程序。这是一个具有以下功能的 Android 应用:
  • 使用 Android 设备 ID 登录 PlayFab。
  • 接收来自 PlayFab 的推送通知。
我们的包名称为 com.foo.playfab.app。
按照本教程操作时,请务必使用你自己的包名称和游戏名称。

第 1 章:配置 Firebase

首先使用 Firebase 的官方控制台页面开始配置 Firebase。你将看到一个可以添加新项目的页面。
  • 为此,请选择添加项目区域,如下图所示。
Firebase - 添加项目
  • 系统将要求你提供项目名称(在本教程中,我们使用 Foo PlayFab App,但按照本教程操作时,请务必想出你自己的名称)。
  • 选择创建项目按钮以进入下一步。
Firebase - 创建项目 你将被重定向到新项目仪表板。
  • 通过选择下图所示的区域,向项目中添加新的 Android 应用程序。
Firebase - 将 Firebase 添加到 Android 应用 添加新的应用程序需要 3 个步骤。
  1. 首先,你必须提供 Android 包名称。我们使用的是 com.foo.playfab.app,但按照本教程操作时,请务必想出你自己的包名称。
  2. 选择注册应用按钮以进入下一步。
Firebase - 注册 Android 应用 第 2 步允许你下载名为 google-services.json 的设置文件。稍后将在应用中使用它来自动配置 Google 服务。
  • 下载后,选择继续按钮以进入下一步。
Firebase - 添加 Google 设置文件
  1. 最后一步提供了有关如何设置生成过程以连接 Firebase 和 Google Play SDK 的信息。
你可以忽略此信息,因为我们将使用 Android Studio 中内置的自动化工具来自动执行此设置。
  • 选择完成按钮以继续。
Firebase - 完成添加到 Android 应用
  • 添加应用程序后,它将显示在仪表板上。
  • 此时,配置已完成,我们需要提取 FCM 服务器密钥(我们将使用它来连接 PlayFab 推送通知)。
  • 转到项目设置,如下图所示。
Firebase - 项目设置
  • 在项目设置中,导航到 Cloud Messaging 选项卡。
  • 找到服务器密钥区域(下图中的红色区域)。
  • 复制此密钥并将其存储在安全且易于访问的位置。
Firebase - Cloud Messaging - 服务器密钥 至此,我们已在 Firebase 中完成了启用推送通知所需的所有操作。

第 2 章:配置 Google Play 管理中心

当你的应用准备就绪时,你很可能会创建一个 Google 管理中心项目来维护产品的 Play 商店页面。下面我们来完成创建 Google Play 项目并将其链接到 Firebase 项目的过程。 首先访问 Google Play 管理中心页面,然后创建一个新项目,如下图所示。 Google Play - 管理中心页面
  • 指定标题。
在此示例中,我们使用 Foo PlayFab App。按照本教程操作时,请务必想出你自己的游戏名称和包名称。
  • 选择创建按钮以继续。
Google Play - 创建应用程序
  • 将打开 Google Play 管理中心项目页面。
  • 在侧边菜单中选择服务和 API。
Google Play 管理中心 - 服务和 API
  • 将打开服务配置页面。
  • 找到 Firebase Cloud Messaging 面板。
  • 选择链接发送者 ID 按钮,如下图所示。
Google Play - FCM 面板 - 链接发送者 ID 要链接发送者 ID:
  • 使用你在上一章中使用 Firebase 控制台时获得(并保存)的 FCM 服务器密钥。
  • 完成后,选择链接按钮,如我们的示例所示。
Google Play - 链接发送者 ID - 添加 FCM API 密钥
  • 花点时间验证 Google Play 管理中心中显示的发送者 ID 是否与 Firebase 控制台中的发送者 ID 匹配,如下例所示。
Google Play 管理中心 - Firebase 控制台 - 匹配发送者 ID 至此,Google Play 管理中心项目已成功链接到 Firebase 项目。

第 3 章:配置 PlayFab 游戏

本章的目的是向你展示如何配置 PlayFab 服务,以便其能够代表你向玩家发送推送通知。
  • 首先,你必须转到游戏“设置”菜单中的游戏设置。
  • 选择推送通知选项卡。
  • 对于 Android 选项,选择设置图标。
PlayFab - 推送通知 - Android 设置
  • 系统将要求你提供 Google 服务器 API 密钥。
  • 复制你通过 Firebase 控制台获得的密钥,如下面提供的示例所示。
PlayFab - Firebase 控制台 - 添加服务器 API 密钥
  • 如果一切正确,你将看到一个页面,显示推送通知为活动状态。
PlayFab - 推送通知 - 活动 PlayFab 游戏的配置到此结束。

第 4 章:配置 Android Studio 项目

要使用 PlayFab JavaSDK,你需要 PlayFab Client JavaSDK 及其依赖项 Google GSON。
  • 在此处下载 PlayFab 客户端 JavaSDK JAR 库。
  • 查找 client-sdk-*.jar,如果需要,还可以查找相应的 Java 文档。
  • 下载最新的 Google GSON。
  • 查找 gson-*.jar。
  • 将前面提到的 .jar 文件放在手边。
首先创建一个常规的 Android Studio 项目。
  • 验证包名称是否与你在本教程中(例如在 Firebase 中)使用的包名称匹配。
在本示例中,我们使用的是 com.foo.playfab.app,但按照本教程操作时,请记得想出你自己的包名称和游戏名称。
Android Studio - 新建项目 - 添加应用名称
  • 根据你的选择选择最低 SDK。
  • 然后选择下一步按钮。
Android Studio - 新建项目 - 选择最低 SDK 对于本教程,我们建议从 Empty Activity 模板开始。
  • 选择要使用的模板。
  • 然后选择下一步按钮。
Android Studio - 新建项目 - 选择模板
  • 根据需要配置模板。
  • 选择完成按钮。
Android Studio - 新建项目 - 完成 打开新创建的项目后:
  • 切换到 Project 选项卡 (1)。
在上一章中,你从 Firebase 控制台下载了 google-services.json 配置文件。在下一步中使用此文件。
  • 验证此文件是否位于 App 文件夹下 (2)。
  • 然后,导航到 Tools (3)。
  • 选择 Firebase (4),如下面提供的示例所示。
Android Studio - 将配置文件添加到项目 Firebase Assistant 将在窗口右侧打开。
  • 找到 Cloud Messaging 文件夹,然后选择 Set up Firebase Cloud Messaging,如下所示。
Android Studio - Firebase Assistant - 设置 Cloud Messaging
  • 在 Firebase Notifications Assistant 中,选择 Add FCM to your app (1) 按钮,如下图所示。
  • 将打开一个对话框,指示将通过 Gradle 添加新的依赖项。
  • 选择 Accept Changes (2) 以批准更改。
遗憾的是,Gradle 同步过程 (3) 自动添加的依赖项不正确,并会报告失败!
  • 要正确设置依赖项,请将自动添加的语句替换为以下内容: implementation 'com.google.firebase:firebase-core:16.0.3
    implementation 'com.google.firebase:firebase-messaging:17.0.0
Android Studio - Firebase Assistant - 将 FCM 添加到你的应用 该过程完成后:
  • 验证 Firebase Notifications Assistant 是否指示依赖项现已正确设置 (1)。
在本章开头,我们获取了必要的 JAR 文件。通常,生成文件会自动获取这些文件。
  • 要确保这些 JAR 文件列在 app/libs 文件夹下 (2),请选择所有文件并右键单击它们。
  • 然后选择 Add as library… (3),如下面提供的示例所示。
Android Studio - Firebase Assistant - 添加为库
  • 使用 Android Asset Studio 通知图标生成器准备图标,并将其放在 app/src/main/res 中。
  • 在下面所示的示例中,图标名为 ic_stat_blur_on。
Android Studio - 添加图标
  • 最后,选择 Rebuild Project。
Android Studio - 重新生成项目 现在,我们可以开始实现用于接收和处理通知的代码。我们将修改(并在需要时创建)4 个文件:
  1. app/src/main/AndroidManifest.xml
  2. app/src/main/java/..packagePath../MainActivity.java
  3. app/src/main/java/..packagePath../FooAppFirebaseInstanceIdService.java
  4. app/src/main/java/..packagePath../FooAppFirebaseMessagingService.java
当前实现被设计得尽可能简短,只是为了快速测试通知。有关高质量的最佳做法和更复杂的实现示例,请参阅 FCM 指南。

AndroidManifest.xml

在以下代码中,将所有 MY_PACKAGE_IDENTIFIER 占位符替换为你自己的包标识符。

MainActivity.java

应根据你的方案替换代码中的以下占位符。
  • PLAYFAB_TITLE_ID
    • 使用你在 PlayFab Game Manager 中获得的游戏 ID。
  • PACKAGE_IDENTIFIER
    • 使用与你的设置匹配的 Java 包标识符。

FooAppFirebaseInstanceIdService.java

应根据你的方案替换下面所示代码中的占位符。
  • PACKAGE_IDENTIFIER
    • 与你的设置匹配的 Java 包标识符。

FooAppFirebaseMessagingService.java

应根据你的方案替换下面所示代码中的占位符。
  • PACKAGE_IDENTIFIER
    • 与你的设置匹配的 Java 包标识符。

测试

此时,你应该能够将应用程序部署到设备。
  • 启动应用程序后,它将自动登录并注册推送通知。
  • 选择设备上的主页按钮以最小化应用程序。这一点很重要,因为这样我们才能测试到达系统托盘的通知。
  • 接下来,转到 PlayFab 游戏的 Game Manager 页面,并使用仪表板找到最新的推送注册。
  • 选择玩家 ID (1)。
PlayFab - PlayStream - 事件日志 这将为该玩家打开发送推送通知页面。
  • 选择发送推送通知按钮 (1)。
  • 输入标题 (2)。
  • 输入消息正文 (3)。
  • 通过选择发送推送通知按钮 (4) 提交更改。
PlayFab - 发送推送通知
  • 验证消息是否到达你的设备。
Android 应用 - 接收 PlayFab 推送通知 如果消息到达,则说明消息已成功传递到你的应用程序中。 至此,你已成功完成集成。当应用程序实际运行时,你可以使用 FooAppFirebaseMessagingService 来处理传入的消息。
最后修改于 2026年10月20日