ios - 应用程序在后台时未调用 iOS 发布模式的后台消息处理程序 [FCM,Flutter]
问题描述
我的 FCM 后台消息处理程序没有在 iOS 上被调用。
我已按照此处的步骤设置 ios FCM。
如图所示,我还分别打开并检查了后台获取和远程通知
带有通知或通知 + 数据的 FCM 消息可以正常工作。
但是,当我使用纯数据消息来触发后台消息处理程序时,不会触发处理程序。
下面是我的代码:
Future<void> _firebaseMessagingBackgroundHandler(RemoteMessage message) async {
await Firebase.initializeApp();
print('Handling a background message ${message.messageId}');
print(message.data);
}
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
FirebaseMessaging.onBackgroundMessage(_firebaseMessagingBackgroundHandler);
setupDependencies();
runApp(MyApp());
}
下面是我从邮递员发送来测试后台处理程序的数据:
{
"content_available" : true,
"priority" : "high",
"data" : {
"click_action": "FLUTTER_NOTIFICATION_CLICK",
"x": "22",
},
"to":"xxxUSER_FCM_TOKENxxx"
}
关于如何解决这个问题的任何建议或想法?
解决方案
推荐阅读
- javascript - 从 API ReactJS 获取特定数据
- firebase - firebase 服务:supervisorPort (5001) 已在使用中
- c++ - 将 Makefile 转换为等效的 CMakeLists.txt
- javascript - 为什么我的拆分字符串只使用 JavaScript 输出多次?
- ios - Xamarin ios:OpenSans-Light 遇到问题
- angular - cli 命令 ng new 不适用于 Angular 7
- database - 将大量物联网数据高频存储到云端
- python-3.x - 下载推文时出现UnicodeEncodeError
- javascript - 将 jquery 滑块代码迁移到 js vanilla
- java - 将对象数组传递给静态方法时出现空指针异常