#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 (самый простой),
-
В навигаторе проекта выберите свой проект.
-
В редакторе выберите целевое приложение для iOS.
- Выберите вкладку «Возможности».
- Включите возможность фоновых режимов.
- Включите фоновый режим удаленных уведомлений.