我已将通用链接添加到我的iOS应用程序中

messages http://somesite.com/message/list/ >> opens the app to messages
review   http://somesite.com/review/add/   >> opens the app to review
place    http://somesite.com/place/add/    >> opens the app to place
photo    http://somesite.com/photo/add/    >> opens the app to photo

一切都按预期工作,我的问题是:如何以甚至从未打开应用程序的方式排除路径或URL?

例如
somepage   http://somesite.com/somepagelink   >> SHOULDN'T OPEN APP, it must show up in the browser.

苹果应用程序站点关联文件
{
    "applinks":
    {
        "details": [
        {
            "paths": ["*", "NOT /somepagelink/*"],
            "appID": "ID1.myApp"
        },
        {
            "paths": ["*", "NOT /somepagelink/*"],
            "appID": "ID2.myApp"
        }],
        "apps": []
    },
    "activitycontinuation":
    {
        "apps": ["ID1.myApp","ID2.myApp"]
    }
}

这是排除路径的正确方法吗?
"NOT /somepagelink/*"

最佳答案

是的,您的语法正确,但是:

Apple文档指出,声明的顺序很重要。



它在您的文件中评估的第一个语句是星号“*”,表示“是,允许每个URL”。然后它将结束并打开应用程序。

那么也许可以尝试另一种方式吗?

"paths": ["NOT /somepagelink/*", "*"],

编辑

重要:
除AASA的更改外,这来自以下给出的评论。
您必须为apple-app-site-association文件的每次更改重新安装应用程序。如果您正在使用其中之一,那肯定是CDN问题

08-26 21:05
查看更多