OneSignal 推送通知 |在聊天时禁用它们进行聊天|安卓

Posted

技术标签:

【中文标题】OneSignal 推送通知 |在聊天时禁用它们进行聊天|安卓【英文标题】:OneSignal push notification | disable them for a chat when in the chat | Android 【发布时间】:2019-10-03 10:52:58 【问题描述】:

我正在 android 中构建一对一聊天应用。 一切正常,但我想知道如何避免在对话打开时收到对话通知。

示例: 我正在与 B 通话,B 向我发送了一条消息,我在聊天视图中看到了这条消息,但我也收到了通知,告诉我 B 向你发送了一条消息。

我怎样才能避免这种情况?我想不出一个有效的解决方案。

【问题讨论】:

你如何显示通知? 如果没有后端,我怀疑是否有解决方案。如果您有后端,您可以向设备发送“idChat”之类的内容,如果在通知中收到的 idChat 与您所在的 idChat 相同,请阻止在 NotificationExtenderService 中显示通知 【参考方案1】:

您可以使用此处理程序来决定是否应该显示通知

class NotificationWillShowInForegroundHandler : OneSignal.OSNotificationWillShowInForegroundHandler 

    override fun notificationWillShowInForeground(notificationReceivedEvent: OSNotificationReceivedEvent?) 
        when (isHideInForeground) 
            true -> 
                notificationReceivedEvent?.complete(null)
            
            else -> 
                notificationReceivedEvent?.complete(notificationReceivedEvent.notification)
            
        
    

初始化

OneSignal.setNotificationWillShowInForegroundHandler(NotificationWillShowInForegroundHandler())

【讨论】:

以上是关于OneSignal 推送通知 |在聊天时禁用它们进行聊天|安卓的主要内容,如果未能解决你的问题,请参考以下文章

Onesignal 网络推送覆盖

OneSignal如何向ionic2中的特定用户发送推送通知

使用 OneSignal 推送通知服务向特定测试设备发送推送通知

Android 从 GCM 迁移到 oneSignal 推送通知

OneSignal 推送通知序列(顺序)不正确

控制屏幕上显示的 OneSignal 推送通知时间