# #ios #flutter #firebase-cloud-messaging #firebase-notifications
Вопрос:
Мой обработчик фоновых сообщений для FCM не вызывается в iOS.
Я выполнил действия, описанные здесь, при настройке FCM для ios.
Я также включил и проверил фоновую выборку и удаленные уведомления соответственно, как показано на рисунке
Сообщения FCM с уведомлением или данными уведомления работают нормально.
Однако, когда я использую сообщения только с данными для запуска обработчика фоновых сообщений, обработчик не запускается.
Ниже приведен мой код:
Future<void> _firebaseMessagingBackgroundHandler(RemoteMessage message) async {
await Firebase.initializeApp();
print('Handling a background message ${message.messageId}');
print(message.data);
}
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
FirebaseMessaging.onBackgroundMessage(_firebaseMessagingBackgroundHandler);
setupDependencies();
runApp(MyApp());
}
Ниже приведены данные, которые я отправил почтальону для проверки фонового обработчика:
{
"content_available" : true,
"priority" : "high",
"data" : {
"click_action": "FLUTTER_NOTIFICATION_CLICK",
"x": "22",
},
"to":"xxxUSER_FCM_TOKENxxx"
}
Есть какие-нибудь предложения или идеи о том, как это сделать?
Комментарии:
1.Попробуй
content-available: 1
developer.apple.com/documentation/usernotifications/…2. Я пробовал, но там написано, что «Поле «content_available» должно быть логическим значением JSON: 1″
3. Хорошо, может быть, FCM переведет его перед отправкой в APNS.
4. да, я тоже так думаю. Как вы думаете, что еще может быть причиной этой проблемы?
5. Самое странное, что иногда это работает, когда я использую отладочную версию, но не работает в моем приложении для выпуска.