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 на сайте.