我正在我的应用程序中使用fcm。我遵循了firebase的文档,一切似乎都按预期进行。
当应用程序被终止时,我可以在后台和前台接收消息通知。
现在我想通过添加一些应用程序首选项来完全控制用户。
用户可以禁用应用程序设置中的所有通知
用户可以从应用程序设置更改通知铃声
我有一个想法,当应用程序在被杀或在前景时,如何做。我正在考虑访问firebasemassagingservice中的sharedprefs,看看应用程序是否应该显示通知并检查要使用的铃声。除非有一个通用的方法来设置这些参数,如“取消订阅”所有通知或更改应用程序默认通知铃声,我不知道?
但是,我不知道如何在应用程序处于后台时对接收到的通知执行此操作,因为通知已传递到设备的系统托盘。
任何人都知道或者可以给我指一些文件…我找不到这方面的任何信息?
最佳答案
默认情况下,通知会影响每个用户。如果您希望允许用户选择退出所有通知(或某些通知子集),则应使用topic messaging:默认情况下,您将为所有用户调用subscribeToTopic()
,如果他们选择退出通知,则您将调用unsubscribeToTopic()
。
通过向主题发送通知,只有已订阅的用户才能收到该通知。
notification payload support documentation解释了如何包含一个sound
参数来覆盖android上的铃声,它可以是应用程序res/raw
目录中绑定的任何声音。
需要注意的是,控制台不支持这两个功能,但要求您创建自己的Firebase Cloud Messaging Server