- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是关于从 Firebase 客户端版本 6 到 7 的迁移。
过去,我们在 com.google.firebase.messaging.SendResponse
的实例上调用了 .getException().getErrorCode()
。
我们专门处理了两种情况,“registration-token-not-registered”
和“mismatched-credential”
。
从版本 7 开始,有两种不同的错误代码可以检索,一种使用 .getException().getErrorCode()
(返回一个通用的 ErrorCode
)和 .getException.getMessagingErrorCode()
(返回更合适的 MessagingErrorCode
)。
migration guide to version 7清楚地表明第一种情况 "registration-token-not-registered"
现在可以用 .getException.getMessagingErrorCode()
处理并匹配 MessagingErrorCode.UNREGISTERED
,但是 "mismatched-credential"
(以及所有其他可能的错误)的情况没有在任何地方记录。
我能找到的最好的东西是 documentation of the enum .
但我不确定
The credential used to authenticate this SDK does not have permission to send messages to the device corresponding to the provided registration token
(来自 Admin Error codes documentation )和
The authenticated sender ID is different from the sender ID for the registration token.
(来自 documentation of the enum MessagingErrorCode.SENDER_ID_MISMATCH
)意思相同...
我的问题有两个:
MessagingErrorCode
与实际管理错误代码相关联的好方法?MessagingErrorCode.SENDER_ID_MISMATCH
是 "mismatched-credential"
的正确错误代码吗?最佳答案
MessagingErrorCode
与遗留管理错误代码相关联Admin error code documentation你所引用的仅适用于今天的 Node.js SDK,它仍然停留在表示 API 错误的旧方法中。因此,如果您使用 Node.js 以外的语言进行编码(并使用最新的可用 Firebase SDK),请忽略那些遗留错误代码,只处理在提供的枚举中明确定义的错误代码。在许多情况下,这些旧错误代码和新错误代码之间没有直接的 1:1 映射。
有关错误代码的最新信息,您应该引用 Admin SDK error handling .
mismatched-credential
错误码旧的 mismatched-credential
错误代码用于表示两个不同的错误条件:
新的 v7 Java SDK 区分了这两种情况。情况 1 由 MessagingErrorCode.SENDER_ID_MISMATCH
表示。
SENDER_ID_MISMATCH The authenticated sender ID is different from the sender ID for the registration token. This usually means the sender and the target registration token are not in the same Firebase project.
情况 2 导致 ErrorCode.PERMISSION_DENIED
没有 MessagingErrorCode
值。
PERMISSION_DENIED Client does not have sufficient permission. This can happen because the OAuth token does not have the right scopes, the client does not have permission, or the API has not been enabled for the client project.
大多数开发人员只想在他们的代码中处理情况 1。情况 2 几乎总是配置错误。
关于java - MessagingErrorCode 的成员对应什么错误码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64005494/
这是关于从 Firebase 客户端版本 6 到 7 的迁移。 过去,我们在 com.google.firebase.messaging.SendResponse 的实例上调用了 .getExcept
我是一名优秀的程序员,十分优秀!