Как уведомлять пользователей о запросах на звонки в приложении iOS?

Я пытаюсь разместить видеовызовы OpenTok в приложении iOS, но застрял в хорошем механизме уведомления пользователей о входящем звонке в режиме реального времени (в течение нескольких секунд). Являются ли push-уведомления единственным возможным вариантом или есть какой-то другой способ? Хотелось бы избежать этого, поскольку APNS не гарантирует доставку уведомлений.

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


person nickd717    schedule 26.11.2013    source источник


Ответы (1)


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

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

См. " Реализация приложения VoIP" и "Советы по разработке приложения VoIP" в Руководстве по программированию приложения для iOS.

person Rob Napier    schedule 26.11.2013