Обратный вызов Cloud Messaging onMessage никогда не вызывается, когда приложение находится на переднем плане, но вызывается ли onResume и onLaunch? - PullRequest
0 голосов
/ 02 мая 2020

Я реализовал облачные сообщения Firebase и следовал следующему руководству https://www.youtube.com/watch?time_continue=304&v=2TSm2YGBT1s&feature=emb_logo. И я получил это работает по большей части. Когда приложение находится в фоновом режиме или закрыто, я получаю уведомление, и оно открывает приложение и выполняет обратный вызов onResume или onLaunch.

Но я не могу заставить работать обратный вызов onMessage. Всякий раз, когда приложение находится на переднем плане, и я отправляю уведомление, onMessage не вызывается? Я получаю следующий журнал в свою консоль

E/FlutterFcmService(18141): Fatal: failed to find callback
W/FirebaseMessaging(18141): Unable to log event: analytics library is missing
W/FirebaseMessaging(18141): Unable to log event: analytics library is missing

Я не видел ни вызываемого onBackgroundMessage.

Служба уведомлений

class CloudMessagingService extends NotificationService
{
  final FirebaseMessaging firebaseMessaging = FirebaseMessaging();

  CloudMessagingService()
  {
    if(Platform.isIOS)
      firebaseMessaging.requestNotificationPermissions(IosNotificationSettings());

    firebaseMessaging.configure(
      onMessage: (Map<String, dynamic> message) async {
        print('I have a cloud messaging message yay');
        print('onMessage: $message');
      },
      onBackgroundMessage: (Map<String, dynamic> message) async {
        print('onBackgroundMessage: $message');
      },
      onLaunch: (Map<String, dynamic> message) async {
        print('onLaunch: $message');
      },
      onResume: (Map<String, dynamic> message) async {
        print('onResume: $message');
      },
    );
  }

  Future<void> sendNotificationToGroup(GroupModel group, NotificationType type)
  {
    print('Send ${type.valueString} notification to ${group.id}');
    return null;
  }
}

I я тестирую это на эмуляторе android с Pixel 3XL

1 Ответ

0 голосов
/ 03 мая 2020

Поэтому я внимательно посмотрел документацию и обнаружил

Примечание. При отладке на Android используйте устройство или AVD со службами Google Play. В противном случае вы не сможете пройти аутентификацию.

После переключения на устройство с поддержкой PlayStore вызывается обратный вызов onMessage!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...