目前正在做一个项目,需要我从服务器(django,运行内置的sqlite3)向android设备发送通知。在
为了让我的生活更轻松,我将利用Google的Firebase云消息来弥补差距,并将通知轻松发送到android设备。在
在Django(我的服务器端),每当我需要向我的设备发送通知时,我使用django-fcm库对FCM服务器执行http请求,我相信已经正确设置了该通知。在
我目前面临的问题是,尽管我已经成功地从Django端发布到FCM服务器,但通知并没有显示在FCM控制台上,我已经尽力做了必要的研究以找到解决方案,但是没有成功。在
通过使用此库提供的方法,我尝试发送消息,以下是给出的响应:
Kzhan00b-3:eldersense_website Kzhan00b$ python3 manage.py fcm_messenger --devices
Devices list:
(#7) Zhong Han
Kzhan00b-3:eldersense_website Kzhan00b$ python3 manage.py fcm_messenger --device_id=7 --msg='hello'
Using default settings.FCM_MAX_RECIPIENTS value 1. Change it via settings [OK] device #7 (Zhong Han):
(['cbUqW...IimVXB'],
{'results': [{'message_id': '0:1484576499555513%775b332838eb0007'}], 'multicast_id': 6536553600879447077, 'success': 1, 'failure': 0, 'canonical_ids': 0})
从我读过的文件来看,由于正文中没有错误,这篇文章应该是一个成功的请求。在
然而,当我在我的控制台/模拟android设备上检查通过这个发送的任何通知时,没有显示任何内容,尤其是在控制台端。在
因此,为了进行更可靠的调查,我尝试在python上使用Requests库手动执行HTTP Post,参考FCM文档如下:
^{pr2}$这给了我和上面使用django fcm库相同的响应,但是,android和fcm服务器上都没有收到通知。在
因此,如果有任何我做得不正确的事情,导致一个成功的HTTP请求被完成,FCM服务器确认,但是没有显示在FCM控制台上,我想寻求任何建议。在
如果你需要我给你看我的Django服务器或Android端的代码,请告诉我!在
谢谢!在
我现在使用的是django fcm,它工作得很好。在Firebase控制台的“通知”部分,我没有看到从服务器发送的任何通知。看来,这个部分是用来手动发送通知的。如果我理解正确的话,它只存储通过它手动发送的消息的历史记录。至少,我在这里看不到通过django fcm发送的消息。我想你的留言可以。你能出示客户代码吗?此外,最好将FCM_MAX_RECIPIENTS=1添加到Django中设置.py. (但我认为,在这个问题的背景下,这并不重要)
相关问题 更多 >
编程相关推荐