为何iOS原生与Flutter iOS的Firebase Messaging配置存在差异?
为什么Flutter集成Firebase Cloud Messaging无需额外iOS原生代码?
核心原因是Flutter官方的firebase_messaging插件已经帮你把iOS原生端的通知注册逻辑封装好了,具体细节如下:
- 插件自带原生实现:firebase_messaging作为官方维护的跨平台插件,其iOS侧代码已经包含了
UNUserNotificationCenter代理设置、权限请求、远程通知注册这些必要步骤。当你在Flutter项目里引入插件并完成pod依赖安装后,这些原生代码会自动合并到你的iOS项目中,不用手动写在AppDelegate里。 - 自动触发初始化:插件会在Flutter应用启动过程中,自动执行iOS端的通知初始化流程,不需要开发者手动调用原生方法触发。
- Dart层统一调用:你在Dart代码里调用
FirebaseMessaging.instance.requestPermission()这类方法时,底层会自动映射到iOS原生的权限请求和注册逻辑,相当于把原生操作包装成了跨平台的Dart API,开发者只需要专注于Dart代码即可。
内容的提问来源于stack exchange,提问作者E.Egorov
相关产品推荐
相关产品推荐

