iOS - Ошибка с универсальными ссылками

Я настроил универсальные ссылки в своем приложении для iOS в точном соответствии с описанными здесь шагами:

Как настроить универсальный Ссылки

Он выполняет 100% успешную проверку с использованием валидаторов Branch и Apple. Но теперь, когда я пытаюсь протестировать готовый продукт, у меня возникают проблемы.

Если я ввожу или нажимаю ссылку на свой сайт (например, www.mydomain.com), Safari / Chrome / Facebook переходит прямо на мой сайт.

Однако, если я перейду в Google, введите www.mydomain.com в качестве поиска, найдите ссылку на мой сайт и нажмите и удерживайте ссылку. «Открыть в MyApp» - это один из вариантов, который отлично работает.

Почему это? Я выдергиваю волосы!


person Adam G    schedule 22.05.2016    source источник


Ответы (1)


Универсальные ссылки, к сожалению, работают не везде. С этой страницы:

  • Сообщения | работает
  • Почта | работает
  • Whatsapp | работает
  • Slack | работает, если он настроен на открытие Safari, а не в браузере приложения (использует SFSafariViewController)
  • Safari | работает условно
  • Chrome | работает условно
  • Google | работает условно
  • Gmail | если установлен Chrome, открывает ссылку в Chrome (не Universal Link). Остальное работает условно
  • Входящие | если установлен Chrome, открывает ссылку в Chrome (не Universal Link). Остальное работает.
  • Twitter | работает условно
  • Facebook | работает условно
  • FB Messenger | работает условно
  • WeChat | работает условно
  • Pinterest | не работает
  • Telegram | не работает (использует SFSafariViewController)

Примечание. Условно работающий означает, что он работает (т. е. открывает приложение) некоторое время:

  • Универсальные ссылки не будут работать, если вы вставите ссылку в поле URL-адреса браузера.
  • Универсальные ссылки работают с управляемым пользователем <a href="..."> элементом click между доменами. Пример: если на google.com есть универсальная ссылка, указывающая на bnc.lt, приложение откроется.
  • Универсальные ссылки не будут работать, если элемент <a href="...">, управляемый пользователем, щелкнет тот же домен. Пример: если универсальная ссылка на google.com указывает на другую универсальную ссылку на google.com, приложение не откроется.
  • Универсальные ссылки не могут быть активированы с помощью Javascript (в window.onload или с помощью .click() вызова элемента <a>), если это не является частью действия пользователя.
  • Google, Gmail, Inbox, Twitter, Facebook, FB Messenger, WeChat - универсальные ссылки работают только тогда, когда у вас уже открыт веб-просмотр. Другими словами, они не работают в приложении из фида / основных представлений. Опять же, они также должны быть междоменными, иначе говоря, если ваш пользователь находится на yourapp.com и нажимает универсальную ссылку также для yourapp.com, это не сработает. Однако при переходе с yourapp.com на bnc.lt ссылка будет работать как универсальная ссылка и напрямую откроет ваше приложение.
person Alex Bauer    schedule 22.05.2016
comment
Итак, Apple убивает мои Deep Links в iOS9 + и предоставляет условно работающую альтернативу ?? - person Adam G; 22.05.2016
comment
@AdamG: Да, в основном :(. Прямо сейчас полный беспорядок ... надеюсь, iOS 10 принесет реальное решение. - person Alex Bauer; 22.05.2016
comment
@AlexBauer, спасибо. Вы сэкономили несколько моих часов. Вы сказали, что у меня есть вопрос: ›Универсальные ссылки не будут работать с управляемым пользователем элементом ‹a href=...›, щелчком по тому же домену. У меня вопрос, если домен переходит со страницы http на другую страницу https, откроется приложение или нет? - person Md Mahbubur Rahman; 21.11.2016
comment
@MuhammadMahbuburRahman http на https сам по себе недостаточно, потому что на самом деле это не перенос домена. Это всего лишь два способа доступа к одному и тому же домену. Вам понадобится другой домен для ссылки href - person Alex Bauer; 21.11.2016
comment
Обновление на 2019 год: они работают с javascript с помощью window.location - person ericjam; 18.03.2019