FirebaseMessaging技术问询:dryRun设为false是否触发更多UNREGISTERED场景?
FirebaseMessaging sendAsync dryRun 参数与UNREGISTERED错误场景问题
核心结论
不会。在Firebase修复了dryRun=true无法识别所有UNREGISTERED场景的问题后,dryRun=false不会触发任何dryRun=true不会出现的UNREGISTERED错误场景。
详细说明
dryRun模式的作用是模拟消息发送流程,仅做格式校验、令牌有效性验证等操作,不会实际将消息推送到目标设备;而dryRun=false是实际执行消息推送。- 修复后,两种模式下对令牌注册状态的校验逻辑完全一致:只要目标令牌已注销(UNREGISTERED状态),无论
dryRun设为true还是false,sendAsync都会在前置校验阶段抛出带有UNREGISTERED错误码的FirebaseMessagingException。 - 两者的唯一差异仅在于
dryRun=false会在校验通过后尝试推送消息,而dryRun=true不会,但这个差异不会影响UNREGISTERED错误的触发——令牌无效的情况在校验环节就会被拦截,不会进入到实际推送步骤。
内容的提问来源于stack exchange,提问作者lf215
相关产品推荐
相关产品推荐

