You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Xamarin项目中Firebase推送通知功能无法正常运行问题求助

FCM功能不触发、无法获取Token的可能原因
  • 首要问题:当前使用的Genymotion模拟器缺少Google Play服务核心组件
    FCM运行强依赖Google移动服务(GMS)框架,未安装Google Play Store的Genymotion镜像默认不内置GMS,FCM SDK无法完成初始化,自然不会触发OnTokenRefresh回调、也无法接收推送。可以先更换自带GMS的物理安卓设备,或者刷入GMS包到当前Genymotion模拟器,也可使用Android官方模拟器的带Google Play的镜像验证。
  • google-services.json文件配置错误
    请确认文件的生成操作已正确设置:在VS中右键点击google-services.json文件,选择属性,将生成操作设置为GoogleServicesJson,若缺少该选项请检查是否已正确安装Xamarin.Firebase.Messaging相关NuGet包。同时确认该文件是从Firebase控制台对应包名的项目下下载的,包名、签名信息和项目配置完全一致。
  • Android清单配置缺失
    检查AndroidManifest.xml中是否已正确声明FCM所需的权限、服务、接收器:
    • 必须包含com.google.android.c2dm.permission.RECEIVE、android.permission.INTERNET、android.permission.WAKE_LOCK权限
    • Android 13及以上系统必须动态申请POST_NOTIFICATIONS权限,未授予权限时推送无法展示
    • 已正确注册FirebaseMessagingService、InstanceIdReceiver等FCM必需的组件
  • NuGet包版本不兼容
    确认所有Firebase相关NuGet包版本保持一致,且和你使用的Xamarin.Forms版本、Android编译版本匹配,避免跨版本依赖冲突导致FCM初始化失败。
  • 代码注册逻辑错误
    检查是否在Application的OnCreate方法中提前调用了FirebaseApp.InitializeApp(this),以及OnTokenRefresh事件是否在MessagingService初始化前就完成了绑定,避免事件漏触发。

内容的提问来源于stack exchange,提问作者Chim Di Tru

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 11:45:05