android - FCM 返回错误 : NotRegistered after the first message

标签 android push-notification firebase-cloud-messaging

我按照 firebase.google.com 上的说明在我的项目中添加了 FCM。
一切正常,我的日志中收到消息“FirebaseApp 初始化成功”和新 token 。但它不起作用......只有我发送到 token 的第一个推送通知我才能成功。第二次推和休息得到错误“NotRegistered”。
文档说

If it is NotRegistered, you should remove the registration ID from your server database because the application was uninstalled from the device, or the client app isn't configured to receive messages.

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

最佳答案

我挣扎了几个小时,但我找到了问题所在。也很难找到和解释。我会尝试:

我的项目有一个依赖关系,里面有另一个依赖关系: My project > Dependency > Sub-dependency

子依赖包含一个 AndroidManifest.xml文件 <application>标签。类似的东西:

<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 注册 token 。

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

关于android - FCM 返回错误 : NotRegistered after the first message,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39083566/

相关文章:

android - 如何为我自己的应用程序创建自定义推送通知?

java - 如何获取通知FCM android中的数据

android - 使用 WhatsApp 之类的 Firebase 私有(private)聊天

java - java中的Json时间持续时间格式化问题

java - Android Studio 在调试器中看不到静态 : no such static field

android - 在 libgdx 中绘制和存储用户的触摸路径

iOS - 推送通知未按预期响应

android - 如何将 React-Native 代码与 Swift 或 Kotlin 链接起来?我应该用每种语言做什么?

android - 如何在三星设备的应用程序图标徽章上推送通知消息

ios - 如何通过 FCM(Firebase) 或 native 在 iOS 10 中发送推送通知?