首页 文章

FCM在第一条消息后返回错误:NotRegistered

提问于
浏览
14

我按照firebase.google.com上的说明在我的项目中添加了FCM .
一切都很好,我没有工作......只有我发送给令牌的第一个推送通知才能获得成功 . 第二次推送和休息得到错误"NotRegistered" .
文档说

如果是NotRegistered,则应从服务器数据库中删除注册ID,因为从设备卸载了应用程序,或者客户端应用程序未配置为接收消息 .

但是应用程序未被删除,客户端应用程序配置为接收消息,因为第一条消息来到客户端

1 回答

  • 4

    我挣扎了几个小时,但我发现了问题 . 这也很难找到并解释 . 我会尽力:

    我的项目依赖于另一个依赖项: My project > Dependency > Sub-dependency

    子依赖项包含带有 <application> 标记的 AndroidManifest.xml 文件 . 像这样的东西:

    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.my_sub_library">
    
        <application android:allowBackup="true">
    
        </application>
    
    </manifest>
    

    由于这个应用程序标记,我的依赖项需要这样做:

    <manifest package="br.com.ilhasoft.support.databinding"
        xmlns:tools="http://schemas.android.com/tools">
        <application tools:node="replace"/>
    </manifest>
    

    我的解决方案是通过删除应用程序标记来更新子依赖关系并更新依赖关系以删除替换操作 .

    不知何故,firebase忽略了我的 FirebaseMessagingService 并撤销了我的FCM注册令牌 .

    我建议你检查你的依赖项,看看哪个有应用程序标签并更新/替换它 . 它对我有用!

相关问题