如何在apple-app-site-association文件中支持带?的查询路径?
Apple App Links 唤起失败问题排查
你遇到的/ticket?v=VOLUME-ID无法唤起APP的问题,核心原因是Apple App Links的paths字段仅匹配URL的路径部分,不包含查询参数(?及之后的内容)。
具体分析:
/event/EVENT-ID能正常唤起:该URL的路径部分是/event/EVENT-ID,和你配置的/event/*规则完全匹配,所以触发唤起逻辑。/ticket?v=VOLUME-ID失败:该URL的路径部分仅为/ticket,而你写的/ticket?v=*规则会试图匹配路径中包含?v=的内容,但路径本身不包含查询参数,导致匹配失败。
解决方案:
修改apple-app-site-association中的paths配置,将/ticket?v=*替换为/ticket(如果需要兼容/ticket下的子路径可以用/ticket/*),示例如下:
{ "appclips": { "apps": ["**********.com.project.example.Clip"] }, "applinks": { "apps": ["**********.com.project.example"], "details": [ { "appID": "**********.com.project.example", "paths": [ "/event/*", "/ticket" ] } ] } }
验证步骤:
- 重新部署修改后的
apple-app-site-association文件 - 卸载重装APP(或在iOS设置中重置APP关联缓存)
- 测试
/ticket?v=VOLUME-ID是否能正常唤起APP
内容的提问来源于stack exchange,提问作者Deep Gandhi
相关产品推荐
相关产品推荐

