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

更新Xamarin Forms及Firebase组件后通知失效,提示Default FirebaseApp未初始化

解决Xamarin更新后Firebase初始化失败及通知失效问题

我之前也碰到过类似的版本更新后Firebase Messaging罢工的情况,结合你的报错和操作记录,给你几个针对性的排查和修复步骤:

1. 手动强制初始化FirebaseApp

新版本的Xamarin.Firebase.Messaging可能改变了自动初始化的逻辑,依赖自动初始化容易出问题。建议在Android项目的MainActivity的OnCreate方法里手动添加初始化代码,并且要放在Forms初始化之前:

protected override void OnCreate(Bundle savedInstanceState)
{
    base.OnCreate(savedInstanceState);
    
    // 先检查FirebaseApp是否已初始化,未初始化则手动初始化
    if (FirebaseApp.Instance == null)
    {
        FirebaseApp.InitializeApp(this);
    }

    global::Xamarin.Forms.Forms.Init(this, savedInstanceState);
    LoadApplication(new App());
}

2. 排查NuGet包版本兼容性

Xamarin.Forms 2.5.0.280555属于比较旧的版本,而你更新的Xamarin.Firebase.Messaging 42.1021.1版本相对较新,两者很可能存在兼容性冲突:

  • 尝试降级Firebase相关NuGet包到和Xamarin.Forms 2.5.x匹配的版本(比如40.x系列的Firebase.Messaging),或者如果业务允许,升级Xamarin.Forms到更高的稳定版本(比如3.x或4.x,不过要注意其他依赖的兼容性)。
  • 确保所有Firebase相关的NuGet包(比如Firebase.Core、Firebase.Iid等)版本保持一致,不要混合不同版本的包。

3. 重新配置google-services.json的编译属性

除了设置Build Action为GoogleServicesJson,还要检查以下几点:

  • 右键google-services.json,在属性面板里把Copy to Output Directory设置为Copy if newer,确保编译时文件能正确复制到输出目录。
  • 清理解决方案,删除项目的bin和obj文件夹,然后重新编译,避免缓存导致的配置不生效。

4. 检查AndroidManifest.xml的服务配置

新版本的Firebase Messaging可能需要更新Manifest里的服务声明,确保你的AndroidManifest.xml里包含以下内容:

<service android:name="com.google.firebase.messaging.FirebaseMessagingService">
    <intent-filter>
        <action android:name="com.google.firebase.MESSAGING_EVENT" />
    </intent-filter>
</service>

同时确认Manifest里已添加必要的权限:

<uses-permission android:name="android.permission.INTERNET" />
<!-- 针对Android 13及以上版本,需要添加通知权限 -->
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />

5. 验证Firebase控制台的应用配置

确认你的google-services.json是从Firebase控制台最新下载的,并且对应当前应用的包名。如果更新版本过程中修改了应用包名,需要在Firebase控制台重新注册应用并下载新的配置文件。

内容的提问来源于stack exchange,提问作者User2 Samcom

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 03:54:20