Firebase消息推送,如何获取服务器密钥?

202

Firebase允许我们通过发起POST请求来发送通知消息到我们自己的应用程序。

这篇教程向我们提供了如何发起此请求的说明。但是,在头信息中有一个Authorization字段,我必须将自己的服务器密钥放置在其中。

我从哪里可以获取此服务器密钥?没有相关的说明。


https://support.clevertap.com/docs/android/how-to-find-your-gcm-sender-id-and-gcm-api-server-key.html - Peter
您可以查看下面的链接。它包含了Spring Java实现。 https://dev59.com/PqXja4cB1Zd3GeqPYOV_#51172021 - Md. Sajedul Karim
您可以在此处检查答案:https://dev59.com/fsTra4cB1Zd3GeqPxRoS#72378952 - guerdaa
11个回答

352

解决方案:

  1. 在新的Firebase控制台中,单击您项目名称上方的设置(齿轮)图标,如下截屏所示: enter image description here
  2. 单击 项目设置
  3. 单击 Cloud Messaging 选项卡。
  4. 密钥就在 Server Key 下面。enter image description here

嘿@Frank Van Puffelen,这是同一件事吗?如果我想要用于推送通知,在哪里可以找到“获取应用程序服务器密钥”的选项。我参考了这个链接:https://developers.google.com/web/fundamentals/getting-started/codelabs/push-notifications/#get_application_server_keys。 - divy3993
3
Firebase控制台目前存在一个问题,在某些浏览器中会隐藏复制按钮。修复程序正在进行中,预计将在下周发布。同时,您可以通过左键单击服务器密钥标签并按下Tab键来解决此问题。请参考 https://dev59.com/O6Lia4cB1Zd3GeqPoch0#hLKiEYcBWogLw_1bTaPp。 - Frank van Puffelen
嗨,我正在尝试从PHP向Android和iOS发送通知,但是两个应用程序的服务器密钥不同,我应该设置条件以使用Android的服务器密钥发送Android通知和iOS的密钥发送iOS消息吗? - ɹɐqʞɐ zoɹǝɟ
28
看起来他们最近更新了用户界面,有人知道在新界面中如何找到服务器密钥吗? - DanielRead
5
@DanielRead,请参考此链接 https://documentation.onesignal.com/docs/generate-a-google-server-api-key。 - Ashwin H
显示剩余5条评论

65

2022年6月更新了UI界面

以下步骤可以获取服务器密钥:

  1. 点击“Cloud Messaging API (Legacy)”旁边的“...”
  2. 点击“启用Cloud Messaging API (Legacy)”
  3. 返回上一页并刷新,现在应该看到服务器密钥了

由于它被视为遗留技术,不确定是否需要采取不同的操作方式,以后再进行处理...

附带图片的步骤:https://documentation.onesignal.com/docs/generate-a-google-server-api-key


6
对于我来说,在点击“...”之后,我还需要点击弹出的按钮,前往Google Cloud控制台,然后在那里启用Cloud Messaging API(Legacy)。之后,我回到具有项目设置(云消息传递)的选项卡,刷新页面,密钥就会出现在Legacy API部分下。 - OatMeal

25

2022年7月

  1. 在Firebase项目设置中,单击紧挨着“Cloud Messaging API(Legacy)(DISABLED)”的垂直方向上的“...”符号。
  2. 点击弹出菜单列表。*应该会显示类似于“在Google Cloud控制台中管理API”的内容。

点击后将被重定向到您的Google Cloud控制台页面,在那里您应该会看到启用Cloud Messaging API的选项。启用它并返回Firebase项目设置页面,即可完成!


1
Wallahi,它起作用了。 :) - Najam Ul Saqib
这个是唯一一个有效的。 - Mishaal Naeem
1
这是2023年唯一有效的一个。 - undefined

14

嗨,我正在尝试从 PHP 向 Android 和 IOS 发送通知,但两个应用的服务器密钥是不同的,我应该设置条件,对于 Android 通知使用 Android 的服务器密钥,对于 iOS 消息使用 iOS 的密钥吗? - ɹɐqʞɐ zoɹǝɟ

13

更新: 截至2017年4月,这种方法已不再适用。 google-services.json 中的 api_key 只是遗留密钥。 选定答案是正确的。


废弃的方法:

在您的项目中有一个名为 google-services.json 的 JSON 文件。

打开该文件并搜索

"api_key": [
        {
          "current_key": "********"
        }

那些***是您的服务器 API 密钥。

如果您没有该文件,则可以从 Firebase 帐户中的应用程序详细信息中下载它。

enter image description here


2
顺便说一下,我刚刚花了几个小时调试推送通知,使用“current_key”值。并不是从你的答案中得到的。结果发现你需要按照所选答案所说的方式获取服务器密钥。 - Dhunju_likes_to_Learn
1
也许你的答案在过去是正确的,但现在(2017年2月)已经不正确了。被选中的答案是正确的! - Mike Mitterer

12

5 步启用

前往 Firebase 控制台 > 项目设置 > 云消息传递

enter image description here

点击 Google Cloud控制台中的管理API

使用下面所示的返回按钮前往API库

enter image description here

在搜索栏中输入云消息并选择云消息

enter image description here

点击 启用 开始使用 云消息 API

enter image description here

现在回到 项目设置 > 云消息


1
谢谢,这适用于2023年9月。 - Sebastian Paduano

9

2022年更新的用户界面

以下是获取服务器密钥的步骤:

  1. 进入Firebase控制台

  2. 您将看到此视图,如果您已经创建了项目,请选择该项目,否则点击“添加项目”创建新项目。 输入图像描述

  3. 现在您在项目概述面板中。

  4. 在项目概述面板中,左上角点击设置按钮,然后转到项目设置-->云消息传递

输入图像描述

  1. 就这样。在项目凭据中列出了密钥和令牌。复制代码并粘贴即可使用。 输入图像描述

8

在 Firebase 中有两个密钥,第一个位于设置(常规选项卡)中,称为 Web API 密钥。

第二个是您感兴趣的,在设置(Cloud Messaging 选项卡)中,称为服务器密钥。

使用第二个密钥来从 PHP 发送推送通知。


6

截至2023年4月底,第二部分(云消息API)未启用,并且将不再启用。 - Svetoslav Stefanov

4

在我的情况下,我与第三方系统进行了集成,他们要求提供"服务器密钥"的JSON文件。

我从Firebase获取到的内容是: 项目概述 -> 项目设置 -> 服务帐户屏幕,然后点击生成新的私有密钥按钮。 我使用该文件,一切按预期工作。

输入图像描述


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接