Здесь есть две разные проблемы:
1. В Safari URL-адрес универсальной ссылки должен находиться в другом домене/субдомене, чем страница, на которой она отображается.
Apple очень консервативна в отношении того, где разрешено работать универсальным ссылкам. Одним из ограничений Safari является невозможность открытия приложения, если пользователь уже просматривает тот же сайт (такой смысл страниц — если пользователь приложил усилия, чтобы открыть сайт в Safari, а не в приложении, это может раздражать). если каждая отдельная ссылка на этом сайте пытается открыть приложение, особенно если приложение неправильно настроено для маршрутизации ссылок на контент).
Обходной путь — использовать отдельный домен/субдомен для ссылок, по которым вы хотите открыть приложение. Например, если ваш сайт находится на example.com
, укажите любую ссылку, по которой вы хотите открыть приложение, на link.example.com
, а затем перенаправьте пользователей без приложения обратно на основной веб-сайт или далее в App Store. На самом деле это система, которую мы построили в Branch.io (которую вы могли бы использовать вместо того, чтобы переделывать ее самостоятельно!)
2. То, что вы описали, не является поведением универсальных ссылок
Универсальные ссылки не запрашивают у пользователя подтверждение перед открытием приложения, даже в первый раз. Они всегда сразу открывают приложение, даже не запрашивая веб-страницу, пока/если пользователь явно не отключит их (что на самом деле довольно легко сделать). То, что вы описываете, — это поведение пользовательских схем URI, поэтому я подозреваю, что у вас может быть какая-то автоматическая переадресация на схему URI приложения на странице, на которую указывает универсальная ссылка. На самом деле в большинстве случаев это не лучшая идея, поскольку пользователи без приложения увидят неприятное сообщение об ошибке.
person
Alex Bauer
schedule
22.12.2016