Vóór iOS 9 was het navigeren tussen mobiele websites en native iPhone-applicaties een onvoorspelbare, onhandige ervaring. Ontwikkelaars vertrouwden op aangepaste URI-protocollen zoals instagram:// of mybank://. Deze plannen veroorzaakten regelmatig schokkende systeemwaarschuwingen met de vraag "Openen in app?", gingen volledig kapot als de app ontbrak en leden aan ernstige beveiligingsproblemen. Om deze fundamentele tekortkomingen op te lossen, heeft Apple Universal Links onthuld. Maar wat is een universele link, en waarom heeft deze de architectuur van mobiele software getransformeerd?

In de kern is een Universal Link een standaard, veilige HTTPS-web-URL die naadloos doorstuurt naar specifieke weergavecontrollers in een geïnstalleerde iOS-app. Als de app is geïnstalleerd, start iOS deze onmiddellijk zonder Safari te openen. Als de app ontbreekt, laadt het besturingssysteem de responsieve webpagina netjes in Safari zonder foutdialogen weer te geven. In deze technische diepgaande duik onderzoeken we de interne werking van Apple Universal Links, verkennen we het AASA-configuratiebestand en leggen we uit waarom moderne mobiele routering afhankelijk is van dit protocol.

Het begrijpen van Universal Links is van cruciaal belang voor elke iOS-ingenieur of digitale marketeer die probleemloze klanttrajecten wil bieden via e-mailcampagnes, sociale platforms en zoekresultaten van zoekmachines.

Diagram dat laat zien hoe Apple Universal Links iOS-webverzoeken rechtstreeks naar native mobiele applicaties routeert
Apple Universal Links verifieert domeinkoppelingen om geïnstalleerde apps rechtstreeks te starten en biedt tegelijkertijd een naadloze terugval naar Safari.

Om het doel van Universal Links te begrijpen, moet men de tekortkomingen van oudere aangepaste URL-schema's onderzoeken. Maatwerkregelingen hadden geen centraal register. Elke ontwikkelaar zou een app kunnen bouwen die het paypal://-schema claimt en gevoelige financiële parameters onderschept die bedoeld zijn voor een legitieme service, zoals beschreven in onze gids over mobiele URL-schema's. Bovendien, als een gebruiker zonder de app op een aangepaste schemalink in Safari klikte, gaf iOS een ernstige systeemfout weer: "Safari kan de pagina niet openen omdat het adres ongeldig is."

