Flutter 注册 FCM 报错 Default FirebaseApp is not initialized,如何处理?
现象:FCM 调用
registerPush 时报错 “Default FirebaseApp is not initialized in this process 指定包名(eg:com.tencent.flutter.tuikit). Make sure to call FirebaseApp.initializeApp(Context) first.”。原因:Google Services Gradle Plugin 未正确应用或与当前 Android Gradle Plugin(AGP)版本不兼容,导致 Firebase 未完成初始化。
处理:先确认应用模块已启用
com.google.gms.google-services 插件,并检查 google-services.json 是否属于当前应用。AGP 7.3.0 及以上可使用 com.google.gms:google-services:4.4.2;AGP 低于 7.3.0 时,请使用与当前 AGP 兼容的版本,例如 4.3.15。详情参见 Android 快速接入。下图为 4.3.15 配置示例:
Flutter 调用 registerPush 后账号被踢出,如何处理?
现象:接入
tencent_cloud_chat_push 8.1 及以上版本时,调用 registerPush 后登录账号被踢出或推送异常。原因:
registerPush 传入了 8.1 及以上版本不再需要的 sdkAppId 和 appKey 参数。处理:请删除
registerPush 的 sdkAppId 和 appKey 参数。Flutter 在 OPPO 设备注册 FCM 失败,如何处理?
现象:配置 FCM 推送信息后,在 OPPO 机型上调用
registerPush 提示推送注册失败。原因:插件内部默认走 OPPO 通道。
处理:
registerPush 前必须调用 setPushBrandId 指定 FCM 通道。Flutter 点击通知不触发 onNotificationClicked,如何处理?
现象:能收到推送通知,但点击后不触发
onNotificationClicked 回调。原因:可能是以下原因:
1. 推送环境配置有遗漏。
2. 腾讯云控制台证书配置中的点击后续动作未选择打开应用内指定页面。
3. 腾讯云控制台证书配置中的应用内指定界面未使用默认路径。
4. 原生混合开发使用多进程,导致回调注册在错误进程或被重复注册。
处理:请按原因编号逐项处理:
5. 对照 Flutter 推送接入文档,核对厂商证书、配置文件和推送注册结果。
6. 在腾讯云控制台将点击后续动作设置为打开应用内指定页面。
7. 将应用内指定界面恢复为插件默认路径。
8. 在负责推送的原生进程中统一注册点击回调,避免多进程重复或遗漏注册。
Flutter TUICallKit 点击通话通知后不跳转,如何处理?
现象:TUICallKit + TIMPush 接入,切后台接收通话邀请,点击推送通知,应用不跳转至“通话邀请界面”。
原因:控制台点击后续动作配置不正确,或点击回调中未做自动登录。
处理:
检查 IM 控制台配置的“点击后续动作”是否选择“打开应用内指定页面”,使用默认值;
在推送插件
onNotificationClicked 回调内增加自动登录逻辑,确保打开应用后保持登录状态,详情参见 登录代码示例。