使用 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 的路径。

app.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 的路径。

app.json
{ "expo": { %%placeholder-start%%...%%placeholder-end%% "android": { %%placeholder-start%%...%%placeholder-end%% "googleServicesFile": "./path/to/google-services.json" } } }

5

一切就绪!你现在可以使用 FCM V1 协议通过 Expo 推送通知向 Android 设备发送通知。