当前正在做一个项目,需要我通过我的android设备进行通信并向我的android设备发送通知,从我的服务器(django,运行内置的sqlite3)。Firebase Cloud Messaging问题
为了让我的生活更轻松,我将利用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设备的任何通知发送通过此,没有显示,尤其是在控制台端。
所以为了做一个更强大的调查,我已经尝试过使用上蟒Requests库做手工HTTP后,引用文档FCM上进行如下:
r = requests.post('https://fcm.googleapis.com/fcm/send',
data= json.dumps({'to':'cbUqWQ...rzSUIimVXB'}),
headers = {'Content-Type': 'application/json','
Authorization':'key=AAAA...nrgB8Y'})
>>> r.text
'{"multicast_id":7759794145591317544,"success":1,"failure":0,"canonical_ids":0,"results":[{"message_id":"0:1484575515499197%775b3328f9fd7ecd"}]}'
>>> r.status_code
200
这几乎给了我与使用上述django-fcm库相同的响应,但是,在android或FCM服务器上再次没有收到通知。
所以我想寻求任何意见,如果有,我正在做不正确,导致正在做一个成功的HTTP请求的任何东西,并通过FCM服务器应答,但不显示FCM控制台上。
做让我知道如果你需要我给你看无论从我的Django的服务器或Android端代码!
谢谢!