iOS Universal Links仅匹配根域带t查询参数的URL配置问题
解决AASA配置:仅根路径带t参数的URL唤起App
你的需求是仅example.com/?t=xxx这类URL唤起App,其余所有URL(包括根路径不带t参数、非根路径带t参数)都在浏览器打开。当前配置的问题在于,你只定义了唤起规则,但未明确排除不符合条件的根路径URL,导致部分不符合要求的根路径URL被错误唤起。
正确配置需按匹配优先级定义规则,先匹配需要唤起的URL,再排除所有不符合条件的URL:
"components": [ { "/": "/", "?": { "t": "*" }, "comment": "匹配根路径且带有t查询参数的URL,唤起App" }, { "/": "/", "exclude": true, "comment": "排除根路径不带t参数的URL,在浏览器打开" }, { "/": "/*", "exclude": true, "comment": "排除所有非根路径的URL,在浏览器打开" } ]
规则说明:
- 第一条规则:严格匹配根路径且必须包含t查询参数(值任意)的URL,触发App唤起。
- 第二条规则:匹配所有根路径但不满足第一条规则的URL(如
example.com、example.com/?aaa=123),标记为排除,交给浏览器处理。 - 第三条规则:匹配所有非根路径的URL(如
example.com/path/?t=123),标记为排除,交给浏览器处理。
AASA的规则按顺序匹配,一旦匹配到某条规则就会停止后续判断,因此必须将唤起规则放在最前面,排除规则依次往后。
内容的提问来源于stack exchange,提问作者Danylo Kurylo
相关产品推荐
相关产品推荐

