python - 使用 device_token 发送推送通知
问题描述
我想向每个用户发送推送通知。我想用 device_token 做到这一点。我将 device_tokens 存储在 Firebase Cloud Firestore 中。
func storeDeviceTokenFromUserInFirestore(device_token: Data) {
let device_tokenToString = device_token.hexString
print("device_tokenToString", device_tokenToString)
DATABASE_FIRESTORE.collection("device_token_from_user").getDocuments { (querySnapshot, err) in
if let err = err {
print("Error getting documents: \(err)")
} else {
for document in querySnapshot!.documents {
var value = document.data().values.description
value = String(value.dropFirst())
value = String(value.dropLast())
if device_tokenToString == value {
return
} else {
var ref: DocumentReference? = nil
ref = self.DATABASE_FIRESTORE.collection("device_token_from_user").addDocument(data: ["device_token" : device_tokenToString
]) { err in
if let err = err {
print("Error adding document: \(err)")
} else {
print("Document added with ID: \(ref!.documentID)")
}
}
}
}
}
}
}
使用 Python 脚本,我想向每个用户发送推送通知。
for token in tokens:
serverToken = 'myServerToken'
deviceToken = token
headers = {
'Content-Type': 'application/json',
'Authorization': 'key=' + serverToken,
}
body = {
'notification': {'title': 'Sending push form python script',
'body': 'New Message'
},
'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())
执行此代码后,我没有收到推送通知。我做错了什么?
解决方案
推荐阅读
- python - 如何在图像上绘画后阻止参数更改?
- husky - Yorkie git 钩子总是以“未找到”而失败
- java - NDK 版本未知
- c# - 获得单一数据类型 VB.NET 的错误减法结果
- postgresql - array_positions() 比较,不相等
- c# - 如何从 C# 中的列表中提取数组?
- macos - FFMpeg 在 OSX Mojave 上访问 AVFoundation usb 子设备摄像头
- sql - 使用带有查询字符串的 sql 在下拉列表中显示数据
- java - 为什么我的 else if 语句不管我的 if 语句是否为真都会运行
- python - pyinstaller 给出“ImportError:DLL 加载失败”