【问题标题】:Pubnub iOS push notification filtering?Pubnub iOS推送通知过滤?
【发布时间】:2015-09-30 23:40:52
【问题描述】:

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

【问题讨论】:

  • 我在我们的支持系统上收到了您的问题,并将回答他们。我将在这里发布最终答案。

标签: ios pubnub


【解决方案1】:

过滤 PubNub 消息和推送通知

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

幸运的是,只有一种情况(我能想到),msg 的发送者会收到他们的推送通知版本的消息(意思是,你不能拦截也不能显示它)。

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

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

link you referenced (Filter Owner Messages on PubNub Data Streams) 仅用于实时推送通知,Stephen 正在调用我们将在不久的将来推出的一项功能,该功能允许您订阅频道但提供允许您过滤/查询条件的查询对于频道上的消息,例如“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 上也可以做同样的事情,但不需要做任何特别的事情,因为您总是有机会在推送通知显示之前对其进行处理。

【讨论】:

  • 克雷格的好东西。过滤功能是否有预计时间表?
  • 尚未对外公布。请继续关注@pubnub 和pubnub.com/blog,了解所有即将推出的功能的最新信息。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-12-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-22
相关资源
最近更新 更多