Ионное приложение iOS не получает уведомления об отключении FCM

#ios #cordova #ionic3 #firebase-cloud-messaging #cordova-plugin-fcm

#iOS #cordova #ionic3 #firebase-облако-обмен сообщениями #cordova-plugin-fcm

Вопрос:

У меня есть приложение Ionic 3, которое использует FCM для работы в чате. Для обработки сообщений FCM я использую cordova-plugin-fcm.

В моем приложении я использую только тихий режим (без полезной нагрузки «уведомления»).

Оно отлично работает на Android. В iOS я получал сообщения, только если они отправлялись с полезной нагрузкой «данные» и «уведомление». Если я пытаюсь использовать тихий режим, сообщения вообще не доставляются.

Для iOS я использую FCM, а не APN.

Я отправляю сообщения FCM, как в примере cordova-plugin-fcm.

 {
  "data":{
    "param1":"value1",
    "param2":"value2"
  },
    "to":"/topics/topicExample",
    "priority":"high",
}
  

Ответ №1:

На Android и iOS это работает по-разному. Вам необходимо определить специфичный для ios объект apns.payload.aps в уведомлении.

 apns: {
  payload: {
    "aps" : {
        "content-available" : 1
     },
    "acme1" : "bar",
    "acme2" : 42
   }
}
  

Вам также необходимо разрешить удаленные фоновые уведомления в вашем списке. Если вы используете Xcode (самый простой),

  1. В навигаторе проекта выберите свой проект.

  2. В редакторе выберите целевое приложение для iOS.

  3. Выберите вкладку «Возможности».
  4. Включите возможность фоновых режимов.
  5. Включите фоновый режим удаленных уведомлений.

Источник: https://developer.apple.com/library/archive/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/CreatingtheNotificationPayload.html#//apple_ref/doc/uid/TP40008194-CH10-SW1