如何使用切换按钮禁用FCM推送通知?

时间:2018-12-22 12:37:05

标签: c# firebase xamarin push-notification firebase-cloud-messaging

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

我想说很多话,但是我不会说英语,而且我正在使用Google翻译。 请帮助我。

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

{   “至”:“ TOKENTOKENTOKENTOKEN”,    和   “ condition”:“主题中的'allowPushNotification' }

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

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

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

2 个答案:

答案 0 :(得分:0)

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

  

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

     

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

因为您要按照切换按钮处理所有通知。

我建议您对有效负载进行必要的更改。完成后,每次将调用OnMessageReceived类中的FirebaseMessagingService方法,从而使您可以控制显示通知。您可以根据切换设置的布尔值显示或不显示。

要更好地了解一般如何使用有效负载和FCM,请检查此detailed blog.

答案 1 :(得分:0)

如果您通过令牌向设备发送消息,它将不遵循您的主题设置。如果要阻止此类通知,则需要进入系统设置。您可以参考此link

当应用程序在后台运行时,将不会触发OnMessageReceived()方法。我认为您最好不要通过令牌发送消息。尽可能使用主题消息。