我在我的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
所有工作都按预期工作,我的问题是:如何排除路径或网址,以至于它甚至从未打开应用程序?
例如
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/*"
答案 0 :(得分:7)
是的,你的语法是正确的,但是:
Apple文档指出,声明的顺序很重要。
因为系统按照指定的顺序评估路径数组中的每个路径,并且在找到正匹配或负匹配时停止评估 - 您应该在低优先级路径之前指定高优先级路径。
它在你的文件中评估的第一个语句是星号“*”,它表示“是,允许每个URL”。然后它将结束并打开应用程序。
所以也许可以反过来试试呢?
"paths": ["NOT /somepagelink/*", "*"],