【问题标题】:iOS Swift 3 Bundle NotificationiOS Swift 3 捆绑通知
【发布时间】:2017-02-24 08:09:49
【问题描述】:

在我的应用程序中,我使用的是 firebase 推送通知。问题是当用户在很长一段时间后连接到互联网时,他们会收到很多通知作为单独的通知。是否可以收到类似 whatsapp 的通知(您有 10 个新通知)。如果用户一次收到超过 1 个通知,则意味着我们需要将其设为 Group 或 Bundle 通知。

【问题讨论】:

    标签: ios firebase swift3 apple-push-notifications firebase-cloud-messaging


    【解决方案1】:

    更新:apns-collapse-id 已经可用于 FCM v1:

    FCM 为发送到 Android 设备的消息提供一组特定的传递选项,并允许在 iOS 和 Web 上提供类似选项。例如,Android 上通过 FCM 的 collapse_key 支持“可折叠”消息行为,iOS 上通过 apns-collapse-id 支持,JavaScript/Web 上通过 Topic 支持。详见本节说明及相关参考文档


    为了在 iOS 中捆绑通知,您必须指定 thread-id

    为该键提供一个字符串值,该字符串值表示用于分组通知的特定于应用程序的标识符。系统在通知中心和其他系统界面中将具有相同线程标识符的通知分组在一起。对于本地通知,此键对应于UNNotificationContent 对象的threadIdentifier 属性。

    但是,FCM 中目前没有thread-id 的参数counterpart。您可以尝试使用data 消息负载并将thread-id 指定为自定义键值对。

    一些可能有用的帖子:

    【讨论】:

    • 如何使用数据消息负载?因为一旦手机上网,它就会显示所有待处理的消息,此时甚至不会启动应用程序
    • 我已将 thread_id 添加到数据负载中,但它什么也没做。通知仍然没有取代自己
    • @DanielRaouf 我假设最近的反对票是你的? thread_id 是一个自定义参数(您在data 有效负载中添加的几乎所有内容都是自定义键值对)。仅将其添加到您的有效负载中并不意味着客户端会自动处理它。您必须自行处理
    • 当应用程序被杀死时,您无法从 ios 应用程序本身控制 Ios 中显示的通知。所以做什么都没有用
    • @DanielRaouf 这是对 iOS 的限制,而不是 FCM。我看不出我的答案有多么值得被否决,因为虽然限制不是针对答案的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-01-26
    • 2016-12-20
    • 2017-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多