如何向多个设备发送通知

问题描述 投票:0回答:2

我正在尝试做需要同时通知所有用户的加密应用程序。 为单个设备发送通知对我有用。但如何使用 python 发送多个设备通知?

此代码仅向单个设备发送通知

import requests
import json   
serverToken = 'token here'
                
deviceToken = 'token here'

headers = {
        'Content-Type': 'application/json',
        'Authorization': 'key=' + serverToken,
      }

body = {
          'notification': {'title': 'Sending push form python script',
                            'body': 'OMG lets goo1'
                            },
          'to':
              deviceToken,
          'priority': 'high',
        #   'data': dataPayLoad,
        }
response = requests.post("https://fcm.googleapis.com/fcm/send",headers = headers, data=json.dumps(body))
print(response.status_code)

print(response.json())

(我只想向所有拥有 flutter 应用程序的用户发送通知)

编辑 我可以列出所有设备令牌,但是,无论如何,是否可以向拥有我的应用程序的人发送通知。(不列出所有设备令牌)

python flutter notifications firebase-cloud-messaging
2个回答
0
投票

您确实需要提供更多背景信息。 Karl Knechtel 的回答值得考虑。然而,我想说的是,从“非常一般”的角度来看,异步编程似乎可能是一个解决方案。您可以在运行函数时调用异步函数来提醒所有成员。这将允许程序继续正常运行,不会因通知多个用户而减慢速度,同时运行单独的异步函数来通知尽可能多的人。 再次强调:这是一个“非常”通用的解决方案,但很可能不是您遇到的问题,因为您“真的”需要提供示例代码、上下文,并更清楚地了解您需要帮助的内容。

编辑: 为了清晰和具体而添加更多内容。

如果问题是您不能延迟您的计划,因为它会通知大量收件人:

考虑如下结构:

async def alertMembers() async def program() 您可以

呼叫

await
您的程序来提醒所有成员,而不会中断实际程序的流程。

如果问题是您不知道如何使用任何警报方法向多个成员发出警报:

考虑从 CSV 或 JSON 读取的收件人列表,您的程序在 

for

循环中迭代以获取所有收件人。像这样: recipients = pd.read_csv('recipients.csv') # Using Pandas and CSV with open('recipients.json', 'r') as f: # Using inbuilt JSON parsing recipientsJSON = json.load(f) # Sample recipientsJSON dictionary: recipients = { "John": ["19280120987"], "Mary": ["19283192832"] } # Executing with a for loop for recipient in recipientsJSON: sms.send_message( "number": recipientsJSON[recipient][0] "content": 'something' # Your alert )

这种类型的结构执行起来非常高效,并且可以处理任意数量的收件人。

这些是针对非常模糊和未知问题的一些潜在解决方案,因此请编辑、改写并为您的问题添加上下文,以便能够得到适当的回答。


尝试 async-pyfcm (

https://pypi.org/project/async-pyfcm/

)


0
投票

为了传输到多个设备,异步发送可能是必不可少的。

© www.soinside.com 2019 - 2024. All rights reserved.