VoIP-уведомления в гибридных приложениях не работают - PullRequest
0 голосов
/ 06 февраля 2020

Недавно Apple изменила способ обработки уведомлений VoIP. Теперь они заставляют вас использовать CallKit в том же прогоне l oop, чтобы не выбрасывать ваше уведомление. След, который я получаю, это

Apps receving VoIP pushes must post an incoming call (via CallKit or IncomingCallNotifications) in the same run loop as  pushRegistry:didReceiveIncomingPushWithPayload:forType:[withCompletionHandler:] without delay.

Когда вы получаете это предупреждение три раза, система «сбрасывает ваши уведомления на пол».

Проблема здесь заключается в том, что я разрабатываю гибридное приложение VoIP с использованием phonegap-plugin-pu sh, и я боюсь, что событие уведомления не будет достаточно быстрым (или, по крайней мере, не тот же прогон l oop) для iOS.

Кто-нибудь сталкивался с этой проблемой?

Я думал о переходе на обычные уведомления pu sh, но я не могу найти способ перезапустить мое приложение, когда оно будет убито, и выполнить некоторый код (например, запустить CallKit).

Edit: я пытаюсь этот подход с уведомлениями pu sh, и я уже настроил фоновые режимы. Я заметил, что при отправке в уведомлении «доступных материалов» и некоторых данных, таких как «значок» или «оповещение», приложение запускается, если оно недавно перешло в фоновый режим. Через 15 минут в фоновом режиме приходит уведомление pu sh, но приложение больше не запускается

Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 14 февраля 2020

Наше приложение использует уведомления CallKit и pu sh и запускается при получении уведомления pu sh о новом входящем звонке. Это должно быть настроено в сборке проекта и запускаться один раз, чтобы зарегистрироваться для iOS для этого, однако.

0 голосов
/ 28 марта 2020

Я нашел решение:

Поскольку iOS изменил свою политику обработки уведомлений voip pu sh, он заставляет вас сообщать о новом входящем звонке при получении voip: https://forums.developer.apple.com/thread/117939

Этот плагин делает это: https://github.com/mattkhaw/cordova-plugin-callkit

Он объединяет два плагина (WebsiteBeaver / CordovaCall и Hitman666 / cordova- ios -voip-pu sh). Это сработало для меня. Мне просто нужно было удалить receiveCall из javascript и немного настроить плагин.

Методы, связанные с регистром уведомлений voip, находятся в классе cordovaCall, поэтому работать с ним довольно просто.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...