Можно ли реализовать непрерывный пинг конечной точки API в фоновом режиме? - PullRequest
1 голос
/ 15 марта 2020

Наша команда решила внедрить пинг в конечную точку API без остановок в фоновом режиме, и после получения требуемого ответа приложение должно отобразить уведомление с сообщением из ответа . Я предложил использовать уведомления через сторонние службы, такие как Firebase или OneSignal, но в настоящее время мы предпочитаем использовать пинг до конечной точки API без остановок.

Я посмотрел на фоновую работу на IOS и нашел лотов. ограничения , такие как продолжительность или тип запросов, по сравнению с Android. Это возможно на 100 процентов в Android на любых версиях (с некоторыми настройками).

Вот почему я хотел бы знать, возможно ли это на IOS, и наш фоновый процесс с длительностью 2 часа не будет убит при любых условиях ? За исключением, конечно, перезапуска системы IOS, которая не возобновит фоновую работу , я полагаю.

Кроме того, приветствуются любые рекомендации :) Оставайтесь сильными!

1 Ответ

1 голос
/ 15 марта 2020

То, что вы предлагаете, невозможно iOS. С самого начала приложения не могли работать в фоновом режиме с открытым сокетом.

Обоснование состоит в том, что при этом радиоинтерфейсы устройства остаются включенными и потребляют значительное количество энергии. Если вы можете реализовать это на Android, у него точно такие же проблемы.

Из вопроса, какую проблему вы пытаетесь решить, неясно: только выбранные вами средства реализации.

Доступны следующие параметры:

Ссылка на фоновое приложение sh

Ссылка на фоновое приложение sh предназначена для приложений, для которых требуется периодический фон -refre sh содержание.

Ваше приложение просыпается на короткий промежуток времени (ISTR 15s) в то время, когда хватает времени работы от батареи и возможности подключения, чтобы выполнить любое действие, которое ему необходимо предпринять.

Нет никаких гарантий , что вас разбудят или при . На практике самое большее, что вы можете ожидать, это каждые 15m, но часто бывают длинные промежутки, возможно, вызванные «не беспокоить» и поведением пользователя.

URLSession

URLSession может быть передано iOS в фоновом режиме - предназначено специально для загрузки большого элемента контента.

Apple Pu sh Служба уведомлений

APNS может использоваться для пробуждения вашего приложения (или, скорее, AppExtension). Вам необходимо периодически отправлять уведомления.

Опять же, нет никаких гарантий относительно доставки (прерывистое подключение). Реально, iOS необходимо периодически просыпаться и включать радиоинтерфейс, чтобы получать их - как и когда это происходит - блок-блок.

Промежуточное программное обеспечение

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

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