通过 Android 个通知渠道使用 Firebase 主题消息

Use Firebase Topic Messages with Android Notification Channels

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

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

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

Notification Channel(只有 Android O 需要的功能 -- 大概是以后)是(类似)您将(通常)用于 sort/manage 通知的参数在本地构建。 --

Android O introduces notification channels to provide a unified system to help users manage notifications.

它不一定会禁止接收您不想接收的通知,但是 (AFAIK) 通知 内置 没有通知通道将不会显示 up/display in Android O(未收到!=未显示)。也就是说,您的设备实际上可能仍在接收通知,只是没有显示而已。

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

综上所述,您已经实现的(如果我理解您的 post 正确 - 基于某种开关订阅和取消订阅主题)已经是最简单的了。

如果你想完全禁用通知,你可以调用deleteInstanceId()。查看我的回答 and 了解更多信息。