2016-04-16 1 views
0

Я хотел знать, какую технологию он использует для доставки сообщений в режиме реального времени iOS, учитывая все ограничения os. Есть несколько из них приходит на умКак публиковать подписку на PubNub внутри iOS (на стороне клиента)

  • периодического опроса
  • постоянное подключение к серверу, такие как WebSocket или XMPP
  • Push Notification

делать свою публикацию подписки работает даже тогда, когда приложение в фоновом режиме?

ответ

1

Начиная с версии 4.0, SDK PubNub iOS не получает событий подписки, когда приложение, в котором оно запущено, приостанавливается. Вы можете настроить Push Notifications с помощью шлюза APNS PubNub для получения push-событий, но они обрабатываются как стандартные push-уведомления, а не как события PubNub.

Когда ваше приложение запущено, PubNub, похоже, использует соединение с веб-сервером для отправки и получения уведомлений. Созданный клиент получает обратные вызовы, когда сообщения принимаются по каналам, на которые вы подписаны.

Их SDK является открытым исходным кодом, поэтому вы можете проверить, что происходит внутри, если вам интересно.

+0

Thanks Mathew! Я получил источник, но я просто хотел узнать, что он использует, тогда я буду искать источник, если потребуется. То же самое происходит и в андроиде? – hridayesh

+1

Публикация/подписка на события не будет работать, пока приложение будет приостановлено, но когда приложение находится в фоновом режиме, они будут работать до тех пор, пока у вас есть некоторые фоновые режимы (например, задача с конечной длиной-фоном, которая дает вам примерно 3 минуты фонового времени, чтобы код мог продолжить выполнение) – MikeG

1

PubNub и предыстория Connectivity

Оставаться на связи в фоновом режиме продолжает получать сообщения в реальном времени с помощью subscribe не является функцией PubNub SDK, и это не имеет значения, если вы используете PubNub IOS 3.x SDK (пожалуйста, нет, он имеет EOL'ed) или PubNub Objective-C for iOS 4.x SDK (пожалуйста, начните использовать это или перейдите на него как можно скорее). Вы должны настроить и реализовать свое приложение для работы в фоновом режиме, и Apple должна предоставить вам разрешение (через просмотр приложения).

Ваше приложение должно иметь тип, который оправдывает фоновую активность: see Apple dev docs for iPhone OS Programming Guide - Background Execution (table 3.1)

Там есть отличный учебник по RayWunderlich.com на Background Modes in iOS, что делает большую работу, объясняя все варианты.

PubNub Swift for iOS SDK 4.x, а также.

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