FCM 在 iOS 上使用 Flutter 有什么要求?

Luk*_*tti 1 ios firebase flutter firebase-cloud-messaging

我正在努力让 Firebase Cloud Messaging 通过 Flutter 与 iOS 一起使用。我已按照此处此处此处列出的步骤进行操作,但没有走运。

我没有使用模拟器,我使用的是装有 iOS 11.4.1 的 iPhone 8+。我已经在 Firebase 控制台中安装了所有三个 APN 证书。我已致电FirebaseMessaging.requestNotificationPermissions();并接受了对话。我正在通过 FCM 控制台发送消息进行测试。我的手机已通过 Firebase 进行身份验证(匿名身份验证)。

我没有在应用程序打开或关闭时收到消息。

如果有人对我可能缺少的东西有任何想法,请提供帮助。我希望能够为来到 Flutter/iOS/FCM 的其他人制作一个要点列表,让他们可以毫无错误地遵循。

Luk*_*tti 5

好吧,这就是我学到的。希望当我开始工作时我把这一切都写下来了。但它应该对某人有帮助。

  1. 确保 Firebase 已设置并在您的 Flutter 项目中工作。
  2. firebase_messaging添加到pubspec.yaml
  3. flutter packages get
  4. 创建/下载您的 APNS 密钥并将其上传到 Firebase 控制台
  5. 在 Apple Dev 网站上创建/下载您的 Provisioning Profile,然后双击安装。
  6. 使用下面片段的重要部分

  7. 向所有应用用户或您messagingToken通过 Firebase 控制台发送消息。

如果您有一台运行您的应用程序的物理设备并且您按照这些步骤操作,您应该会收到后台通知。您不会在前台收到它们。如果有人想出如何将它们放在前台,请告诉我!

片段

import 'package:firebase_messaging/firebase_messaging.dart';

FirebaseMessaging messaging = FirebaseMessaging();

messaging.configure(); // NECESSARY
messagingToken = await fb.messaging.getToken();
messaging.subscribeToTopic("general");

// this will launch a modal asking if you want to receive notifications
messaging.requestNotificationPermissions();
Run Code Online (Sandbox Code Playgroud)