如何解决FCM Python SDK - 请求包含无效参数
对于我的移动应用程序(Android 和 iOS),我使用 Firebase Cloud Messaging (FCM) 来推送通知。
我的后端服务器使用 FCM Admin Python SDK 将通知发送到特定设备以及一些附加数据。负责发送通知的代码如下:
import firebase_admin
from firebase_admin import credentials
from firebase_admin import messaging
cred = credentials.Certificate('cert.json')
firebase_admin.initialize_app(cred)
def sendNotification(token,sessionId,authenticationUrl,deviceid):
# This registration token comes from the client FCM SDKs.
registration_token = token
message = messaging.Message(
token=registration_token,data={
'sessionId': sessionId,'authenticationUrl': authenticationUrl,'deviceid': deviceid
},android=messaging.AndroidConfig(ttl=0,priority='high'),apns=messaging.APNSConfig(
headers={'apns-priority': '10'},payload=messaging.APNSPayload(
aps=messaging.Aps(content_available=True)
)
)
)
# Send a message to the device corresponding to the provided registration token.
try:
response = messaging.send(message)
print('Successfully sent message:',response)
except Exception as e:
print(e)
之前,我也将以下内容作为 Aps
对象的一部分,但我删除了它,因为现在移动应用程序生成消息和正文(取决于移动语言):
alert=messaging.ApsAlert(title='Authentication Request',body='Would you like to authenticate?')
请求包含无效参数。
如果我在没有任何更改的情况下再次调用相同的函数,它会在几次尝试后成功,但在某些运行中再次失败。没有常见的模式导致此失败。
有什么方法可以让我获得更多有关错误的信息以解决它? 也许,这是无效的论点。
更新
根据@Hiranya 的评论,我添加了一些错误处理,并且我能够确定它返回“无效争论”的争论。
它对 registration_token
这样做,但有趣的是,在失败和成功的连续运行期间,令牌永远不会被修改。
所以,仍然没有关于这种行为的线索。
信息:
- Python 版本:3.8
- firebase-admin 版本:4.5.2
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。