Przed iOS 9 nawigacja między mobilnymi witrynami internetowymi a natywnymi aplikacjami na iPhone'a była nieprzewidywalna i niezdarna. Programiści polegali na niestandardowych protokołach URI, takich jak instagram:// lub mybank://. Schematy te często wywoływały niepokojące alerty systemowe z pytaniem „Otworzyć w aplikacji?”, całkowicie się psuły w przypadku braku aplikacji i miały poważne luki w zabezpieczeniach. Aby rozwiązać te podstawowe wady, Apple zaprezentowało Universal Links. Ale czym jest łącze uniwersalne i dlaczego zmieniło ono architekturę oprogramowania mobilnego?

W swojej istocie Universal Link to standardowy, bezpieczny internetowy adres URL HTTPS, który płynnie kieruje do określonych kontrolerów widoku w zainstalowanej aplikacji na iOS. Jeśli aplikacja jest zainstalowana, iOS uruchamia ją natychmiast, bez otwierania przeglądarki Safari. Jeśli brakuje aplikacji, system operacyjny bezpiecznie ładuje responsywną stronę internetową w przeglądarce Safari, nie wyświetlając okien dialogowych o błędach. Podczas tej technicznej analizy przyjrzymy się wewnętrznemu działaniu Apple Universal Links, przejrzymy plik konfiguracyjny AASA i wyjaśnimy, dlaczego nowoczesny routing mobilny zależy od tego protokołu.

Zrozumienie Universal Links ma kluczowe znaczenie dla każdego inżyniera iOS lub marketera cyfrowego, który chce zapewnić płynne podróże klientów z kampanii e-mailowych, platform społecznościowych i wyników wyszukiwania.

Diagram pokazujący, jak Apple Universal Links kierują żądania internetowe iOS bezpośrednio do natywnych aplikacji mobilnych
Apple Universal Links weryfikuje powiązania domen, aby bezpośrednio uruchamiać zainstalowane aplikacje, zapewniając jednocześnie płynny powrót do przeglądarki Safari.

Aby zrozumieć cel łączy uniwersalnych, należy zbadać wady starszych schematów niestandardowych adresów URL. Schematy niestandardowe nie miały centralnego rejestru. Każdy programista może stworzyć aplikację korzystającą ze schematu paypal://, przechwytującego wrażliwe parametry finansowe przeznaczone dla legalnej usługi, jak opisano w naszym przewodniku po schematach mobilnych adresów URL. Co więcej, jeśli użytkownik bez aplikacji kliknie łącze do niestandardowego schematu w przeglądarce Safari, system iOS wyświetli poważny błąd systemowy: „Safari nie może otworzyć strony, ponieważ adres jest nieprawidłowy.”

