тихое push-уведомление iOS - PullRequest
0 голосов
/ 27 июня 2018

Я пытаюсь реализовать автоматическое push-уведомление в моем приложении, где мне нужно обновить некоторые данные на сервере, когда приходит автоматическое уведомление. Я использую Pushkit, и он использует сертификат VoIP для тихого push-уведомления, но Apple отклонила приложение, заявив, что сертификат «Я не могу использовать VoIP». Похоже, что Apple отклонила его, так как в моем приложении нет функции VoIP-вызовов. В таком случае, как я могу реализовать автоматическое push-уведомление, чтобы мое приложение активировалось, даже если оно не работает (даже в фоновом режиме), и я могу обновить сервер?

1 Ответ

0 голосов
/ 27 июня 2018

По моему опыту, iOS уважает выбор пользователя, поэтому в случае, если пользователь убил приложение, оно останется уничтоженным - никакое тихое push-уведомление не разбудит это приложение. VoIP является исключением из этого, но, как вы писали, его следует использовать только в приложениях VoIP. Это имеет смысл, считая это ограничением платформы: благодаря тому, что пользователь имеет некоторый контроль над тем, что на самом деле работает на телефоне, устройство потребляет меньше заряда батареи и, наконец, приложения переднего плана / системы имеют больше всего процессорного времени.

Существует несколько методов для работы с данными в фоновом режиме:

  1. Доступное для содержимого push-уведомление: активирует приложение, если оно приостановлено, или запускает его, если оно было убито системой / аварийно завершено. Обратите внимание, что при этом открывается только 30-секундное окно, а количество уведомлений регулируется APNS.
  2. Возможность фоновой выборки будет действовать аналогичным образом.
  3. Фоновая задача для завершения существующей задачи, но она используется только при перемещении приложения в фоновый режим.

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

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

...