Firebase Dynamic Link不匹配白名单正则,配置后仍异常求助
正则的边界匹配是否正确
看看你写的正则有没有加^(开头)和$(结尾)锚点。比如你要匹配完整的https://example.com/path,没加锚点的话,可能会匹配到https://example.com/path/extra这类带后缀的链接,但如果Firebase要求严格匹配完整链接,就会失败;反过来,要是加了锚点但实际链接带UTM参数(比如?utm_source=xxx),也会匹配不上。大小写是否一致
Firebase的白名单正则默认区分大小写,比如链接是https://Example.com,正则写https://example.com就会匹配失败。可以在正则末尾加i修饰符(比如^https://example.com/path$i)来开启大小写不敏感。特殊字符有没有转义
正则里的.、?、&这些是特殊字符,必须加反斜杠转成\.、\?、\&。很多在线测试工具会自动处理转义,但在Firebase控制台里得手动输入转义后的内容,确认你控制台里的正则和测试时的完全一样。深层链接格式是否合规
确认你用的深层链接有没有非法字符,或者是不是Firebase不支持的协议。如果是自定义协议(比如myapp://),得先在项目里配置对应的URL scheme。项目是否搞混了
检查你配置白名单的项目和生成动态链接的项目是不是同一个,有时候不小心进错项目控制台,配置等于白做。另外,试着重新保存一次白名单配置,强制触发同步。链接编码是否匹配
如果深层链接里有编码后的字符(比如%20代替空格),正则得匹配编码后的内容,不能用原始的未编码字符串。确认你测试用的链接和实际动态链接指向的深层链接编码一致。
附用户提供的截图:


内容的提问来源于stack exchange,提问作者imi kim

