将Firebase主题消息与Android通知通道一起使用

时间:2017-07-31 10:39:35

标签: android firebase firebase-cloud-messaging android-notifications android-8.0-oreo

我的应用程序可以接收不同的通知类型(例如NewsPodcast)。目前,它有两个简单的开关,用户可以启用和禁用这些不同的通知类型。它只需订阅和取消订阅相应的Firebase主题即可。明显的优点是设备只接收用户想要的通知,而不必在本地过滤它们=>电池和数据有效。

问题是,我想将它与新的Android O通知渠道结合起来。我是否正确地假设唯一的方法是只订阅Firebase中的所有主题并让用户在Android设置中手动禁用不需要的主题?

是否有更好的方法可以节省更多电池寿命(通过不接收所有通知)?

1 个答案:

答案 0 :(得分:4)

Notification Channel(仅适用于Android O所需的功能 - 可能是以后)是(您)通常用于排序/管理您在本地构建的通知的参数。 -

  

Android O引入了通知渠道,以提供统一的系统来帮助用户管理通知。

它不一定禁止接收您不希望收到的通知,但是没有通知通道的(AFAIK)通知内置将不会在Android O中显示/显示(不是收到!=未显示)。即您的设备实际上可能仍在接收通知,但不会显示。

对于通过主题发送的通知,只要订阅了相应的注册令牌,客户端handle it accordingly的预期行为就会出现。

尽管如此,你已经实现了什么(如果我理解你的帖子正确 - 订阅和取消订阅基于某种类型的开关的主题)已经是最简单的了。

如果您想完全停用通知,可以拨打deleteInstanceId()。有关其他信息,请参阅我的答案herehere