首页 > 解决方案 > FCM 在 iOS 上使用 Flutter 有什么要求?

问题描述

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

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

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

如果有人对我可能遗漏的内容有任何想法,请提供帮助。我希望能够为其他来到 Flutter/iOS/FCM 的人制作一个项目符号列表,以便他们可以毫无错误地跟随。

标签: iosfirebasefirebase-cloud-messagingflutter

解决方案


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

  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();

推荐阅读