使用 firebase 云消息传递、Python API 发送通知失败

阅读Firebase文档,我编写了Python脚本,以便向我的Android应用程序发送一些通知。


import firebase_admin 

from firebase_admin import credentials, messaging


#USING ENV VARIABLE: GOOGLE_APPLICATION_CREDENTIALS 

app = firebase_admin.initialize_app()


topic = 'uat-test' 

notification = messaging.Notification(title="Title", body="Body")


# See documentation on defining a message payload. 

message = messaging.Message(

    notification=notification,

    topic=topic, )


# Send a message to the devices subscribed to the provided topic. 

messaging.send(message)


# Response is a message ID string. 

print('Successfully sent message:', message)

身份验证信息存储在GOOGLE_APPLICATION_CREDENTIALS env 变量中,该变量指向我从 firebase.google.com 下载的私钥 json 文件。


即使我收到消息ID并且没有显示错误消息,我也在手机上看不到任何通知。仅当我使用 Firebase 控制台通过网络应用(firebase.google.com)手动发送通知时,我才能成功收到通知,但我需要自动执行该过程。手动调度时收到的通知告诉我,我的应用已成功订阅该主题,但我无法理解为什么 Python API 不起作用。我不认为这是一个环境问题,因为我也尝试过Node API,我得到了相同的结果。有人有线索吗?我觉得我错过了一些东西。我从我的电脑上运行脚本,我不知道它是否可以计数。


海绵宝宝撒
浏览 120回答 1
1回答

慕莱坞森

我找到了一种显示通知的方法。事实证明,由于我是使用Flutter Framework开发的,因此Android应用程序只能通过旧版应用服务器协议来处理通知:Firebase文档旧版协议使用这种方法,通知最终会显示出来。我不知道iOS是否会有同样的问题。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python