iOS 9'dan önce, mobil web siteleri ile yerel iPhone uygulamaları arasında gezinmek öngörülemez ve hantal bir deneyimdi. Geliştiriciler, instagram:// veya mybank:// gibi özel URI protokollerine güveniyordu. Bu şemalar sıklıkla "Uygulamada Açılacak mı?" gibi rahatsız edici sistem uyarılarını tetikliyor, uygulama eksikse tamamen çökmekte ve ciddi güvenlik açıklarına sahip oluyordu. Bu temel kusurları çözmek için Apple Evrensel Bağlantıları tanıttı. Peki, evrensel bağlantı nedir ve mobil yazılım mimarisini neden dönüştürdü?

Özünde, Universal Link, yüklü bir iOS uygulaması içindeki belirli görünüm denetleyicilerine sorunsuzca yönlendiren standart, güvenli bir HTTPS web URL'sidir. Uygulama yüklüyse, iOS Safari’yi açmadan onu anında başlatır. Uygulama eksikse, işletim sistemi hata diyalogları göstermeden uyumlu web sayfasını Safari’de nazikçe yükler. Bu teknik derinlemesine incelemede, Apple Universal Link’lerinin iç işleyişini inceliyor, AASA yapılandırma dosyasını keşfediyor ve modern mobil yönlendirmenin neden bu protokole dayandığını açıklıyoruz.

Evrensel Bağlantıları anlamak, e-posta kampanyalarından, sosyal platformlardan ve arama motoru sonuçlarından sorunsuz müşteri yolculukları sunmayı hedefleyen herhangi bir iOS mühendisi veya dijital pazarlamacı için çok önemlidir.

Apple Evrensel Bağlantılarının iOS web isteklerini doğrudan yerel mobil uygulamalara nasıl yönlendirdiğini gösteren diyagram
Apple Evrensel Bağlantıları, kurulu uygulamaları doğrudan başlatmak için alan adı ilişkilerini doğrular ve sorunsuz bir şekilde Safari'ye geri dönüş sağlar.

Evrensel Bağlantıların amacını anlamak için, eski özel URL şemalarının eksikliklerini incelemek gerekir. Özel şemaların merkezi bir kaydı yoktu. Her geliştirici, meşru bir hizmet için tasarlanmış hassas finansal parametreleri engelleyebilecek paypal:// şemasını talep eden bir uygulama oluşturabilirdi; bu, bizim mobil URL şemaları rehberimizde ayrıntılarıyla açıklanmıştır. Ayrıca, bir kullanıcı uygulamaya sahip değilse ve Safari'de bir özel şema bağlantısına tıklarsa, iOS sert bir sistem hatası gösterirdi: "Safari sayfayı açamıyor çünkü adres geçersiz."

