错误报告: FCM 无效令牌清理可能无法一致处理 NotRegistered 或 registration-token-not-registered
说明
我们注意到,在Novu自办的`v3.19.0'中,处理和自动清理无效的FCM装置标志可能存在不一致之处。
Novu 已经在工人身上启用以下特性旗时, 自动移除过期/无效的按键 :
页:1 已确认( E)
然而,推推工人用于识别订阅者/设备相关错误的逻辑比FCM提供商用于确定是否真的应当去除设备令牌的逻辑要宽泛.
在:
页:1
apps/worker/src/app/workflow/usecase/send-message/send-message-sush.usecase.ts (英语).诺武定义 :
导出附件( E):字符串 [ "没有注册", "有效注册", "MismatchSenderId","我最爱的" "未注册", "BadDeviceToken","BadDeviceToken","BadDeviceToken","BadDeviceToken","BadDeviceToken","BadDeviceToken","BadDeviceToken","BadDeviceToken","BadDeviceToken,"BadDeviceToken","BadDeviceToken","BadDeviceToken","BadDevice","BadDeviceToken","Bad Device","B.","B. "B.","B. ,"B. ,",",",",",",",",",",",","",",",",",",",",",",",",",",",",",",",",",",",",", "DeviceToken Not ForTopic", 维基百科中的相关条目: 维基语录链接:名人名言 - 文学作品 - 谚语 "PushToken过期", "有效保护托肯" "请求的实体没有被发现", "SenderId不匹配", 确定您是否按照 Expo FCM 文件的指示 提供了服务器密钥 "这不是一个有效的 博览会推符", '注册证不是有效的联邦货币委员会注册证', ; ; ;
因此,错误包括:
页:1
未注册
未登记
无效的注册
注册标志不是有效的 FCM 注册标志
未找到被请求实体明确确认为用户/设备相关推出错误。
然而,自动去除令牌使用不同的检查:
Const push Handler = this. get Integration Handler(集成) ; 页面存档备份,存于互联网档案馆
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}是Token Invalid=推汉德勒吗? e. 信息QQ 或 string () (三)
对于内置的FCM供应商,在:
页:1
包/提供者/src/lib/push/fcm/fcm. 提供者.ts`v3.19.0'中的无效调试检测为:
私人只读 INVALID TOKEN ERORS = [ 找不到请求的实体 ; ; ;
是Token Invalid( 错误: 字符串): 布尔 { 返回此选项。 INVALID TOKEN ERRORS. some( (rror) Q) 错误Message?.包括(错误) (三) {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?
也就是说,似乎存在以下两种情况:
1. 被Novu确认为用户/设备相关出错;
2. 实际触发自动去除FCM设备代号的错误.
如果 Firebase/Firebase 管理员返回一个无效的响应, 例如 :
页:1
未注册
登记-非登记
通讯/登记 -- -- 未登记
未注意
注册标志不是有效的 FCM 注册标志包含精确下字符串的除外信息 :
页:1 未找到被请求实体
然后:
是订阅者Error( 错误)能够确认失败与用户相关,同时 :
FcmPush Provider.is Token Invalid(错误的误差)
返回“虚假”。
在这种情况下,无效的令牌可能仍保存在:
页:1
订阅者. channels[].creditis.deviceTokens而Novu 可能在随后的工作流程中再次尝试发送到同一无效的令牌.
B. 现有的清除实施工作本身 . . . . . . .
内容来源: novuhq/novu