首页 > 解决方案 > 如何使用切换按钮禁用 FCM 推送通知?

问题描述

我正在使用 xamarin 和 firebase 开发移动应用推送通知。我想在我的应用程序上放置一个切换按钮来关闭警报。我尝试了很多,但我无法解决它。

我想说很多话,但我不会说英语,我正在使用谷歌翻译。请帮我。

  1. 我尝试使用名为“allowPushNotification”的 fcm 主题禁用推送通知。打开切换按钮时,订阅主题,关闭切换按钮时取消订阅主题。但是当我使用“TOKEN”发送推送通知时,无论用户的“allowPushNotification”选项如何,都会发送推送。是否可以执行以下操作?

{ "to":"TOKENTOKENTOKENTOKEN", AND "condition":"'allowPushNotification' in topic" }

  1. 我试图在“OnPushReceived”事件上控制显示推送警报,但它失败了。在这个事件中,我检查了允许推送选项,并使用清除通知方法。但收到 -> 清除 -> 显示推送....

  2. 我考虑了用户的允许推送通知选项数据到我的数据库,并使用 db 查询过滤了用户目标。但是这样,每次用户按下切换按钮时,都会有很多不必要的数据库访问。

如果这解决了,我想在某个时间拒绝推送通知。帮我...

标签: c#firebasexamarinpush-notificationfirebase-cloud-messaging

解决方案


好吧,如果您阅读FCM Docs,它会说以下内容:

当您希望 FCM 代表您的客户端应用处理显示通知时,请使用通知消息。当您想要处理客户端应用程序上的消息时,请使用数据消息。

FCM 可以发送包含可选数据负载的通知消息。在这种情况下,FCM 处理通知负载的显示,客户端应用程序处理数据负载。

因为您想根据切换按钮处理所有通知。

我建议您在有效负载中进行必要的更改。一旦你这样做了,每次都会调用类中的OnMessageReceived方法,从而为你提供对显示通知的控制。FirebaseMessagingService您可以根据切换设置的布尔值显示或不显示。

要更好地了解如何使用有效负载和 FCM,请查看此详细博客。


推荐阅读