как запретить универсальную ссылку ios открывать приложение, когда пользователь щелкает URL-адрес на странице субдомена A, а URL-адрес ссылается на субдомен B
Мы добавили связанные домены в наше приложение для ios, например:
<string>webcredentials:*.mywebsite.com</string>
<string>applinks:*.mywebsite.com</string>
Мы также загрузили файл ассоциации яблочного приложения-сайта для всех наших поддоменов. Как показано ниже:
{
"applinks": {
"apps": [],
"details": [
{
"appID": "XXXXX.com.mywebsite.www",
"paths": [
"NOT /whatever",
"some other paths here",
"/"
]
}
]
},
"webcredentials": {
"apps": [
"XXXXX.com.mywebsite.www"
]
}
}
Он отлично работает, если пользователь щелкает URL-адрес на странице Google, которая ссылается на http://www.mywebsite.com, он откроет приложение.
Но моя проблема в том, что если у нас есть subdomainA.mywebsite.com/test.html, например:
<a href="https://www.mywebsite.com/">HOME</a>
Если пользователь щелкнет ссылку, он также откроет приложение, это НЕ то, что я хочу.
Итак, мой вопрос: как я могу отключить универсальную ссылку, открывающую приложение, если на субдомене пользователь щелкает URL-адрес, который ссылается на субдомен B, и путь URL-адреса зарегистрирован в файле ассоциации сайта приложения. Может ли ios знать, что это просто поддомены, поэтому не открывайте приложение?
2 ответа
В итоге мы обратились за помощью к Apple. Как я и ожидал, мы не можем запретить Apple/IOS запускать приложение между двумя поддоменами с одинаковыми универсальными ссылками. Единственный способ сделать это, если в субдомене B есть URL-ссылка на субдомен A, и этот URL-адрес является универсальной ссылкой, мы должны добавить какой-то специальный запрос или хэш к URL-адресу, например, url? Inside_subdomains=1, затем в файле AASA мы добавляем "НЕ *within_subdomains=1",
Вы можете отключить универсальные ссылки, занеся их в черный список в файле AASA. Добавление NOT перед путем в вашем файле AASA не приведет к открытию приложения для вашего URL-адреса.
{
"applinks": {
"apps": [ ],
"details": [
{
"appID": "XXXXX.com.mywebsite.www",
"paths": [ "http://www.mywebsite.com/", "NOT http://www.subdomainA.mywebsite.com/test.html"]
}
]
}
}
Вот документация Apple для того же: Универсальные ссылки