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

.NET8 MAUI集成Azure通知中心遇FIS_AUTH_ERROR故障求助

解决.NET8 MAUI Azure Notification Hub推送的FIS_AUTH_ERROR问题

核心排查与修复步骤

1. 校验Firebase API密钥与权限

  • 登录Firebase控制台,进入项目「设置」>「服务账户」>「API密钥」,确认current_key已开启Firebase Cloud Messaging API权限,若被关闭则手动启用。
  • 检查API密钥的限制规则:确保没有误加IP白名单拦截请求,同时验证Android包名限制与MAUI项目AndroidManifest.xml中package字段完全一致(注意大小写)。

2. 重置Firebase配置文件与项目缓存

  • 删除项目中旧的google-services.json,从Firebase控制台重新下载最新版本,放置在Android项目根目录,设置其「生成操作」为GoogleServicesJson。
  • 执行dotnet clean命令清理项目的bin/obj目录,再重新生成项目,避免旧配置缓存干扰。

3. 模拟器专属适配

  • 更新模拟器的Google Play服务到最新版本:打开模拟器「设置」>「应用」>「Google Play服务」,检查并完成更新。
  • 创建新的Android模拟器:选择带Google Play的系统镜像(API 33及以上版本),旧镜像可能存在兼容性问题。
  • 在模拟器中登录有效Google账号,未登录账号会导致FIS身份验证失败。

4. Azure Notification Hub配置验证

  • 登录Azure门户,检查Notification Hub的「Google (GCM/FCM)」配置,确认填入的服务器密钥是Firebase「Cloud Messaging」下的官方服务器密钥(而非API密钥中的current_key),且密钥未过期或修改。
  • 直接通过Firebase控制台发送测试通知到设备,排除Azure侧的配置问题。若Firebase直接推送正常,再排查MAUI的注册逻辑。

5. 启用详细日志定位问题

  • 在MAUI Android项目的MainActivity的OnCreate方法中添加日志代码:
    Firebase.FirebaseApp.InitializeApp(this);
    Firebase.Messaging.FirebaseMessaging.Instance.SetAutoInitEnabled(true);
    Android.Util.Log.Debug("FCM_DEBUG", "Firebase initialized");
    
  • 通过Android Studio的Logcat过滤「FCM_DEBUG」「FirebaseAuth」关键词,查看认证失败的具体细节(如密钥不匹配、包名验证错误等)。

6. 确认权限配置完整

  • 确保AndroidManifest.xml中添加必要权限:
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
    <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
    
  • 针对Android 13+版本,在代码中动态请求POST_NOTIFICATIONS权限,避免系统拦截通知。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 13:33:17