web-dev-qa-db-ja.com

iOSでPush-NotificationをFirebaseおよびFlutterと連携させる方法

私は多くの異なるチュートリアルを試しました。これ https://medium.com/flutterpub/enabling-firebase-cloud-messaging-Push-notifications-with-flutter-39b08f2ed72

しかし、iPhoneでプッシュ通知を受け取ることができません。 Androidで完全に動作します。

私はfirebase_messaging:^ 4.0.0 + 4とflutter_local_notifications:^ 0.6.1を使用しています

問題は、トークンがgetToken()で受信されても​​、リスナー(onMessage、onResume、またはonLaunch)がiOSで呼び出されないことです。

エラーメッセージはありません。この動作の理由がわかりません。誰かが私を助けてくれたらうれしいです。

ありがとう。

_firebaseMessaging.configure(
      onMessage: (Map<String, dynamic> message) async {
        print("IM HERE ON MESSAGE");
        print('on message $message');


        String message_as_String = json.encode(message);
        print(message_as_String);
        String title = "test";
        String body = "test";
        String screen = "test";


        var androidPlatformChannelSpecifics = new AndroidNotificationDetails(
            'your channel id', 'your channel name', 'your channel description',
            playSound: false, importance: Importance.Max, priority: Priority.High);
        var iOSPlatformChannelSpecifics =
        new IOSNotificationDetails(presentSound: false);
        var platformChannelSpecifics = new NotificationDetails(
            androidPlatformChannelSpecifics, iOSPlatformChannelSpecifics);
        await flutterLocalNotificationsPlugin.show(
          0,
          body,
          title,
          platformChannelSpecifics,
          payload: screen,
        );
      },
      onResume: (Map<String, dynamic> message) async {
        print('on resume $message');
        String screen = message["screen"];

      },
      onLaunch: (Map<String, dynamic> message) async {
        print('on launch $message');
      },
    );
    if (Platform.isIOS) iOS_Permission();
    _firebaseMessaging.getToken().then((token){
      print(token);
    });
  }
3
ExtUser1

私はこれがかなり遅いことを知っていますが、同じ問題がありました。

私の問題は、Firebaseにキーを追加した後、「GoogleService-Info.plist」を再度ダウンロードしないことでした。

もう一度ダウンロードしてXcodeプロジェクトに追加すると、プッシュ通知は魅力的に機能しました:)

お役に立てれば

0
Josef Wilhelm