当前位置: 首页 > 知识库问答 >
问题:

向Firebase中的所有用户推送通知

颜修为
2023-03-14

我正在尝试使用python向所有用户发送推送通知。但是,我知道没有办法使用应用程序做到这一点,您必须使用主题(据我所知)。有没有办法可以从应用程序中创建主题?谢谢编辑:我对Firebase完全陌生(如果我很困难,很抱歉)

共有3个答案

鲁峰
2023-03-14

以上解决方案折旧过时。

让我介绍一下python的Firebase adminSDK的最新实现。

import firebase_admin
from firebase_admin import credentials, messaging

cred = credentials.Certificate(
    "<path-to-your-credential-json>")
firebase_admin.initialize_app(cred)

topic = 'notification'

message = messaging.Message(
    notification=messaging.Notification(
        title='The weather changed', body='27 °C'),
    topic=topic,
)
response = messaging.send(message)

print(response)

*注意少数配置:

  1. 获取您的凭证。firebase控制台中“项目设置”下的json-

祝你有美好的一天~

郭皓
2023-03-14

要将Android客户端订阅到主题,请按照订阅主题时的留档中所示操作:

FirebaseMessaging.getInstance().subscribeToTopic("weather")

然后,您可以从受信任的环境(例如您的开发机器、您控制的服务器或Cloud Functions)向该主题发送消息。有关此示例,请参阅如何通过CURL向所有设备发送Firebase通知?

凌波峻
2023-03-14

首先,你需要理解一个主题不需要创建(它将自动创建),你只需要定义主题名称,例如,如果你正在创建应用程序以在天气变化时接收推送通知,那么主题名称可以是“weather”。

现在你需要有两个组件:移动设备

1.移动:在您的移动应用程序中,您只需集成FirebaseSDK并订阅主题“天气”,您如何做到这一点?

Firebase.messaging.subscribeToTopic("weather")

别忘了检查文件。

2.后端:在您的服务器中,您需要实现基于FCMSDK的发件人脚本。如果您是初学者,我建议您使用Postman发送推送通知,然后将FCM集成到您的后端应用程序中。

你可以通过邮递员发送这个有效负载(别忘了在邮件头中设置API密钥)

https://fcm.googleapis.com/fcm/send

{
  "to": "/topics/weather",
  "notification": {
    "title": "The weather changed",
    "body": "27 °C"
  }
}

如果有效,您可以将FCMSDK添加到后端:

$ sudo pip install firebase-admin
default_app = firebase_admin.initialize_app()

最后,您可以发送通知留档说:

from firebase_admin import messaging

topic = 'weather'

message = messaging.Message(
    notification={
        'title': 'The weather changed',
        'body': '27 °C',
    },
    topic=topic,
)
response = messaging.send(message)

更多详情请点击此处:https://github.com/firebase/firebase-admin-python/blob/eefc31b67bc8ad50a734a7bb0a52f56716e0e4d7/snippets/messaging/cloud_messaging.py#L24-L40

你需要对文档保持耐心,我希望我能帮上忙。

 类似资料:
  • 我试图在我的Firebase应用程序中向所有用户发送消息推送。 我尝试过做以下请求: 感谢您的帮助!

  • 如何使用Firebase向我的应用程序的所有注册用户发送推送通知?我在纪录片中搜索了api,但没有找到任何有用的东西。

  • 我正在制作一个工作应用程序,目的是为Android Studio中使用Java的用户提供一个门户。我已经设置了Firebase云消息传递、身份验证和一个实时数据库来存储用户。我可以很容易地从云控制台发出推送通知,但我在想,有没有一种方法可以在不使用控制台的情况下,将推送通知发送到所有设备? 我的理由是,我不希望有人在人力资源意外删除一个用户,但我希望他们能够发送推送通知的情况,如关闭。有没有办法做

  • 我正在尝试用新的Firebase服务向我的android设备发送推送通知。我注册并安装了一个应用程序,同时我把接收通知所需的所有代码都放在了android应用程序中。通过Firebase控制台,我可以向我的应用程序发送一个通知,然后它就会被接收并显示出来。现在我想编写一个java独立服务器,向所有设备发送通知。这是我当前的代码: 这是我从他们的服务器上得到的结果: 不幸的是,简单地移除“to”标记

  • 现在我有一个超过一万名成员的组,并且我为一个组创建了一个主题(通知主题),在这个主题中,组中的所有用户都订阅了这个主题。现在在组内,任何用户都可以添加类似图像、文件或视频的帖子。当用户添加帖子时,我需要发送通知给所有订阅该主题的用户,但除了一个,即添加帖子的人。我怎样才能做到这一点?? 现在通知将发送给所有用户,包括添加帖子的人。