Android 推送通知
先决条件
配置 Android 通知通道
Firebase 设置
你必须使用并同步三个 Google 网站。在 Google/Firebase 中,同时存在 Projects 和 Apps:-
Project:
- 如果尚未导入,请将你的项目导入 Firebase Console。
-
App:
- Firebase Projects 包含 apps。
- 确保你的应用同时存在于两个位置,并使用相同的名称和标识符(例如 Unicorn Battle 和 com.playfab.unicornbattle2)。
PlayFab 需要服务器私钥文件
- 你可以从 Firebase Console 获取此私钥文件。
- Firebase Console:
- 选择你的 Project 或 App,找到 Settings 选项(有多种方式可以到达此处,最终都会到达同一位置)。
- 在 Service accounts 选项卡中,选择 Generate new private key 按钮以下载 JSON 文件。
使用私钥文件
-
通过以下两种方式之一提供你的私钥文件:
- 直接将私钥文件上传到 Game Manager UI:Settings(针对你的 Title)> Push Notifications > Android。
- 或者使用 Postman 或启用了 Server API 方法的 Unity 项目调用 SetupPushNotification。
- Name:your_game_name
- Platform:GCM
-
Credential:(私钥文件内容作为字符串):
{ ... } -
Overwrite OldARN:
true -
你应该会收到一个 HTTP 200 OK 响应,数据类似如下。
-
正确设置完成后(使用任一方法),你应该在 Game Manager UI 的 Settings(针对你的 title)> Push Notifications > Android 中看到以下内容。

入门:Android + Unity 推送通知
设置你的 Unity 项目:- 创建新的 Unity 项目。
- 可选 导入 PlayFab Unity Editor Extensions 包。
- 导入 Unity PlayFab SDK 包。
-
按照 FCM Unity 指南安装 FCM 消息传递,并为推送通知设置项目。
- 完成后,可以继续按照本指南接收来自 PlayFab 的消息。
- 我们将在下面的示例中提供一个完整的支持 FCM 的 monoBehaviour 脚本,它结合了 FCM 和 PlayFab。
-
在 FCM 指南中,你创建了一个用于设置 Firebase 插件的 monobehavior 脚本。
- 你可以继续使用该 monobehavior 脚本,或将其替换为下面示例中的脚本。
设置你的第一个推送通知
在 Unity 中打开你在 FCM 教程中创建的脚本,并替换其内容。PlayFabSettings.TitleId = TITLE_ID。你必须设置自己的 TitleId。如果不更新此 TitleId,此示例将无法工作,因为我们的 title 已使用我们的 Firebase 密钥和设置注册,而不是你的。你可以通过取消注释此行并将 TITLE_ID 替换为你的 titleId 来实现,或者你可以从上一节中提到的可选 Editor Extensions 插件中选择你的 title。Android 疑难解答
-
验证你能否从 Firebase Console 发送测试推送通知。
- 如果不能,则说明你的 Firebase 插件未正确设置,你应查阅 Firebase 文档以找出原因,或联系 Firebase 支持。
-
确保正确设置了 FCM 客户端 pushToken。
- 示例中的
OnTokenReceived函数应被调用,并且应具有有效的令牌。 - 如果未被调用,则你的 Firebase 插件未正确设置,你应查阅 Firebase 文档以找出原因,或联系 Firebase 支持。
- 示例中的
-
确保你的
titleId设置为你拥有的 title,并且已使用来自你的 Firebase 项目的服务器 API 密钥进行了注册。
高级功能
在 server.SendPushNotification 中,你可以使用 request.Package.CustomData 向设备传送任意数据。在前面的示例中,这些数据会传送到带有以下注释的部分。不支持或保证第三方插件传送,但可供高级用户使用。
