向 Firebase 中的所有用户推送通知
Pushing Notification to all users in Firebase
我正在尝试使用 python 向所有用户发送推送通知。但是,我知道无法使用应用程序执行此操作,您必须使用主题(据我所知)。
有没有一种方法可以让我从应用程序中创建主题?
谢谢
编辑:我是 firebase 的新手(很抱歉,如果我有困难)
要为 Android 客户订阅一个主题,请按照 subscribing to a topic 上的文档所示进行操作:
FirebaseMessaging.getInstance().subscribeToTopic("weather")
然后您可以从受信任的环境(例如您的开发机器、您控制的服务器或 Cloud Functions)向该主题发送消息。有关此示例,请参阅
首先你需要了解一个主题不需要创建(它会自动创建),你只需要定义主题名称,例如如果你正在创建应用程序以在天气变化时接收推送通知, 因此主题名称可以是“天气”。
现在您需要 2 个组件:移动端和后端
1.移动设备: 在您的移动应用程序中,您只需要 integrate the Firebase SDK and subscribe to the topic“天气”,您是怎么做到的?
Firebase.messaging.subscribeToTopic("weather")
别忘了检查文档。
2。后端: 在您的服务器中您需要实现基于 FCM SDK 的发送者脚本。
如果您是初学者,我建议您使用 Postman 发送推送通知,然后将 FCM 集成到您的后端应用程序中。
您可以通过 Postman 发送此有效载荷(不要忘记在 headers 中设置您的 API KEY)
https://fcm.googleapis.com/fcm/send
{
"to": "/topics/weather",
"notification": {
"title": "The weather changed",
"body": "27 °C"
}
}
如果可行,您可以 add FCM SDK to your backend:
$ sudo pip install firebase-admin
default_app = firebase_admin.initialize_app()
终于可以send notifications as documentation says:
from firebase_admin import messaging
topic = 'weather'
message = messaging.Message(
notification={
'title': 'The weather changed',
'body': '27 °C',
},
topic=topic,
)
response = messaging.send(message)
您需要耐心阅读文档,希望我对您有所帮助。
以上解决方案已过时。
让我为 python 添加 firebase-admin SDK 的最新实现。
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)
*几个配置注意事项:
- 在您的 firebase 控制台中获取您的 credential.json:“项目设置”->“服务帐户”->“生成新私钥”
- 确保您为服务器和客户端应用程序订阅了正确的主题名称。每个订阅相同主题的客户端应用程序,无论使用何种设备,都会收到相应的通知。
祝你有个愉快的一天~
我正在尝试使用 python 向所有用户发送推送通知。但是,我知道无法使用应用程序执行此操作,您必须使用主题(据我所知)。 有没有一种方法可以让我从应用程序中创建主题? 谢谢 编辑:我是 firebase 的新手(很抱歉,如果我有困难)
要为 Android 客户订阅一个主题,请按照 subscribing to a topic 上的文档所示进行操作:
FirebaseMessaging.getInstance().subscribeToTopic("weather")
然后您可以从受信任的环境(例如您的开发机器、您控制的服务器或 Cloud Functions)向该主题发送消息。有关此示例,请参阅
首先你需要了解一个主题不需要创建(它会自动创建),你只需要定义主题名称,例如如果你正在创建应用程序以在天气变化时接收推送通知, 因此主题名称可以是“天气”。
现在您需要 2 个组件:移动端和后端
1.移动设备: 在您的移动应用程序中,您只需要 integrate the Firebase SDK and subscribe to the topic“天气”,您是怎么做到的?
Firebase.messaging.subscribeToTopic("weather")
别忘了检查文档。
2。后端: 在您的服务器中您需要实现基于 FCM SDK 的发送者脚本。 如果您是初学者,我建议您使用 Postman 发送推送通知,然后将 FCM 集成到您的后端应用程序中。
您可以通过 Postman 发送此有效载荷(不要忘记在 headers 中设置您的 API KEY)
https://fcm.googleapis.com/fcm/send
{
"to": "/topics/weather",
"notification": {
"title": "The weather changed",
"body": "27 °C"
}
}
如果可行,您可以 add FCM SDK to your backend:
$ sudo pip install firebase-admin
default_app = firebase_admin.initialize_app()
终于可以send notifications as documentation says:
from firebase_admin import messaging
topic = 'weather'
message = messaging.Message(
notification={
'title': 'The weather changed',
'body': '27 °C',
},
topic=topic,
)
response = messaging.send(message)
您需要耐心阅读文档,希望我对您有所帮助。
以上解决方案已过时。
让我为 python 添加 firebase-admin SDK 的最新实现。
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)
*几个配置注意事项:
- 在您的 firebase 控制台中获取您的 credential.json:“项目设置”->“服务帐户”->“生成新私钥”
- 确保您为服务器和客户端应用程序订阅了正确的主题名称。每个订阅相同主题的客户端应用程序,无论使用何种设备,都会收到相应的通知。
祝你有个愉快的一天~