Apple heeft Universal Links ontwikkeld om drie cruciale operationele standaarden vast te stellen:

  • Uniekheid en veiligheid: omdat Universal Links standaard webdomeinen gebruiken (bijvoorbeeld https://dslink.me/path), kan geen enkele andere ontwikkelaar uw link claimen, tenzij zij uw geverifieerde DNS-records en SSL-certificaten beheren.
  • Frictieloze terugval: als een iPhone-gebruiker uw app niet heeft geïnstalleerd, opent exact dezelfde URL automatisch uw mobiele website in Safari. Er zijn geen verbroken koppelingen en geen foutmeldingen.
  • Eén identiteit: marketeers en ontwikkelaars hoeven slechts één enkele URL te delen die zowel webbezoekers op desktopcomputers als native app-gebruikers op mobiele apparaten bedient.

Dit ontwerp loste ook problemen op waarbij een link werd geopend in Safari in plaats van in de app vanwege verbroken protocoloverdrachten.

De architectuur van Apple App Site Association (AASA)

De operationele basis van Universal Links is een veilige handshake tussen het besturingssysteem van Apple en uw webserver. Deze handdruk wordt tot stand gebracht door het Apple App Site Association (AASA)-bestand, een JSON-document dat wordt gehost op:

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

Dit bestand definieert welke applicatie-ID's specifieke URL-paden in uw domein mogen verwerken. Hier is een voorbeeld van moderne AASA JSON-opmaak:

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

De belangrijkste technische hostingregels zijn van toepassing op het AASA-bestand:

  • Het moet worden aangeboden via HTTPS met een vertrouwd SSL-certificaat.
  • Het moet een Content-Type van application/json retourneren.
  • Het moet een HTTP 200 OK-statuscode retourneren zonder enige HTTP-naar-HTTPS-omleidingen.
  • Apple bewaart dit bestand in het cachegeheugen van zijn Content Delivery Network (CDN); Het kan enige tijd duren voordat wijzigingen die op uw server zijn aangebracht, op alle iOS-apparaten zijn doorgevoerd.

Creëer binnen enkele seconden een slimme deep link

Voorkom dat mobiele bezoekers verloren gaan aan onhandige in-app-inlogschermen in de browser. Gebruik DSLink om schone, app-openende deep links te genereren met realtime analyses.

Open Universal Links vs schemes guide

Door de architecturale verschillen tussen Universele Links en aangepaste schema's te begrijpen, kunnen ontwikkelaars veerkrachtige platformonafhankelijke routeringssystemen ontwerpen, zoals onderzocht in onze vergelijking van Universele Links versus URL-schema's:

Functie Apple Universele Links Aangepaste URI-schema's
URL-formaat Standaard HTTPS (https://brand.com) Eigen protocol (merk://)
Beveiliging & Eigendom Geverifieerd via DNS en AASA JSON Niet geverifieerd; vatbaar voor het kapen van plannen
Terugval Afhandeling Laadt de website netjes in Safari Geeft de foutmelding 'Safari kan pagina niet openen' weer
Snel gedrag Opent de app onmiddellijk zonder aanwijzingen Activeert vaak "Openen in app?" systeemdialogen
Ondersteuning voor browsers in de app Vaak beperkt door sociale webviews Kan worden geactiveerd via JavaScript-omleidingen

Hoewel Universal Links superieur zijn wat betreft veiligheid en gebruikerservaring, worden aangepaste schema's nog steeds vaak onderhouden als back-up-fallback bij het omgaan met hardnekkige in-app-browsers op sociale media, gedetailleerd in onze handleiding over in-app browsernavigatie.

Wanneer een iPhone-gebruiker op een link in Apple Mail, Berichten of een app van derden tikt, voert iOS een nauwkeurige besluitvormingsworkflow uit:

  1. Lokale database opzoeken: iOS controleert de lokaal geïndexeerde database van geverifieerde domeinen die zijn opgeslagen tijdens de installatie van de app.
  2. Padevaluatie: als het domein overeenkomt, evalueert iOS of het URL-pad overeenkomt met de patronen die zijn gedefinieerd in het AASA-document.
  3. Controle van gebruikersvoorkeuren: iOS controleert of de gebruiker eerder de Safari-voorkeur heeft gewijzigd door op de broodkruimelknop rechtsboven in het domein te tikken.
  4. Native handoff: als alle controles slagen, start iOS de native app en geeft een NSUserActivity-object met de aangeklikte URL door aan de applicatieafgevaardigde of SwiftUI-levenscyclushandler.
  5. Safari fallback: als de app ontbreekt, het pad niet overeenkomt of het domein niet geverifieerd is, start iOS Safari en haalt de webpagina normaal op.

Ontwikkelaars kunnen deze routeringsovergangen testen met behulp van onze interactieve link checker-tool om responscodes en domeintoewijzingen te verifiëren.

Om een vlekkeloze Universal Link-routering in uw marketingcampagnes en ontwikkelaarsinfrastructuur te garanderen, moet u zich aan deze beproefde best practices houden:

  • Verpak universele links nooit in standaardomleidingen: als een link via een generieke 301/302-omleiding op een niet-geassocieerd domein loopt, verbreekt iOS de keten en stuurt de klik naar Safari. Lees meer in onze handleiding voor deep links versus verkorters.
  • Account voor sociale in-app-browsers: Apps zoals Instagram, TikTok en Facebook leggen klikken vast in webweergaven in een sandbox. Gebruik slimme deep links, mogelijk gemaakt door DSLink, die de webweergave detecteren en intentiehanddrukken activeren om te ontsnappen.
  • Ondersteun universele inhoudspaden: zorg ervoor dat uw eigen mobiele app en uw webserver consistente URL-routeringspaden delen (bijvoorbeeld /item/123 routes naar hetzelfde product op zowel internet als in de app).
  • AASA-syntaxis continu valideren: gebruik de App Search API-validatietool van Apple om te verifiëren dat uw AASA-bestand na elke serverimplementatie geldig, onbeschadigd en correct geformatteerd blijft.

Door Apple Universal Links onder de knie te krijgen en deze te koppelen aan slimme routering op meerdere platforms, levert u probleemloze mobiele ervaringen waardoor uw gebruikers ondergedompeld blijven in uw eigen software.

Veelgestelde vragen

Wat is een universele link in iOS?

Een Universal Link is een standaard HTTPS-webadres dat door Apple iOS wordt herkend als gekoppeld aan een geïnstalleerde app, waardoor het besturingssysteem de native app rechtstreeks kan openen in plaats van Safari te laden.

Hoe verifieert Apple dat een app eigenaar is van een domein?

Apple verifieert het eigendom via het Apple-app-site-association (AASA) JSON-bestand dat op het webdomein wordt gehost. iOS downloadt dit bestand tijdens de app-installatie om de overeenkomsten tussen app-ID en pad te verifiëren.

Wat gebeurt er als een gebruiker op een Universele Link klikt, maar de app niet heeft geïnstalleerd?

Als de app niet is geïnstalleerd, laadt iOS de doelwebpagina naadloos in Safari zonder dat er foutmeldingen, waarschuwingsdialogen of kapotte schermen worden weergegeven.

Kunnen Universal Links worden gebruikt op Android-apparaten?

Nee. Universal Links is een Apple-specifieke iOS- en iPadOS-standaard. Android gebruikt een gelijkwaardige technologie genaamd Android App Links, die afhankelijk is van verificatie van Digital Asset Links.