如何获取 FCM-Django 推送通知的 registration_id (flutter app)
Posted
技术标签:
【中文标题】如何获取 FCM-Django 推送通知的 registration_id (flutter app)【英文标题】:how to obtain the registration_id for FCM-Django push notifications (flutter app) 【发布时间】:2022-01-13 02:42:40 【问题描述】:我使用 django 作为我的颤振应用程序的后端。并且只是想学习如何实现推送通知。
有没有办法让设备的 registration_id 发送推送通知而不将 firebase_messaging/firebase_core 包添加到我的颤振包中?我觉得让这些包只注册设备令牌是多余的。或者这是唯一的方法^
我正在使用 FCM-django 包发送通知,但需要在我的数据库中为每个用户保存设备的 registration_id。
【问题讨论】:
你好@Karan,我面临着完全相同的问题。你解决了吗? 嘿,是的,我做到了。所以你必须添加 firebase_messaging 和 firebase_core 包。这是最简单的方法。然后,您必须在 firebase 上注册您的应用程序,因为本质上您正在使用他们的推送通知服务。这部分要求您遵循他们的说明(android vs ios),您必须将一个文件添加到他们为您生成的应用程序中。您还必须设置后端。我遇到了一个问题,我的 django 后端无法识别他们让您添加为系统变量的文件。因此,请务必在完成后重新启动计算机。 我做了一切,但我不确定如何在 django 后端发送 fcm 模型的注册 ID?还是留给前端开发人员,我不必从后端做任何事情?? 我只设置前端。这样您就可以轻松看到弹出的通知!我认为这是最好的方法。 Firebase 消息传递,firebase 核心,获取所需的包,在 flutter 上初始化包。并获取该注册Id 将该Id发送到后端以保存与用户关联的FCM设备。然后,您将能够发送推送通知。如果您有任何具体问题,请告诉我。 所以我对此也超级陌生。但是firebase消息是完全免费的。我觉得总有一些隐藏费用,所以我没有完全调查。但它现在似乎是免费的。我觉得任何事情都可以改变 【参考方案1】:在 Flutter 中获取设备令牌
final FirebaseMessaging _fcm = FirebaseMessaging.instance;
@override
void initState()
// TODO: implement initState
super.initState();
_fcm.getToken().then((value)
print("Device Token $value");
);
将此设备令牌存储到数据库中并将其用于推送通知。
【讨论】:
以上是关于如何获取 FCM-Django 推送通知的 registration_id (flutter app)的主要内容,如果未能解决你的问题,请参考以下文章