配置推送通知服务
推送通知服务用于向用户发送有关 RainMaker 的事件通知。在安卓和 iOS 中使用这一服务分别需要在通知设置中配置 FCM 和 APNS 环境。
在安卓中配置推送通知服务
配置过程分为两步:需要在 Google Firebase 服务端以及安卓应用代码中进行配置。
Firebase 服务端配置
-
为安卓应用配置推送通知服务,请参阅推送通知设置。
-
前往 Firebase 控制台,选择你的项目。在左侧导航栏中点击齿轮图标,然后选择
Project settings。
-
选择
Service accounts。在Firebase Admin SDK下,点击Generate new private key。
此操作将下载一个包含所有项目详细信息(包括私钥)的文件。
-
用管理员账号登录 RainMaker 管理面板。打开
Deployment Settings>Push Notifications。
-
创建新的平台应用程序。选择类型为
Google Notification。
-
将步骤 3 中下载的文件中的
Private Key内容粘贴到此处。点击Save。
-
现在可以启用推送通知服务了,具体启用步骤请参阅启用通知推送。
安卓应用代码层面的配置
Firebase 设置
要继续配置,需要使用谷歌账号登录 Firebase 控制台。
创建 Firebase 项目
-
在 Firebase 控制台中点击
Create a project,然后选择或输入Project name。
注意如果已有谷歌云项目,可以在下拉菜单中选择该项目,并将 Firebase 资源添加至该项目。
-
(可选)如果你正在创建新项目,可以编辑
Project ID。如需使用特定标识符,必须在此设置步骤中修改项目 ID。Firebase 会自动为 Firebase 项目分配唯一 ID。注意在 Firebase 为项目配置完资源后,将无法再更改项目 ID。
-
点击
Continue。
-
点击
Create project(如果你使用现有的谷歌云项目,则点击Add Firebase)。
备注更多信息请参见 Firebase 网站上的创建 Firebase 项目。
在 Firebase 中注册应用
要在安卓应用中使用 Firebase,必须先在 Firebase 项目中注册该应用。注册应用通常也称为将应用“添加”到项目。
了解 Firebase 项目文档说明了在 Firebase 项目中添加应用的最佳实践与注意事项,包括如何处理多个构建变体。
-
前往 Firebase 控制台。
-
在
Project Overview页面中央,点击安卓图标 (plat_android) 或Add an app to get started,启动设置流程。
-
在
Android package name字段输入应用包名 (application id)。点击Register app。
备注请确保输入应用实际使用的包名。包名应区分大小写,并且在此安卓应用注册到 Firebase 项目后将无法更改。
备注更多信息请参见 Firebase 网站上的章节:在 Firebase 中注册您的应用。
在 iOS 中配置推送通知服务
配置过程分为两步:需要在苹果开发者控制台以及 iOS 应用代码中进行配置。
苹果开发者控制台推送通知设置
-
登录苹果开发者账号。

-
启用此服务需要
App ID。若尚未创建,请前往苹果开发者控制台创建新账号,具体步骤请参阅在苹果开发者控制台创建应用 ID。 -
打开
Certificates一栏,点击+。
-
为推送通知服务创建新的证书,请选择
Apple Push Notification service SSL (Sandbox & Production)并点击Continue。
-
选择应用程序的
App ID并点击Continue。
-
接下来需要创建证书签名请求 (CSR)。

-
打开
Keychain Access工具栏,选择Certificate Assistant>Request a Certificate From a Certificate Authority。
-
在
Certificate Assistant对话框中,找到User Email Address一栏并输入电子邮件地址,CA Email Address一栏无需填写。选择Saved to disk并点击Continue以保存证书。
-
上传 CSR。

-
证书已经成功创建,可以使用
Keychain Access下载并查看。
-
从
Keychain Access导出证 书,格式为p12。
无需设置密码来保护导出的证书。

-
启动通知推送需要使用 SSL 证书和对应的私钥。
使用以下命令可获取 SSL 证书:
openssl pkcs12 -in yourP12Certificate.p12 -clcerts -nokeys
使用以下命令可获取私钥:
openssl pkcs12 -in yourP12Certificate.p12 -nocerts -nodes
-
用管理员账号登录 RainMaker 管理面板。打开
Deployment Settings>Push Notifications。
-
创建新的平台应用程序,选择类型为
Apple Notification(APNS)。
-
将步骤 12 中获取的 SSL 证书和私钥粘贴至此处,点击
Save。
备注该证书也可用于沙盒和生产环境。沙盒环境用于测试通知和调试,APNS 用于分发。你可以重复步骤 13 和 14,选择类型为
APNS_SANDBOX(APNS_SANDBOX),为沙盒环境设置推送通知。 -
现在可以启用推送通知服务了,具体启用步骤请参阅启用通知推送。
在 ESP RainMaker 管理面板启用推送通知
-
用管理员账号登录 RainMaker 管理面板。打开
Deployment Settings>Push Notifications。
-
使用切换键启用推送通知。你可以自定义启用推送通知的事件。
备注使用同一个切换键也可以禁用推送通知功能。
iOS 应用代码层面的推送通知设置
项目默认启用推送通知。ios/Notification/ESPNotificationModule.swift 中的 getNotificationPlatform() 方法应根据构建配置返回平台标识字符串:
- 生产构建:返回
APNS。 - 开发/沙盒构建:返回
APNS_SANDBOX。
后端会使用该平台标识符识别通知的平台类型。该方法应检查构建配置(DEBUG 或 RELEASE),并返回相应的值:
@objc(getNotificationPlatform:reject:)
func getNotificationPlatform(resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
// 开发/沙盒构建 – 返回 APNS_SANDBOX
resolve("APNS_SANDBOX")
// 生产构建 – 返回 APNS
resolve("APNS")
}

