2015-09-30 3 views
4

Согласно this post, наилучшей практикой является фильтрация сообщений канала на стороне клиента. Я не нашел возможного способа сделать это, когда push-уведомление еще включено. В настоящий момент наш клиент iOS получает уведомление о том, что приложение не запускается.Pubnub iOS push уведомление фильтрация?

+1

Я получил ваш вопрос в нашей системе поддержки и ответит на них. Я отправлю окончательный ответ здесь. –

ответ

4

Фильтрация PubNub сообщений и Push-уведомления

Это является недостатком с APNS, а не PubNub. PubNub работает таким образом, что все подписчики канала получают все сообщения, опубликованные на этом канале. Но когда приложение находится в фоновом режиме на iOS или вообще не работает, ваше приложение не имеет возможности обрабатывать push-уведомление до того, как оно будет отображаться устройством iOS. Android/GCM позволяет вашему приложению перехватывать сообщение до его отображения.

К счастью, есть только один сценарий (о котором я могу думать), где отправитель сообщения получит свою push-версию сообщения (это означает, что вы не можете перехватить и не отобразить его).

  • пользователь публикует Msg
  • затем сразу (быстро) оставляет приложение (кнопка домой, переключиться на другое приложение, и т.д.)
  • толчок тзд появляется

Но если пользователь остается в приложение для второго или двух (или достаточно долго, чтобы получать сообщение в реальном времени и сообщение push), тогда вы можете запретить отображение push-сообщений. Но нет необходимости фильтровать на UUID, потому что вы должны подавлять все push-уведомления от отображения, когда приложение активно в делете didReceiveRemoteNotification, потому что у вас уже есть сообщение в реальном времени о обратном вызове подписки.

Это link you referenced (Filter Owner Messages on PubNub Data Streams) предназначено только для оповещений в режиме реального времени, а Стивен выдает функцию, которую мы выберем в ближайшем будущем, которая позволит вам подписаться на канал, но предоставить запрос, который позволяет вам фильтровать/запрашивать условие для сообщения на канале, например, «где uuid! =», где находится uuid абонента. Затем абонент не будет получать сообщения в режиме реального времени или push-уведомления, потому что сервер отфильтровывает их для вас.

Хороший обзор уведомлений кнопочных см 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, но не нужно ничего делать, потому что вы всегда получаете возможность обрабатывать push-уведомление до его отображения.

+0

Удивительный материал Крейг. Есть ли расчетная временная шкала для функции фильтрации? – Bonk

+1

Пока ничего не объявлено. Просто следуйте за @pubnub и https://www.pubnub.com/blog/ для получения последних новостей по всем предстоящим функциям. –

Смежные вопросы