You need to enable JavaScript to run this app. Xamarin Android 找不到Firebase通知接收事件的对应实现?
优惠活动
大模型
产品
解决方案
定价
更多

Xamarin Android 找不到Firebase通知接收事件的对应实现?

功能存在性说明

你查找的FCM通知/消息接收相关能力完全存在,不存在功能缺失,只是Xamarin平台的实现逻辑和原生Android的写法有差异,没有直接暴露和原生同名的可订阅事件,容易让开发者产生找不到对应实现的错觉。

Xamarin 下的对应实现方式

所有原生Android端支持的FCM接收场景,在Xamarin.Firebase.MessagingNuGet包中全部有对齐实现,不需要额外开发自定义逻辑:

  • 核心实现逻辑围绕继承FirebaseMessagingService基类展开,不需要绑定全局事件,直接重写基类的特定方法即可拿到对应回调:
    • 重写OnMessageReceived(RemoteMessage message)方法:和原生端的消息接收回调完全对齐,只要客户端进程存活,无论应用处于前台、后台,所有推送到设备的FCM通知消息、数据消息都会触发该方法
    • 重写OnNewToken(string token)方法:替代原生端的令牌刷新广播逻辑,在FCM注册令牌更新时触发
  • 必要的配置项:
    • 在自定义的FirebaseMessagingService子类上添加[Service(Exported = true)]特性,满足Android系统对后台服务的导出权限要求
    • 为服务类注册IntentFilter,匹配com.google.firebase.MESSAGING_EVENT的Intent动作,确保系统能正确路由FCM的推送事件到自定义服务
找不到对应实现的常见原因
  • Xamarin的FCM SDK没有采用C#常见的事件订阅模式暴露接收回调,而是采用面向对象的继承重写模式,习惯了事件订阅写法的开发者很容易误判功能不存在
  • 低版本的Xamarin.Firebase.Messaging NuGet包存在方法签名缺失、回调不触发的已知问题,升级到当前稳定版本即可拿到和原生能力完全对齐的回调接口

内容的提问来源于stack exchange,提问作者Micah Armantrout

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.24 09:24:04