我是DART的初学者。 实际问题是“即使用户注销,该应用程序也会收到FCM通知。” 因此,如果用户已注销,我想阻止通知。 我的问题是,“我可以检查新通知是否针对当前登录者”(成功登录后使用从服务器发送的令牌ID)。
我可以在收到通知后添加检查语句吗? 在使用令牌ID将其显示在托盘中之前
如果(stored_apiToken == apiToken_sent_with_the_Notification){
ShowNotification();
}其他{
dontShowNotification();
}
预先感谢
答案 0 :(得分:0)
这不是在客户端执行此操作的好方法。我们可以配置Firebase Cloud Messaging(FCM)来完成繁重的工作。就像我们可以使FCM仅将通知发送给我们希望其接收的设备或用户一样。可以根据使用情况以多种方式将其存档,
如果要将消息发送给一组用户,则可以在FCM控制台上创建一个主题,并使用subscribe库使该用户firebase_messaging成为该主题的用户,因此通知发送给该主题将仅由那些订阅的用户接收。 使用以下链接了解其操作方式,并使用firebase_messaging包
对其进行应用如果要发送给特定用户, FCM在应用程序的初次启动时创建设备注册令牌。您可以通过在FCM对象上调用getToken()来检索此令牌。 firebase可能会刷新令牌,因此您应该使用onTokenRefresh收听令牌。将接收到的令牌与数据库上的用户相关联,然后您可以send notification to that particular user使用该令牌。您可以通过多种方式使用AdminSDK或REST
发送通知如果只希望在用户登录时收到通知,则可以让用户在用户登录后订阅主题(例如已登录的用户)。也可以添加{ {3}}在if块中以检查configure method是否存在(不推荐)。
我之前提到的向特定用户发送消息仅在该用户登录后才有效,因为只有在该用户登录后,我们才会将设备注册令牌存储在该特定用户上。