gpt4 book ai didi

ios - Pubnub iOS 推送通知过滤?

转载 作者:可可西里 更新时间:2023-11-01 05:40:33 37 4
gpt4 key购买 nike

根据 this post ,最佳做法是在客户端过滤 channel 消息。当集成推送通知时,我还没有找到可行的方法来做到这一点。现在,当应用程序未运行时,我们的 iOS 客户端会收到大量无用消息的通知。

最佳答案

过滤 PubNub 消息和推送通知

这是 APNS 而非 PubNub 的缺点。 PubNub 的工作方式是一个 channel 的所有订阅者都会收到在该 channel 上发布的所有消息。但是当应用程序在 iOS 上处于后台或根本没有运行时,您的应用程序没有机会在推送通知被 iOS 设备显示之前处理它。 Android/GCM 允许您的应用在消息显示之前拦截消息。

幸运的是,只有一种情况(我能想到)消息的发送者会收到消息的推送通知版本(也就是说,您无法拦截也无法显示消息)。

  • 用户发布消息
  • 然后立即(快速)离开应用(主页按钮、切换到另一个应用等)
  • 出现推送消息

但是如果用户在应用程序中停留一两秒(或足够长的时间以接收实时消息和推送通知),那么您可以阻止显示推送消息。但是不需要过滤 UUID,因为当应用程序在 didReceiveRemoteNotification 委托(delegate)中处于事件状态时,您应该禁止显示所有推送通知,因为您已经在订阅回调中获得了实时消息。

那个link you referenced (Filter Owner Messages on PubNub Data Streams)仅用于实时推送通知,Stephen 提出了我们将在不久的将来推出的一项功能,该功能允许您订阅一个 channel ,但提供一个查询,允许您过滤/查询 channel 上消息的条件,比如,“where uuid !=”,订阅者的 uuid 在哪里。然后订阅者将不会收到实时或推送通知消息,因为服务器会为您过滤掉它们。

有关推送通知的完整概述,请参阅 Sending APNS and GCM Messages to Subscribers and Mobile Push Notification Services in One API Call

完整push notification setup, configuration and implementation, see the docs for each of our SDKs .

另外,请参阅我描述 how to use iOS silent push notifications to do on device filtering 的答案.同样的事情可以在 Android 上完成,但不需要做任何特别的事情,因为您总是有机会在显示推送通知之前对其进行处理。

关于ios - Pubnub iOS 推送通知过滤?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32877271/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com