iOS - Универсальные ссылки - Запрещение перенаправлению в браузере открывать установленное приложение

В ситуации, когда у пользователя установлено наше мобильное приложение на iOS, но он использует наш веб-сайт через браузер Safari. Пользователь обычно перемещается по веб-страницам, однако ...

Проходя процесс оформления / покупки, мы используем внешнюю службу оплаты картой, которая после ввода карты перенаправляет пользователя в службу аутентификации 3DS эмитента карты, а затем по завершении пользователь перенаправляется обратно на страницу нашего сайта.

      (~/cart.php?target=Payment_return)

В этой ситуации срабатывает универсальная ссылка, которая заставляет ссылку перенаправления открывать наше установленное приложение, а не продолжать в веб-браузере. [этого не происходит на устройствах Android] Это вызывает завершение обработки платежа, но пользователь теряется в процессе оформления заказа.

наш файл ассоциации AASA содержит:

       "paths": ["NOT *target=product_search*","NOT /cart.php?target=payment_return*","*"]

но это исключение, похоже, не соблюдается.

Команда поставлена ​​в тупик и будет признательна за любой совет.

Очевидно, это связано с собственными предпочтениями пользователя в отношении того, каким образом он последний раз открывал ссылку на наш веб-сайт или приложение, и iOS «запоминает» этот выбор по умолчанию; (ситуация не возникает, если последним выбором пользователя было открыть наши ссылки в браузере); тем не менее перенаправление при работе В браузере нежелательно, и исключение AASA, похоже, не работает.

Мы что-то здесь упустили? или в этой же лодке наверняка должно быть много других? помощь.

тиа.

1 ответ

Из документации см. Здесь :

Обратите внимание, что для сравнения используется только компонент пути URL-адреса. Другие компоненты, такие как строка запроса или идентификатор фрагмента, игнорируются.

Вероятно, поэтому исключения не соблюдаются.

Я не знаю, нужна ли вам поддержка ниже iOS 13, но если вы ориентируетесь на iOS 13 и более поздние версии, все еще есть надежда, проверьте здесь подробную документацию.

В вашем случае это может быть что-то вроде (я не пробовал, просто чтобы дать вам представление):

      { "applinks": {
  "details": [
       {
         "appIDs": [...],
         "components": [
           {
              "/": "/cart.php*",
              "?": { "target": "payment_return" },
              "exclude": true,
              "comment": "Matches any URL whose path starts with cart.php and which has a query item with name 'target' and a value payment_return"
           }
         ]
       }
   ]}, ...}

И не забудьте переустановить приложение после смены AASA на сайте.

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