Apple Pu sh Уведомление не работает правильно в фоновом режиме - PullRequest
0 голосов
/ 30 марта 2020

Я отправляю уведомления apn pu sh с моего node.js сервера с пользовательской нагрузкой.

JSON моего уведомления apn выглядит следующим образом:

{
    "aps" : {
        "alert" : "New message",
        "badge" : 0,
        "mutable-content" : 1,
        "priority" : "10",
        "push-type" : "alert"
    },
     "payload" :{
        "type" : "messageId",
        "data" : "directMessage-b5eeb02ed6dfaa1952026859c817db67b8efbadd17953dbb69c2184aabc57120d07bf6fedcbc231ec4c8924e2e4a68cf2dbb4fd251cfd579f6d4663af2cd469a",
        "receiver" : "0RHRHRH"
     }
}

Затем я создал расширение службы уведомлений в XCode для получения уведомлений, пока мое приложение находится в фоновом режиме. При получении такого уведомления pu sh мое приложение отправляет сетевой HTTP-запрос на мой node.js сервер и запрашивает messageId, который находится в полезной нагрузке под данными. Это работает, когда приложение было недавно закрыто или находится на переднем плане. Однако это не так, когда приложение работает в фоновом режиме уже какое-то время или устройство заблокировано. Затем требуется некоторое время для доставки на устройство, а затем просто показывает «Новое сообщение». В XCode говорится, что происходит сбой при сетевом вызове.

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

Есть ли другой способ обработки фоновых уведомлений Pu sh, которые должны отображаться для пользователя (Сообщения чата)?

...