我正在进行Django-Android交互的第一步,我对FCM技术的工作原理感到有点困惑。我已经通过pip安装了django-fcm,现在我的目标是通过Android设备通过REST资源发送到服务器的FCM令牌向Android设备发送通知。
第三方Android开发人员告诉他们他们只会给我FCM令牌,我应该能够发送通知。我对the doc
中的以下代码段感到有些困惑devices = FCMDevice.objects.all()
什么是FCM设备?以及示例中的JSON代码如何:
{
"to" : "bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
"notification" : {
"body" : "great match!",
"title" : "Portugal vs. Denmark",
"icon" : "myicon"
}
}
......与此相关:
device = FCMDevice.objects.all().first()
device.send_message("Title", "Message")
device.send_message(data={"test": "test"})
device.send_message(title="Title", body="Message", icon=..., data={"test": "test"})
问题将最简单的通知发送到由其FCM令牌识别的
的最小代码段是什么答案 0 :(得分:3)
要通过django app服务器发送通知,您需要:
'fcm_django'
添加到INSTALLED_APPS
。FCM_APIKEY = <your_api_key>
device_instance.send_message
(notification = { "body" : "great match!",
"title" : "Portugal vs. Denmark",
"icon" : "myicon"})
为了完全理解django-fcm是如何工作的,我建议您实际查看源代码。如果一个开源软件包令我感到不安,那么实际查看源代码和阅读评论有时会很有启发性。 django-fcm是一个小而简单的包。 utils.py文件是最重要的。这就是组成消息并使用python的请求包发送到Firebase的地方。要了解此文件。另请阅读https://firebase.google.com/docs/cloud-messaging/http-server-ref#downstream-http-messages-json
的firebase文档答案 1 :(得分:0)
首先,FCMDevice是一个django模型对象,它包含有关已注册设备的数据,可以向其发送通知。
预计您提供该数据。当移动设备/浏览器从fcm库从其FCM令牌获取该数据时,您应该在使用fcm-django库的后端中注册该令牌。
意思是,使用库中的模型FCMDevice在数据库中创建一个对象。
发送通知所需的最小代码正是您在此帖中发布的。
我相信您应该阅读一些django教程,以便更好地了解实际的模型。