До iOS 9 навігація між мобільними веб-сайтами та рідними програмами для iPhone була непередбачуваною та незграбною справою. Розробники покладалися на власні протоколи URI, такі як instagram:// або mybank://. Ці схеми часто викликали різкі системні сповіщення із запитом «Відкрити в додатку?», повністю виходили з ладу, якщо додаток був відсутній, і мали серйозні вразливості безпеки. Щоб усунути ці фундаментальні недоліки, Apple представила Universal Links. Але що таке універсальне посилання і чому воно змінило архітектуру мобільного програмного забезпечення?
За своєю суттю універсальне посилання — це стандартна захищена веб-URL-адреса HTTPS, яка плавно спрямовує до певних контролерів перегляду всередині встановленої програми iOS. Якщо програму встановлено, iOS запускає її миттєво, не відкриваючи Safari. Якщо додаток відсутній, операційна система плавно завантажує адаптивну веб-сторінку в Safari, не відображаючи діалогових вікон про помилки. У цьому детальному технічному дослідженні ми досліджуємо внутрішню роботу Apple Universal Links, досліджуємо конфігураційний файл AASA та пояснюємо, чому сучасна мобільна маршрутизація залежить від цього протоколу.
Розуміння універсальних посилань має вирішальне значення для будь-якого інженера iOS або цифрового маркетолога, який прагне забезпечити безперебійну подорож клієнтів через кампанії електронної пошти, соціальні платформи та результати пошукових систем.
Що таке універсальне посилання і чому Apple створила його
Щоб зрозуміти мету універсальних посилань, необхідно вивчити недоліки застарілих користувацьких схем URL-адрес. Спеціальні схеми не мали центрального реєстру. Будь-який розробник може створити програму, яка використовує схему paypal://, перехоплюючи конфіденційні фінансові параметри, призначені для законної служби, як зазначено в нашому посібнику щодо схем мобільних URL-адрес. Крім того, якщо користувач без програми клацав посилання спеціальної схеми в Safari, iOS відображала серйозну системну помилку: "Safari не може відкрити сторінку, оскільки адреса недійсна."
Apple розробила Universal Links, щоб встановити три критично важливі робочі стандарти:
- Унікальність і безпека: оскільки Universal Links використовують стандартні веб-домени (наприклад,
https://dslink.me/path), жоден інший розробник не може претендувати на ваше посилання, якщо він не контролює ваші перевірені записи DNS і сертифікати SSL. - Простий резервний варіант: якщо користувач iPhone не встановив вашу програму, точна така сама URL-адреса автоматично відкриває ваш мобільний веб-сайт у Safari. Немає пошкоджених посилань і підказок про помилки.
- Єдина ідентичність: маркетологам і розробникам потрібно лише надати спільний доступ до однієї URL-адреси, яка обслуговує як веб-відвідувачів на настільних комп’ютерах, так і користувачів рідної програми на мобільних пристроях.
Цей дизайн також вирішив проблеми, через які посилання відкривалося в Safari замість програми через несправність протоколу handoff.
Архітектура Apple App Site Association (AASA)
Операційною основою Universal Links є безпечне рукостискання між операційною системою Apple і вашим веб-сервером. Це рукостискання здійснюється за допомогою файлу Apple App Site Association (AASA), документа JSON, розміщеного за адресою:
https://yourdomain.com/.well-known/apple-app-site-association
Цей файл визначає ідентифікатори програм, яким дозволено обробляти певні URL-шляхи у вашому домені. Ось приклад сучасного форматування AASA JSON:
{
"applinks": {
"apps": [],
"details": [
{
"appID": "TEAMID1234.com.example.myapp",
"paths": ["/video/*", "/product/*", "/user/*"],
"components": [
{
"/": "/video/*",
"comment": "Matches all video detail pages"
}
]
}
]
}
}
Основні технічні правила розміщення застосовуються до файлу AASA:
- Він має обслуговуватися через HTTPS із надійним сертифікатом SSL.
- Він має повертати
Content-Typeapplication/json. - Він має повертати код статусу HTTP 200 OK без перенаправлення HTTP на HTTPS.
- Apple кешує цей файл у своїй мережі доставки вмісту (CDN); Зміни, внесені до вашого сервера, можуть поширюватися на всі пристрої iOS за деякий час.
Створіть розумне глибоке посилання за лічені секунди
Перестаньте втрачати мобільних відвідувачів через незграбні екрани входу в браузері програми. Використовуйте DSLink, щоб генерувати чисті глибокі посилання, які відкривають програму, з аналітикою в реальному часі.
Open Universal Links vs schemes guideУніверсальні посилання проти спеціальних схем URL-адрес
Розуміння архітектурних відмінностей між універсальними посиланнями та користувальницькими схемами допомагає розробникам розробляти стійкі міжплатформні системи маршрутизації, як це було розглянуто в нашому порівнянні універсальних посилань і схем URL-адрес:
| Особливість | Універсальні посилання Apple | Спеціальні схеми URI |
|---|---|---|
| Формат URL-адреси | Стандартний HTTPS (https://brand.com) |
Власний протокол (brand://) |
| Безпека та власність | Перевірено через DNS і AASA JSON | Неперевірений; схильність до викрадення схем |
| Обробка відступу | Витончено завантажує веб-сайт у Safari | Відображає помилку «Safari не може відкрити сторінку». |
| Швидка поведінка | Миттєво відкриває програму без підказок | Часто викликає "Відкрити в програмі?" системні діалоги |
| Підтримка браузера в програмі | Часто обмежений переглядами в соціальних мережах | Може бути запущено через перенаправлення JavaScript |
Незважаючи на те, що універсальні посилання кращі для безпеки та взаємодії з користувачем, спеціальні схеми все ще часто зберігаються як резервні варіанти під час роботи з упертими соціальними мережами у веб-переглядачах програм, детально описано в нашому посібнику щодо навігації веб-переглядачем у програмі.
Як iOS обробляє універсальні посилання під час виконання
When an iPhone user taps a link in Apple Mail, Messages, or a third-party app, iOS executes a precise decision workflow:
- Local database lookup: iOS checks its local indexed database of verified domains stored during app installation.
- Path evaluation: If the domain matches, iOS evaluates whether the URL path matches the patterns defined in the AASA document.
- Перевірка налаштувань користувача: iOS перевіряє, чи користувач раніше перемикав налаштування Safari, торкаючись верхньої правої кнопки навігації домену.
- Рідна передача: якщо всі перевірки проходять успішно, iOS запускає рідну програму та передає об’єкт
NSUserActivity, що містить URL-адресу, яку ви натиснули, делегату програми або обробнику життєвого циклу SwiftUI. - Резервний Safari: якщо програма відсутня, шлях не збігається або домен не підтверджено, iOS запускає Safari та отримує веб-сторінку в звичайному режимі.
Розробники можуть протестувати ці переходи маршрутизації за допомогою нашого інтерактивного інструменту перевірки посилань, щоб перевірити коди відповідей і зіставлення доменів.
Найкращі практики впровадження універсальних посилань
Щоб забезпечити бездоганну маршрутизацію універсальних посилань у ваших маркетингових кампаніях та інфраструктурі розробників, дотримуйтеся цих перевірених у боях передових практик:
- Ніколи не складайте універсальні посилання в стандартні перенаправлення: якщо посилання проходить через загальне перенаправлення 301/302 у непов’язаному домені, iOS розриває ланцюжок і направляє клацання до Safari. Дізнайтеся більше в нашому посібнику з посиланнями на глибину та скороченням.
- Обліковий запис для соціальних веб-переглядачів у додатках: такі додатки, як Instagram, TikTok і Facebook, фіксують кліки в ізольованому програмному середовищі. Використовуйте інтелектуальні глибокі посилання на базі DSLink, які виявляють веб-перегляд і запускають рукостискання намірів для виходу.
- Підтримка універсальних шляхів до вмісту: переконайтеся, що ваша рідна програма для мобільних пристроїв і ваш веб-сервер мають узгоджені шляхи маршрутизації URL-адрес (наприклад,
/item/123маршрути до того самого продукту як у мережі, так і в програмі). - Постійно перевіряйте синтаксис AASA: використовуйте інструмент перевірки App Search API від Apple, щоб переконатися, що ваш файл AASA залишається дійсним, непошкодженим і правильно відформатованим після кожного розгортання сервера.
Освоївши Apple Universal Links і поєднавши їх із мультиплатформенною інтелектуальною маршрутизацією, ви забезпечите безпроблемний мобільний досвід, завдяки якому ваші користувачі занурюються у ваше рідне програмне забезпечення.
Часті запитання
Що таке універсальне посилання в iOS?
Універсальне посилання — це стандартна веб-адреса HTTPS, яку Apple iOS розпізнає як пов’язану з встановленою програмою, що дозволяє операційній системі відкривати рідну програму безпосередньо замість завантаження Safari.
Як Apple перевіряє, що програма володіє доменом?
Apple перевіряє право власності за допомогою файлу JSON apple-app-site-association (AASA), розміщеного на веб-доміні. iOS завантажує цей файл після встановлення програми, щоб перевірити відповідність ідентифікатора програми та шляху.
Що станеться, якщо користувач клацне універсальне посилання, але не встановить додаток?
Якщо програму не встановлено, iOS плавно завантажує цільову веб-сторінку в Safari, не показуючи жодних підказок про помилки, діалогових вікон із попередженнями чи непрацюючих екранів.
Чи можна використовувати універсальні посилання на пристроях Android?
Ні. Універсальні посилання — це стандарт iOS і iPadOS для Apple. Android використовує еквівалентну технологію під назвою Android App Links, яка базується на перевірці Digital Asset Links.