6

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

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

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

4

1 回答 1

4

通知通道(Android O 才需要的功能——大概是更高版本)是(就像)一个参数,您将(通常)用来对您在本地构建的通知进行排序/管理。--

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

它不一定会禁用接收您不想接收的通知,但没有通知通道构建的(AFAIK)通知不会在 Android O 中显示/显示(未收到!= 未显示)。即您的设备实际上可能仍在接收通知,但只是没有显示。

对于通过主题发送的通知,只要订阅了相应的注册令牌,客户端就会相应地处理它是预期的行为。

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

如果您想完全禁用通知,您可以调用deleteInstanceId(). 请在此处此处查看我的答案以获取更多信息。

于 2017-07-31T13:37:29.437 回答