Flutter with Firebase Messaging. iOS device doesn't receive data only messages

Viewed 135

I'm sending data-only message from Cloud functions

I tried this solution: https://github.com/FirebaseExtended/flutterfire/issues/3395#issuecomment-683973108

Here are the option sendings from Cloud Functions:

{
  android: {
    priority: "high",
  },
  apns: {
    payload: {
      aps: {
        contentAvailable: true,
      },
    },
    headers: {
      "apns-push-type": "background",
      "apns-priority": "5", 
      "apns-topic": "io.flutter.plugins.firebase.messaging", // bundle identifier
    },
  },
}

And here the code which handle messages. (I want to create a notification from the client not from the server)

const AndroidNotificationChannel channel = AndroidNotificationChannel(
  'high_importance_channel',
  'High Importance Notifications',
  'This channel is used for important notifications.',
  importance: Importance.max,
);

class BackgroundHandler {
  static const IOSNotificationDetails iosNotificationDetails =
      IOSNotificationDetails(subtitle: 'notification');
  static final AndroidNotificationDetails androidNotificationDetails =
      AndroidNotificationDetails(channel.id, channel.name, channel.description);
}

FirebaseMessaging.onMessage.listen((RemoteMessage message) {
        print('It works');
        print(message);
        FlutterLocalNotificationsPlugin().show(0, 'notification', 'new notification', NotificationDetails(android: BackgroundHandler.androidNotificationDetails,
            iOS: BackgroundHandler.iosNotificationDetails));
        NotificationManager.handleNotificationData(message.data);
});

On Android it works perfectly and it works even with notification, but nothing happens with data only messages.

0 Answers
Related