Apple, Evrenel Bağlantılar için üç kritik operasyonel standart oluşturmak üzere tasarladı:

  • Benzersizlik ve güvenlik: Universal Links standart web alan adlarını kullandığı için (ör. https://dslink.me/path), başka hiçbir geliştirici sizin linkinizi talep edemez, yalnızca doğrulanmış DNS kayıtlarınızı ve SSL sertifikalarınızı kontrol ediyorlarsa.
  • Sürtünmesiz yedekleme: Bir iPhone kullanıcısı uygulamanızı yüklememişse, tam olarak aynı URL otomatik olarak mobil web sitenizi Safari'de açar. Kırık linkler veya hata uyarıları yoktur.
  • Tek kimlik: Pazarlamacıların ve geliştiricilerin, hem masaüstü bilgisayarlardaki web ziyaretçilerine hem de mobil cihazlardaki yerel uygulama kullanıcılarına hizmet veren tek bir URL paylaşmaları yeterlidir.

Bu tasarım ayrıca bozuk protokol devretmeleri nedeniyle bir linkin uygulama yerine Safari’de açılmasına yol açan sorunları da çözdü.

Apple Uygulama Site Birliği (AASA) mimarisi

Evrensel Bağlantıların operasyonel temeli, Apple'ın işletim sistemi ile web sunucunuz arasında güvenli bir el sıkışmadır. Bu el sıkışma, şurada barındırılan bir JSON belgesi olan Apple App Site Association (AASA) dosyası tarafından aracılık edilir:

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

Bu dosya, hangi uygulama kimliklerinin alanınızdaki belirli URL yollarını işleyebileceğini tanımlar. İşte modern AASA JSON biçimlendirmesine bir örnek:

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

Temel teknik barındırma kuralları AASA dosyasına uygulanır:

  • Güvenilir bir SSL sertifikası ile HTTPS üzerinden sunulmalıdır.
  • Bir Content-Type değerinin application/json olması gerekir.
  • Herhangi bir HTTP'den HTTPS'ye yönlendirme olmadan HTTP 200 OK durum kodu döndürmelidir.
  • Apple bu dosyayı İçerik Dağıtım Ağı (CDN) üzerinde önbelleğe alır; sunucunuzda yapılan değişikliklerin tüm iOS cihazlarına yayılması biraz zaman alabilir.

Bir akıllı derin bağlantıyı saniyeler içinde oluşturun

Hantal uygulama içi tarayıcı giriş ekranlarına mobil ziyaretçileri kaybetmeyi bırakın. DSLink kullanarak temiz, uygulamayı açan derin bağlantılar oluşturun ve gerçek zamanlı analizler elde edin.

Open Universal Links vs schemes guide

Evrensel Bağlantılar ile özel şemalar arasındaki mimari farkları anlamak, geliştiricilerin sağlam çapraz platform yönlendirme sistemleri tasarlamasına yardımcı olur; bunu Evrensel Bağlantılar ve URL şemaları karşılaştırmasımızda inceledik:

Özellik Apple Evrensel Bağlantıları Özel URI Şemaları
URL Formatı Standart HTTPS (https://brand.com) Özel protokol (brand://)
Güvenlik ve Sahiplik DNS ve AASA JSON üzerinden doğrulandı Doğrulanmamış; şema kaçırılmasına eğilimli
Yedekleme İşlemi Web sitesini Safari'de sorunsuz bir şekilde yükler “Safari sayfayı açamıyor” hatasını gösterir
İstem Davranışı Uygulamayı hiçbir uyarı vermeden hemen açar Sıklıkla 'Uygulamada Aç?' sistem diyaloglarını tetikler
Uygulama İçi Tarayıcı Desteği Sıklıkla sosyal web görünümleri tarafından kısıtlanır JavaScript yönlendirmeleri ile tetiklenebilir

Evrensel Bağlantılar güvenlik ve kullanıcı deneyimi açısından üstün olmasına rağmen, özel şemalar hâlâ inatçı sosyal medya uygulama içi tarayıcılarla uğraşırken yedek olarak sıklıkla kullanılmaktadır; bu, uygulama içi tarayıcı navigasyonu rehberimizde detaylandırılmıştır.

Bir iPhone kullanıcısı Apple Mail, Mesajlar veya üçüncü taraf bir uygulamada bir bağlantıya dokunduğunda, iOS kesin bir karar iş akışını uygular:

  1. Yerel veritabanı araması: iOS, uygulama yüklenirken saklanan doğrulanmış alan adlarının yerel indekslenmiş veritabanını kontrol eder.
  2. Yol değerlendirmesi: Eğer alan adı eşleşiyorsa, iOS URL yolunun AASA belgesinde tanımlanan desenlerle eşleşip eşleşmediğini değerlendirir.
  3. Kullanıcı tercih kontrolü: iOS, kullanıcının daha önce sağ üstteki alan adı kırıntısı düğmesine dokunarak Safari tercihlerini değiştirip değiştirmediğini kontrol eder.
  4. Yerel devretme: Tüm kontroller geçerse, iOS yerel uygulamayı başlatır ve tıklanan URL'yi içeren bir NSUserActivity nesnesini uygulama delegesine veya SwiftUI yaşam döngüsü yöneticisine iletir.
  5. Safari yedekleme: Uygulama eksikse, yol eşleşmiyorsa veya alan adı doğrulanmamışsa, iOS Safari'yi başlatır ve web sayfasını normal şekilde alır.

Geliştiriciler, yanıt kodlarını ve alan adı eşlemelerini doğrulamak için etkileşimli link kontrol aracımızı kullanarak bu yönlendirme geçişlerini test edebilirler.

Pazarlama kampanyalarınız ve geliştirici altyapınız genelinde kusursuz Universal Link yönlendirmesini sağlamak için, bu savaşta test edilmiş en iyi uygulamalara uyun:

  • Evrenel Bağlantıları standart yönlendirmelerle sarmayın: Bir bağlantı, ilişkilendirilmemiş bir alan adında genel bir 301/302 yönlendirmesinden geçerse, iOS zinciri kırar ve tıklamayı Safari’ye yönlendirir. Daha fazla bilgi için derin bağlantı ve kısa URL rehberimize göz atın.
  • Sosyal uygulama içi tarayıcıları dikkate alın: Instagram, TikTok ve Facebook gibi uygulamalar tıklamaları sandbox içinde çalışan webview'lerde yakalar. Webview'i algılayan ve kaçış için intent el sıkışmalarını tetikleyen DSLink ile desteklenen akıllı derin bağlantılar kullanın.
  • Evrensel içerik yollarını destekleyin: Yerel mobil uygulamanız ve web sunucunuzun tutarlı URL yönlendirme yollarını paylaştığından emin olun (ör. /item/123 hem web hem de uygulamada aynı ürüne yönlendirir).
  • AASA sözdizimini sürekli doğrulayın: Her sunucu dağıtımından sonra AASA dosyanızın geçerli, bozulmamış ve doğru şekilde biçimlendirilmiş olduğunu doğrulamak için Apple'ın Uygulama Arama API Doğrulama Aracını kullanın.

Apple Evrensel Bağlantılarını ustalıkla kullanarak ve bunları çok platformlu akıllı yönlendirme ile eşleştirerek, kullanıcılarınızı yerel yazılımınızda sürekli meşgul tutan sorunsuz mobil deneyimler sunarsınız.

Sık sorulan sorular

iOS'ta Evrensel Bağlantı nedir?

Evrensel Bağlantı, Apple iOS tarafından yüklü bir uygulama ile ilişkilendirilmiş olarak tanınan standart bir HTTPS web adresidir ve işletim sisteminin Safari'yi yüklemek yerine doğrudan yerel uygulamayı açmasını sağlar.

Apple bir uygulamanın bir domaine sahip olduğunu nasıl doğrular?

Apple, mülkiyeti web alanında barındırılan apple-app-site-association (AASA) JSON dosyası aracılığıyla doğrular. iOS, uygulama yüklenirken App ID ve yolun eşleşip eşleşmediğini doğrulamak için bu dosyayı indirir.

Bir kullanıcı Evrensel Bağlantıya tıklarsa ancak uygulama yüklü değilse ne olur?

Uygulama yüklü değilse, iOS herhangi bir hata uyarısı, uyarı penceresi veya bozuk ekran göstermeden hedef web sayfasını Safari'de sorunsuz bir şekilde yükler.

Evrensel Bağlantılar Android cihazlarda kullanılabilir mi?

Hayır. Evrensel Bağlantılar, Apple'a özgü bir iOS ve iPadOS standardıdır. Android, Dijital Varlık Bağlantıları doğrulamasına dayanan Android Uygulama Bağlantıları adlı bir eşdeğer teknoloji kullanır.