Firma Apple opracowała technologię Universal Links w celu ustanowienia trzech kluczowych standardów operacyjnych:

  • Wyjątkowość i bezpieczeństwo: Ponieważ Universal Links korzysta ze standardowych domen internetowych (np. https://dslink.me/path), żaden inny programista nie może rościć sobie prawa do Twojego linku, chyba że kontroluje Twoje zweryfikowane rekordy DNS i certyfikaty SSL.
  • Bezproblemowe działanie awaryjne: jeśli użytkownik iPhone'a nie ma zainstalowanej Twojej aplikacji, dokładnie ten sam adres URL automatycznie otworzy Twoją witrynę mobilną w przeglądarce Safari. Nie ma żadnych uszkodzonych linków i żadnych komunikatów o błędach.
  • Jedna tożsamość: marketerzy i programiści muszą mieć tylko jeden adres URL, który obsługuje zarówno osoby odwiedzające stronę internetową na komputerach stacjonarnych, jak i użytkowników aplikacji natywnych na urządzeniach mobilnych.

W tym projekcie rozwiązano także problemy polegające na tym, że link otwiera się w przeglądarce Safari zamiast w aplikacji z powodu zepsutego przekazywania protokołów.

Architektura stowarzyszenia Apple App Site Association (AASA)

Podstawą operacyjną Universal Links jest bezpieczne uzgadnianie między systemem operacyjnym Apple a serwerem internetowym. W tym uścisku dłoni pośredniczy plik Apple App Site Association (AASA), dokument JSON hostowany pod adresem:

https://yourdomain.com/.well-known/apple-app-site-association

Ten plik określa, które identyfikatory aplikacji mogą obsługiwać określone ścieżki URL w Twojej domenie. Oto przykład nowoczesnego formatowania AASA JSON:

{
  "applinks": {
    "apps": [],
    "details": [
      {
        "appID": "TEAMID1234.com.example.myapp",
        "paths": ["/video/*", "/product/*", "/user/*"],
        "components": [
          {
            "/": "/video/*",
            "comment": "Matches all video detail pages"
          }
        ]
      }
    ]
  }
}

Kluczowe techniczne zasady hostingu mają zastosowanie do pliku AASA:

  • Musi być obsługiwany przez HTTPS z zaufanym certyfikatem SSL.
  • Musi zwracać Content-Type application/json.
  • Musi zwracać kod stanu HTTP 200 OK bez żadnych przekierowań HTTP do HTTPS.
  • Apple buforuje ten plik w swojej sieci dostarczania treści (CDN); rozprzestrzenienie się zmian wprowadzonych na serwerze na wszystkich urządzeniach z systemem iOS może zająć trochę czasu.

Utwórz inteligentny, głęboki link w ciągu kilku sekund

Przestań tracić użytkowników mobilnych z powodu niezdarnych ekranów logowania w przeglądarce w aplikacji. Użyj DSLink, aby wygenerować przejrzyste, głębokie linki otwierające aplikację dzięki analizom w czasie rzeczywistym.

Open Universal Links vs schemes guide

Zrozumienie różnic architektonicznych między Universal Links a schematami niestandardowymi pomaga programistom projektować odporne, wieloplatformowe systemy routingu, co sprawdziliśmy w naszym porównaniu Universal Links ze schematami URL:

Funkcja Uniwersalne linki Apple Niestandardowe schematy URI
Format adresu URL Standardowy HTTPS (https://brand.com) Zastrzeżony protokół (brand://)
Bezpieczeństwo i własność Zweryfikowano za pomocą DNS i AASA JSON Niesprawdzony; podatny na przejmowanie planów
Obsługa awaryjna Ładuje stronę internetową w przeglądarce Safari Wyświetla błąd „Safari nie może otworzyć strony”.
Szybkie zachowanie Otwiera aplikację natychmiast, bez żadnych monitów Często powoduje wyświetlenie komunikatu „Otworzyć w aplikacji?” dialogi systemowe
Obsługa przeglądarki w aplikacji Często ograniczone przez przeglądanie witryn społecznościowych Może być wyzwalany poprzez przekierowania JavaScript

Chociaż łącza uniwersalne zapewniają lepsze bezpieczeństwo i wygodę użytkownika, niestandardowe schematy są nadal często stosowane jako rezerwowe rozwiązania w przypadku uporczywych przeglądarek w aplikacjach mediów społecznościowych, co opisano szczegółowo w naszym przewodniku na temat nawigacji w przeglądarce w aplikacji.

Gdy użytkownik iPhone'a kliknie łącze w Apple Mail, Wiadomościach lub aplikacji innej firmy, iOS podejmuje precyzyjną decyzję:

  1. Wyszukiwanie w lokalnej bazie danych: iOS sprawdza lokalną, indeksowaną bazę danych zawierającą zweryfikowane domeny zapisane podczas instalacji aplikacji.
  2. Ocena ścieżki: jeśli domena jest zgodna, iOS ocenia, czy ścieżka adresu URL pasuje do wzorców zdefiniowanych w dokumencie AASA.
  3. Sprawdzanie preferencji użytkownika: iOS sprawdza, czy użytkownik wcześniej przełączył preferencje Safari, dotykając przycisku nawigacyjnego domeny w prawym górnym rogu.
  4. Natywne przekazanie: jeśli wszystkie weryfikacje zakończą się pomyślnie, iOS uruchomi natywną aplikację i przekaże obiekt NSUserActivity zawierający kliknięty adres URL do delegata aplikacji lub procedury obsługi cyklu życia SwiftUI.
  5. Awaria Safari: jeśli brakuje aplikacji, ścieżka nie jest zgodna lub domena nie została zweryfikowana, iOS uruchamia przeglądarkę Safari i normalnie pobiera stronę internetową.

Programiści mogą przetestować te przejścia routingu za pomocą naszego interaktywnego narzędzia do sprawdzania linków w celu sprawdzenia kodów odpowiedzi i mapowań domen.

Aby zapewnić bezproblemowe routing Universal Link w kampaniach marketingowych i infrastrukturze programistów, postępuj zgodnie z tymi sprawdzonymi w boju najlepszymi praktykami:

  • Nigdy nie zawijaj łączy uniwersalnych w standardowe przekierowania: jeśli łącze przechodzi przez ogólne przekierowanie 301/302 w niepowiązanej domenie, iOS przerywa łańcuch i kieruje kliknięcie do Safari. Dowiedz się więcej z naszego przewodnika dotyczącego precyzyjnych linków i narzędzia skracającego.
  • Konto dla przeglądarek społecznościowych w aplikacjach: aplikacje takie jak Instagram, TikTok i Facebook rejestrują kliknięcia w widokach internetowych w trybie piaskownicy. Korzystaj z inteligentnych, precyzyjnych linków obsługiwanych przez DSLink, które wykrywają przeglądanie sieci i wyzwalają uściski dłoni w celu ucieczki.
  • Obsługa uniwersalnych ścieżek treści: upewnij się, że natywna aplikacja mobilna i serwer internetowy mają wspólne ścieżki routingu adresów URL (np. trasy /item/123 do tego samego produktu w internecie i aplikacji).
  • Ciągle sprawdzaj składnię AASA: Użyj narzędzia sprawdzania poprawności interfejsu API wyszukiwania aplikacji firmy Apple, aby po każdym wdrożeniu serwera sprawdzić, czy plik AASA pozostaje ważny, nieuszkodzony i prawidłowo sformatowany.

Opanowując Apple Universal Links i łącząc je z wieloplatformowym inteligentnym routingiem, możesz zapewnić płynne doświadczenia mobilne, dzięki którym użytkownicy będą zanurzeni w Twoim natywnym oprogramowaniu.

Często zadawane pytania

Co to jest łącze uniwersalne w systemie iOS?

Universal Link to standardowy adres internetowy HTTPS, który Apple iOS rozpoznaje jako powiązany z zainstalowaną aplikacją, umożliwiając systemowi operacyjnemu bezpośrednie otwarcie natywnej aplikacji zamiast ładowania przeglądarki Safari.

W jaki sposób Apple sprawdza, czy aplikacja jest właścicielem domeny?

Firma Apple weryfikuje własność za pomocą pliku JSON skojarzenia z aplikacją Apple (AASA) hostowanego w domenie internetowej. iOS pobiera ten plik po zainstalowaniu aplikacji, aby sprawdzić zgodność identyfikatora aplikacji i ścieżki.

Co się stanie, jeśli użytkownik kliknie łącze uniwersalne, ale nie ma zainstalowanej aplikacji?

Jeśli aplikacja nie jest zainstalowana, iOS bezproblemowo ładuje docelową stronę internetową w przeglądarce Safari, nie wyświetlając żadnych monitów o błędach, okien dialogowych z ostrzeżeniami ani uszkodzonych ekranów.

Czy Universal Links można używać na urządzeniach z Androidem?

Nie. Universal Links to standard Apple dla systemów iOS i iPadOS. Android korzysta z równoważnej technologii zwanej Android App Links, która opiera się na weryfikacji Digital Asset Links.