使用 FCM V1 获取 Google 服务账户密钥
编辑
学习如何创建或使用 Google 服务账户密钥,以通过 FCM 发送 Android 通知。
创建新的 Google 服务账户密钥
以下是在 EAS 中配置新的 Google 服务账户密钥以通过 FCM V1 发送 Android 通知的步骤。
1
在 Firebase 控制台 中为你的应用创建一个新的 Firebase 项目。如果你已经为你的应用创建了 Firebase 项目,请继续下一步。
2
在 Firebase 控制台中,打开 项目设置 > 服务账户。
3
点击 Generate New Private Key,然后通过点击 Generate Key 来确认。安全存储包含私钥的 JSON 文件。
4
将 JSON 文件上传到 EAS 并配置它以发送 Android 通知。这可以使用 EAS CLI 或在 EAS 仪表板 中完成。
- 运行
eas credentials - 选择
Android>production>Google Service Account - 选择
Manage your Google Service Account Key for Push Notifications (FCM V1) - 选择
Set up a Google Service Account Key for Push Notifications (FCM V1)>Upload a new service account key - 如果你之前已将 JSON 文件存储在项目目录中,则 EAS CLI 会自动检测该文件并提示你选择它。按 Y 继续。
注意: 将 JSON 文件添加到你的版本源控制忽略文件中(例如,.gitignore),以避免将其提交到你的仓库,因为它包含敏感数据。
- 在 项目设置 下,点击导航菜单中的 凭据
- 对于 Android,点击 添加应用标识符 或选择现有的 应用标识符
- 在 服务凭据 > FCM V1 服务账户密钥 下,点击 添加服务账户密钥
- 在 Upload new key 下,上传你的 JSON 凭据并点击 Save
5
在你的项目中配置 google-services.json 文件。从 Firebase 控制台下载并将其放置在项目目录的根目录中。
此文件是将你的 Android 应用注册到 FCM 所必需的。你可以将此文件提交到你的仓库,因为它包含来自 Firebase 项目的公开标识符。
注意: 如果 google-services.json 已经设置好,你可以跳过此步骤。
在 app.json 中,添加 expo.android.googleServicesFile,其值为 google-services.json 的路径。
{ "expo": { %%placeholder-start%%...%%placeholder-end%% "android": { %%placeholder-start%%...%%placeholder-end%% "googleServicesFile": "./path/to/google-services.json" } }
6
一切就绪!你现在可以使用 FCM V1 协议通过 Expo 推送通知向 Android 设备发送通知。
使用现有的 Google 服务账户密钥
1
在 Google Cloud 控制台中打开 IAM 管理页面。在权限选项卡中,找到您打算修改的 主体,并点击 编辑主体 的铅笔图标。
2
点击 Add Role,然后从下拉菜单中选择 Firebase Messaging API Admin 角色。点击 Save。
3
你必须通过 EAS CLI 或在 EAS 仪表板 中指定 EAS 使用哪个 JSON 凭据文件来发送 FCM V1 通知。你可以上传一个新的 JSON 文件或选择之前上传的文件。
- 运行
eas credentials - 选择
Android>production>Google Service Account - 选择
Manage your Google Service Account Key for Push Notifications (FCM V1) - 选择
Set up a Google Service Account Key for Push Notifications (FCM V1)>Upload a new service account key - EAS CLI 会自动检测你本地机器上的文件并提示你选择它。按 Y 继续。
注意: 将 JSON 文件添加到你的版本源控制忽略文件中(例如,.gitignore),以避免将其提交到你的仓库,因为它包含敏感数据。
- 在 Project settings 下,点击导航菜单中的 凭据
- 对于 Android,点击 Add Application Identifier 或选择现有的 Application identifier
- 在 Service Credentials > FCM V1 service account key 下,点击 Add a service account key
- 在 Upload new key 下,上传你的 JSON 凭据并点击 Save
4
在你的项目中配置 google-services.json 文件。从 Firebase 控制台下载并将其放置在项目目录的根目录中。
此文件是将你的 Android 应用注册到 FCM 所必需的。你可以将此文件提交到你的仓库,因为它包含来自 Firebase 项目的公开标识符。
注意: 如果 google-services.json 已经设置好,你可以跳过此步骤。
在 app.json 中,添加 expo.android.googleServicesFile,其值为 google-services.json 的路径。
{ "expo": { %%placeholder-start%%...%%placeholder-end%% "android": { %%placeholder-start%%...%%placeholder-end%% "googleServicesFile": "./path/to/google-services.json" } } }
5
一切就绪!你现在可以使用 FCM V1 协议通过 Expo 推送通知向 Android 设备发送通知。