Тихое push-уведомление iOS
Я пытаюсь внедрить автоматическое push-уведомление в моем приложении, где мне нужно обновить некоторые данные на сервере, когда приходит автоматическое уведомление. Я использую Pushkit, и он использует сертификат VoIP для тихого push-уведомления, но Apple отклонила приложение, заявив, что сертификат "Я не могу использовать VoIP". Похоже, что Apple отклонила его, так как в моем приложении нет функции VoIP-вызовов. В таком случае, как я могу реализовать автоматическое push-уведомление, чтобы мое приложение активировалось, даже если оно не работает (даже в фоновом режиме) и я могу обновить сервер?
1 ответ
По моему опыту, iOS уважает выбор пользователя, поэтому в случае, если пользователь убил приложение, оно останется уничтоженным - никакое тихое push-уведомление не разбудит это приложение. VoIP является исключением из этого, но, как вы писали, его следует использовать только в приложениях VoIP. Это имеет смысл, считая это ограничением платформы: благодаря тому, что пользователь имеет некоторый контроль над тем, что на самом деле работает на телефоне, устройство потребляет меньше заряда батареи, и, наконец, приложения переднего плана / системы имеют больше всего процессорного времени.
Есть несколько методов для работы с данными в фоновом режиме:
- Push-уведомление, доступное для содержимого: активирует приложение, если оно приостановлено, или запускает его, если оно было убито системой. Обратите внимание, что это открывает только 30-секундное окно, и количество уведомлений регулируется APNS.
- Возможность фоновой выборки будет действовать аналогичным образом.
- Фоновая задача для завершения существующей задачи - но она используется только при перемещении приложения в фоновый режим.
Если вам нужно приложение для отправки обновлений на сервер, я полагаю, что выше этого будет достаточно (если ваше приложение не шпионит за пользователем, оно должно иметь все соответствующие данные, доступные после завершения взаимодействия пользователя с приложением).
Если вам нужен сервер для отправки данных в приложение, использования тихого push-уведомления (или фоновой выборки для периодического извлечения), или если эти данные важны для пользователя, вы можете представить ему удаленное уведомление - если пользователь считает, что Важное обновление, он откроет приложение.