ios - FCM 在 iOS 上使用 Flutter 有什么要求?
问题描述
我正在努力让 Firebase Cloud Messaging 通过 Flutter 与 iOS 一起工作。我已按照此处、此处和此处列出的步骤进行操作,但没有成功。
我没有使用模拟器,我使用的是带有 iOS 11.4.1 的 iPhone 8+。我已经在 Firebase 控制台中安装了所有三个 APN 证书。我已经打电话FirebaseMessaging.requestNotificationPermissions();
并接受了对话。我正在通过 FCM 控制台发送消息进行测试。我的手机通过 Firebase 进行了身份验证(匿名身份验证)。
应用程序打开或关闭时,我没有收到消息。
如果有人对我可能遗漏的内容有任何想法,请提供帮助。我希望能够为其他来到 Flutter/iOS/FCM 的人制作一个项目符号列表,以便他们可以毫无错误地跟随。
解决方案
好吧,这就是我学到的。希望当我开始工作时我把这一切都写下来了。但它应该对某人有帮助。
- 确保 Firebase 已设置并在您的 Flutter 项目中运行。
- 将firebase_messaging添加到
pubspec.yaml
flutter packages get
- 创建/下载您的 APNS 密钥并将其上传到 Firebase 控制台
- 在 Apple Dev 网站上创建/下载您的 Provisioning Profile 并双击安装。
使用下面片段的重要部分
向所有应用用户发送消息,或
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();
推荐阅读
- javascript - 如何使用 JavaScript 正则表达式检查字符串是否包含至少一个字母?
- android - 使用 MediaExtractor 向后播放音乐
- android - SLIC 超像素标签 opencv
- angularjs - 如何在 AngularJS 中使用 Lodash _.template
- php - 如何在 php 中以编程方式创建下拉菜单?
- python - Tkinter 标签未使用 textvariable 更新
- php - 自定义优惠券类型 woocommerce wordpress
- google-analytics - 谷歌分析:有和没有指定维度的不同结果
- node.js - 未找到模块错误 - NodeJS Express.JS
- d3.js - d3js:无法在轴内放置水平条