Универсальные ссылки iOS 9 не запускают приложение из того же домена

Я настроил свой файл AASA JSON, чтобы приложение открывалось, когда кто-то посещает myDomain.com/ShowInTheApp/*

Это работает с приложением Notes, электронной почтой, приложением Gmail, веб-сайтом Gmail на сафари и практически любыми другими веб-сайтами, кроме myDomain.com.

Когда myDomain.com/chooseAppORweb.html содержит ссылку на myDomain.com/ShowInTheApp/ , сафари всегда открывает его на той же вкладке, приложение не запускается. Я могу нажать и удерживать ссылку, чтобы отобразить контекстное меню, содержащее запись «Открыть в [имя моего приложения]», которая действительно запустит мое приложение. Но не одним нажатием на ссылку.

Когда я делаю те же самые шаги из другого домена, NOTmyDomain.com/chooseAppORweb.html всегда запускает приложение без проблем.

Кому-нибудь удалось последовательно запустить приложение из одного и того же домена с помощью UL?

Кроме того, если есть документ Apple, объясняющий какое-либо из этих действий, поделитесь ссылкой.


person Nikhil Mathew    schedule 05.11.2015    source источник
comment
К сожалению, хотя это не задокументировано, похоже, что это желаемое поведение. Когда пользователь находится на вашем веб-сайте, вы не можете предпринимать попытки привлечь его в свое приложение.   -  person st.derrick    schedule 06.11.2015
comment
Вы также заметите, что пользователи, перешедшие в ваше приложение через универсальные ссылки, могут открыть ваш веб-сайт — ваш веб-сайт будет отображаться в правом углу строки состояния. Я предполагаю, что команда Apple не хотела позволять разработчикам постоянно приглашать пользователей в приложение, если они пытаются оставаться на мобильном веб-сайте. Это имеет смысл, даже если у него есть неприятные побочные эффекты, подобные тому, что вы описываете.   -  person st.derrick    schedule 06.11.2015
comment
@st.derrick Спасибо за подтверждение поведения. Я видел некоторые сообщения, относящиеся к июню, когда iOS9 была в бета-версии, о том, что некоторые пользователи сталкивались с проблемами, когда целевая веб-страница с универсальной ссылкой никогда не может быть просмотрена в Safari, потому что нажатие любой ссылки откроет приложение. Я думаю, что ссылка «Домен хлебных крошек» в строке состояния, которая устанавливает предпочтение веб-сайта, чтобы всегда открываться в Safari, смарт-баннер, который отменяет это предпочтение, и поведение, упомянутое в вопросе, — все это быстрые исправления Apple для проблем, которые они не сделали. предвидеть при разработке универсальных ссылок. И это объясняет, почему его нет в документах   -  person Nikhil Mathew    schedule 08.11.2015


Ответы (2)


Я не уверен, когда Apple добавила это в свою документацию, но это объясняется в их Поддержка универсальных ссылок, в первом примечании:

В iOS 9 и более поздних версиях универсальные ссылки позволяют пользователям открывать ваше приложение, когда они нажимают ссылки на ваш веб-сайт в WKWebView и UIWebView представлениях и на страницах Safari, в дополнение к ссылкам, которые приводят к вызову openURL:, например, в Mail, Messages. и другие приложения.

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

Для пользователей, использующих более ранние версии iOS, чем 9.0, нажатие универсальной ссылки на ваш веб-сайт открывает ссылку в Safari.

(выделение добавлено)

По сути, как только пользователь переходит на страницу, размещенную в вашем домене в Safari, любые ссылки, по которым он переходит в вашем домене, будут открываться в Safari, даже если они определены вашим приложением как универсальные ссылки.

person Defragged    schedule 13.10.2016
comment
Я думаю, что предположение Apple о наиболее вероятном намерении пользователя просто глупо и неприятно. Разработчик определяет конкретные пути, которые будут действовать как триггеры для универсальных ссылок. И разработчик размещает ссылки, которые должны открывать приложение. Кто тут уважает разработчика? Я знаю, кто нет. - person jox; 20.06.2017

Как упоминал выше st.derrick, это поведение на месте для универсальных ссылок. Если вы ранее были перенаправлены в приложение по ссылке, но затем решили перейти на веб-сайт при долгом нажатии, функция открытия приложения будет нарушена. Вы можете исправить это, снова нажав и удерживая и выбрав открыть в приложении. Это не идеальное решение, но это единственный способ исправить это. Надеюсь, это поможет!

person jeanmw    schedule 08.02.2016