как запретить универсальную ссылку 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 для того же: Универсальные ссылки

Другие вопросы по тегам