Mobil deep link, App Link ve Universal Link 2026 itibarıyla bir uygulamanın pazarlama, SEO ve kullanıcı deneyimi mimarisindeki tek karşılayıcı katmandır. AppsFlyer’ın 2026 State of Mobile App Marketing raporuna göre Universal Link veya App Link tabanlı kampanyaların ortalama dönüşüm oranı yalnızca app store yönlendirmesi yapanlara kıyasla 3,4 kat, deferred deep link ile zenginleştirilmiş akışların aktivasyon oranı ise 2,1 kat yüksektir. Branch.io’nun 2025 Q4 Mobile Linking raporu, doğru routing katmanı kuran uygulamaların 30 günlük retention’ında ortalama %28 artış kaydetmektedir. Apple’ın WWDC 2025 oturumlarında duyurduğu Associated Domains v2 yenilemesi ve Android 14/15’in App Links 2.0 doğrulama akışı, deep link mimarisini iki yıl içinde kökten yeniden şekillendirdi. Bu rehber özel şema, Universal Link, App Link, deferred deep link ve attribution stratejisini tek bir uygulanabilir karar çerçevesi içinde sunar.
Aşağıdaki bölümlerde önce kavramsal farkları netleştiriyor, ardından iOS ve Android tarafındaki ilişki dosyalarını (apple-app-site-association ve assetlinks.json), deferred deep linking iş akışını, MMP karşılaştırmasını (Branch, AppsFlyer, Adjust, Firebase Dynamic Links migrasyonu), fallback senaryolarını, QA matrisini ve 2026’ya özgü güvenlik, gizlilik ve gözlemlenebilirlik gereksinimlerini detaylandırıyoruz. Sonunda e-ticaret, pazarlama ağırlıklı SaaS ve B2B SaaS senaryoları için yığın önerisi sunulmaktadır.
Deep Link, Universal Link ve App Link Arasındaki Fark
Deep link, kullanıcıyı uygulamanın belirli bir ekranına (ürün detayı, sepet, profil, paylaşılan içerik) yönlendiren herhangi bir tıklanabilir hedeftir. Üst başlık olarak deep link altında üç teknik aile bulunur: özel URI şeması (custom scheme), iOS Universal Link ve Android App Link. Apple’ın Universal Links: A Modern Strategy oturumunda altı çizilen üç ilke (otomatik web fallback, domain sahipliği doğrulaması, sessiz routing) hem Universal Link hem de App Link ortak temelidir. Custom scheme ise hala bazı durumlarda gereklidir; ancak başlangıç noktası olarak değil, fallback olarak konumlanmalıdır.
2026’nın yeni sertifikasyon politikaları çerçevesinde Google Play, autoVerify=”true” tanımlı App Links olmadan yayınlanan uygulamaları artık warning ile işaretlemektedir; Apple Developer Program tarafında ise iOS 19 SDK’sı ile derlenen yeni sürümler Universal Link entitlement’ı eksik olduğunda incelemeden geri dönmektedir. Bu yüzden mimari karar artık opsiyonel değildir; doğru link tipini ilk gün seçmek ürünün yayın yaşam döngüsünü doğrudan etkiler.
| Özellik | Custom Scheme | Universal Link (iOS) | App Link (Android) | Deferred Deep Link |
|---|---|---|---|---|
| Platform | iOS + Android | iOS 9 ve sonrası | Android 6 ve sonrası | iOS + Android |
| URL formatı | myapp://yol | https://alanadi.com/yol | https://alanadi.com/yol | HTTPS + parametre |
| Web fallback | Yok | Otomatik | Otomatik | Var, SDK yönetir |
| Domain doğrulama | Yok | AASA dosyası | assetlinks.json | SDK + domain |
| Güvenlik seviyesi | Düşük (çalınabilir) | Yüksek | Yüksek | SDK politikasına bağlı |
| 2026 üretim önerisi | Yalnızca dahili / fallback | Standart | Standart | Pazarlama kampanyaları |
Mimari kararı sadeleştirmek için: dış kullanıcıya ulaşan her bağlantı Universal Link veya App Link olmalıdır; custom scheme yalnızca uygulama içi router, intra-app navigation veya legacy entegrasyonlarda yedek olarak bırakılmalıdır. Native mobil tarafta yığını yeni kuruyorsanız iOS native vs cross-platform 2026 karşılaştırması ve React Native vs Flutter 2026 değerlendirmesi link katmanını teknoloji seçimi ile birlikte planlamayı kolaylaştırır.
iOS Tarafı: apple-app-site-association Dosyası
iOS’ta Universal Link, etki alanınızın kök dizininde /.well-known/apple-app-site-association (AASA) dosyasını gerektirir. Bu dosya bir JSON belgesidir, MIME tipi application/json, içerik HTTPS üzerinden 200 OK olarak yanıtlanmalıdır. WWDC 2025’te Apple, AASA cache’ini Apple CDN üzerinden ortalama 24-72 saat olarak duyurdu; ancak iOS 17.4’ten itibaren sistem cihaz başına da bir cache tutmakta ve aplikasyon ilk açıldığında yenilemektedir. Bu nedenle entitlement değişikliği yapılan büyük sürümlerde QA pencereniz mutlaka 72 saati aşmalıdır.
AASA dosyasındaki applinks bloğu, hangi yol kalıplarının hangi App ID’ye eşleneceğini belirler. Apple, “components” tabanlı yeni biçimi (eski paths array’inin yerine) öneriyor; ?, #, exclude ve caseSensitive alanları ile çok daha hassas kurallar yazabilirsiniz. Dosyanın doğru biçimde sunulduğunu Apple’ın Supporting Associated Domains belgesindeki adımlarla ve swcutil verbose dl --url ... CLI çıktısıyla doğrulayın.
- Dosya yolu: https://alanadi.com/.well-known/apple-app-site-association (yönlendirme veya 301 yok)
- İçerik tipi: application/json, gzip serbest, boyut 128 KB altında
- App ID formatı: TEAMID.com.sirket.app
- Pattern stratejisi: tek tek statik yol yerine components blokları ile parametre filtreleme
- Cache başlığı: max-age 3600 ile 21600 arası, CDN edge düşük TTL
- Test: swcutil, Apple CDN cache URL, Console.app cihaz logları

Android Tarafı: assetlinks.json ve App Links 2.0
Android tarafında karşılığı /.well-known/assetlinks.json dosyasıdır. Bu da bir JSON belgesidir, MIME application/json, içerik açık metin olmalıdır. relation alanı delegate_permission/common.handle_all_urls olarak ayarlanır; target içinde paket adı (com.sirket.app) ve sha256_cert_fingerprints dizisi yer alır. Android 14 ile birlikte gelen App Links 2.0 doğrulaması, autoVerify “true” işaretli her host için Google sunucularından bağımsız bir paralel doğrulama daha çalıştırır ve sertifika değişikliklerine 24 saat içinde reaksiyon verir.
Manifest tarafında intent-filter bloğu, android:autoVerify="true", data android:scheme="https" ve android:host="alanadi.com" tanımlarını içermelidir. Birden fazla host (alanadi.com, m.alanadi.com, ck.alanadi.com) varsa hepsi tek bir intent-filter altında listelenmelidir; aksi halde doğrulama hepsi-veya-hiçbiri kuralıyla başarısız olur. Google’ın App Links Verification rehberi ve adb shell pm get-app-links com.sirket.app komutu üretim öncesi vazgeçilmez doğrulama araçlarıdır.
| Konfigürasyon | iOS Universal Link | Android App Link |
|---|---|---|
| İlişki dosyası | /.well-known/apple-app-site-association | /.well-known/assetlinks.json |
| MIME tipi | application/json | application/json |
| Domain sahipliği | Team ID + Bundle ID | Paket adı + SHA-256 sertifika parmak izi |
| Cache stratejisi | Apple CDN, 24-72 saat | Google Verification + cihaz cache |
| Entitlement / manifest | Associated Domains: applinks:alanadi.com | intent-filter + autoVerify=”true” |
| Pattern desteği | components: path, query, fragment | pathPattern, pathPrefix, host |
| Doğrulama aracı | swcutil, AASA Validator, Console.app | App Links Assistant, adb pm get-app-links |
Deferred Deep Link Mimarisi
Deferred deep linking, kullanıcının tıkladığı hedefe uygulamayı yeni kurduktan sonra da ulaşmasını sağlar. Klasik akışta kullanıcı bir reklamda promosyon ürününe tıklar, App Store’a gider, uygulamayı kurar, açar ve ana ekranı görür. Pazarlama bağlamı tamamen kaybolur. Deferred akış, tıklama anında MMP SDK’sının saklanmış bir bağlamı (clipboard sinyalleri, Install Referrer, probabilistic eşleştirme) üzerinden kullanıcıyı ilk açılışta promosyon ürününe taşır.
2026’da gizlilik kuralları nedeniyle Branch, AppsFlyer ve Adjust bu eşleştirmeyi üç katmanlı bir yığın üzerinde gerçekleştirir: (1) Apple Search Ads Attribution / Android Install Referrer kaynaklı deterministic kanıtlar, (2) SKAdNetwork 4.0 ve Privacy Sandbox postback’lerinden gelen agregat sinyaller, (3) sınırlandırılmış probabilistic eşleştirme. Bu yığın AppsFlyer’ın resmi blogunda “Total Attribution” başlığı altında belgelenmektedir.

| Aşama | Tıklama Anı | Store Yönlendirmesi | İlk Açılış | Hedef Ekran |
|---|---|---|---|---|
| Olay | Reklamdaki Universal/App Link tıklanır | Cihaz uygun store sayfasına gider | Kullanıcı uygulamayı ilk kez açar | SDK router devreye girer |
| SDK işi | Tıklama parametrelerini saklar | Yok (OS düzeyinde) | Install referrer + sinyalleri okur | Bağlamı state’e yazar |
| Attribution sinyali | device fingerprint, IP, referrer | SKAdNetwork postback | Eşleştirme algoritması | Konversiyon olayı |
| Risk | Reklam engelleyici | Store gecikmesi | SDK init süresi | Yanlış router state |
| Önlem | Yedek QR + fallback URL | Pre-warm metnine bağlam yazımı | SDK init’i splash’tan önce çalıştır | State guards, telemetri |
Attribution Platformları: Branch, AppsFlyer, Adjust ve Firebase Migrasyonu
Firebase Dynamic Links, 2025 Q3 itibarıyla resmi olarak kullanımdan kaldırıldı; mevcut bağlantılar 2026 sonuna kadar çalışmaya devam etse de yeni proje açmak mümkün değil. Google’ın Dynamic Links Deprecation SSS’i migrasyon önerilerini Branch, AppsFlyer ve Adjust olarak listeliyor. Bu üçü farklı önceliklere sahiptir ve karar matrisini yığınınızın geri kalanı belirler.
| Platform | Güçlü Yön | Ücretsiz Katman | Avrupa / GDPR | Deep Link Olgunluğu | Tipik Senaryo |
|---|---|---|---|---|---|
| Branch.io | Deep link altyapısında pazar lideri | Aylık 10K MAU’ya kadar | EU veri merkezi opsiyonel | Çok yüksek | E-ticaret, içerik paylaşımı, referral |
| AppsFlyer | Geniş ortak ekosistemi ve raporlama | Aylık 12K dönüşüme kadar | EU region desteği | Yüksek | Performans pazarlaması, küresel kampanya |
| Adjust | Avrupa pazarı ve fraud koruması | Test ortamı sınırlı | Berlin merkezli, GDPR varsayılan | Yüksek | EU odaklı SaaS ve mobil oyun |
| Firebase Dynamic Links | Geçmiş entegrasyonlar | Kapatıldı | — | Eskimiş | Migrasyon zorunlu |
Migrasyon hattını planlarken iki paralel kanal kurmak gerekir: yeni bağlantılar yeni MMP üzerinden üretilir, eski Firebase Dynamic Links bağlantıları HTTP 301 ile yeni provider’a redirect edilir. Branch ve AppsFlyer hem URL şeması hem subdomain (örn. link.alanadi.com) tabanlı çözüm sunar; pazarlama domain’inizi MMP’ye CNAME etmeniz, link önizlemelerinde marka tutarlılığı sağlar. Branch.io dokümantasyonu ve Adjust Help Center SDK entegrasyon adımlarını detaylandırır.
Fallback Akışı ve Hata Senaryoları
Deep link akışında en kritik 200 ms, kullanıcı tıkladığında uygulamanın açılıp açılmadığının belirlendiği penceredir. Doğru fallback akışı bu pencerede ne yapılacağını netleştirir. Standart akış: önce OS’a Universal/App Link verilir, OS uygulamayı 200-400 ms içinde açmazsa zarif bir web sayfasına düşülür, kullanıcı hala uygulamayı kuramamışsa store yönlendirmesi devreye girer. In-app browser senaryoları (Instagram, Facebook, TikTok, WhatsApp) en sık hata kaynağıdır; bunlar çoğu zaman OS routing’ini engeller ve kendi içlerinde gezinmeye zorlar.
| Senaryo | Uygulama Yüklü mü? | Tarayıcı | Beklenen Akış | Risk |
|---|---|---|---|---|
| S1 | Evet, açık | Safari / Chrome | Universal/App Link uygulamayı açar | Düşük |
| S2 | Evet, kapalı | Safari / Chrome | OS uygulamayı warm-start eder | Splash gecikmesi |
| S3 | Hayır | Safari / Chrome | Web fallback + smart banner + store linki | Bağlam kaybı |
| S4 | Hayır | Instagram / Facebook in-app | Sistem tarayıcısına çıkışı zorla | Bağlantı kopması |
| S5 | Evet, eski sürüm | Chrome | Force-update + parametre koruma | Router bilinmeyen route |
| S6 | Hayır, MMP devre dışı | Tüm | HTML fallback sayfası + manuel kopya | Attribution kaybı |
Üretim sürümlerinde her senaryoyu otomatik test setine bağlamak gerekir; mobil CI/CD hattınızda bu testleri çalıştırmak için mobil CI/CD: Fastlane, Bitrise ve App Center karşılaştırması rehberindeki nightly QA pipeline’ını referans alabilirsiniz.
Privacy, ATT ve SKAdNetwork 4.0 Etkisi
Apple’ın App Tracking Transparency (ATT) çerçevesi ve SKAdNetwork 4.0 (SKAN 4) postback yapısı, deterministic attribution’ı sınırlandırdı. Branch.io’nun 2025 raporuna göre ATT opt-in oranı küresel ortalamada %32 seviyesine yerleşti; bu da klasik deterministic deep link eşleştirmesinin teorik tavanını otomatik olarak %32’ye çekiyor. Geriye kalan %68 için SKAN 4 postback’leri, agregat dönüşüm değeri (conversion value) ve probabilistic eşleştirme kombinasyonu kullanılır.
Android tarafında Google’ın Privacy Sandbox’ı (Topics API, Attribution Reporting API) 2026’da varsayılan açılır hale geldi; Play Console’da yayın yapan uygulamaların raporlama panellerinde Privacy Sandbox postback’leri görünür. Google Play Console bu sinyalleri MMP’ler ile paylaşmak için ortak bir SDK setine kavuştu. Pratik tavsiye: deterministic ve probabilistic verileri ayrı ayrı raporlayın, KPI’larda hangisinin baskın olduğunu açıkça not edin.

QA Matrisi, Gözlemlenebilirlik ve Operasyonel Süreç
Deep link mimarisi, üretim sonrası gözlemlenebilirlik olmadan iki hafta içinde bozulur. AASA cache yenilemeleri, sertifika imza değişiklikleri, yeni Android sürümleri, in-app browser güncellemeleri her ay yeni regresyonlar getirir. Doğru kurulum, link açılış başarı oranını ve fallback dağılımını gerçek zamanlı izleyen bir dashboard ile başlar. Crash reporting altyapınızla birleştirildiğinde, link açılış öncesi yaşanan ANR’ları ve splash crash’lerini hızlı tespit edebilirsiniz; mobil crash reporting Sentry vs Bugsnag rehberi bu entegrasyonu detaylandırır.
- Smoke testler: Her sürümde 6 senaryo (yüklü-açık, yüklü-kapalı, yüklü değil, in-app browser, yüklü eski sürüm, MMP devre dışı)
- Sentetik linkler: Üretimde dakikada bir tetiklenen synthetic link probe’ları, açılma süresi p95 raporu
- Dashboard: Link tıklama, açılma, fallback dağılımı, kurulum, aktivasyon, ilk satın alma
- Alert: AASA 200 OK olmadığında, assetlinks sertifika değiştiğinde otomatik PagerDuty
- Versiyonlama: Router şemasını semver ile yönet, eski URL’leri 12 ay geriye dönük destekle
- Test cihaz havuzu: Firebase Test Lab veya BrowserStack ile farklı OS / üretici kombinasyonları
Operasyonel süreçte bir başka kritik nokta, link telemetrisinin pazarlama ekibine de açık olmasıdır. Universal Link veya App Link açıldığında kullanıcının hangi pazarlama kanalından, hangi creative üzerinden ve hangi UTM parametre setiyle geldiğini takip edebilen bir tek-tablo yapısı (data warehouse + dbt modelleri) kampanya iterasyonunu hızlandırır. API ve webhook tarafıyla derinleşmek için API entegrasyon rehberi (REST, GraphQL, webhook) bağlantı verisinin downstream sistemlere taşınmasında referans alınabilir.
Olay tabanlı (event-driven) bir telemetri kurgusunda her tıklama, OS açılış denemesi, fallback dağılımı, install referrer ve aktivasyon olayı kafkaya veya pub/sub’a yazılır; downstream tüketiciler hem pazarlama hem ürün dashboard’larını besler. Statista’nın 2025 Mobile Usage raporuna göre küresel akıllı telefon kullanım süresinin %88’i in-app gerçekleşmektedir; bu da deep link katmanının kapsadığı yüzeyin neden bu kadar geniş olduğunu açıklar. Telemetrinin SLA hedefi p95 1 saniyenin altında veri akışı, p99 5 saniyenin altında dashboard güncellemesi olmalıdır; aksi halde kampanya kararları geriden gelir.
Senaryo Bazlı Yığın Önerileri
Deep link mimarisi senaryoya göre belirgin farklılaşır. E-ticaret, marketing-led büyüme yapan SaaS ve B2B SaaS için pratik referans yığınlar aşağıdaki tabloda özetlenmektedir.
| Senaryo | Link Tipi | MMP | Fallback | Ana KPI | Risk Odakları |
|---|---|---|---|---|---|
| E-ticaret (B2C) | Universal Link + App Link + Deferred | Branch | Ürün sayfası + smart banner | Aktivasyon, ilk satın alma süresi | In-app browser, sepet bağlamı |
| Marketing-led SaaS | Universal Link + Deferred | AppsFlyer | Onboarding landing + magic link | Trial dönüşümü, weekly retention | Attribution gecikmesi |
| B2B SaaS | Universal Link + Custom Scheme (intra-app) | Adjust veya in-house | SSO landing + e-posta magic link | SSO başarı oranı | Kurumsal MDM cihaz politikaları |
| Mobil oyun | Universal Link + App Link + Deferred | Adjust veya AppsFlyer | Reward gateway sayfası | Day 1 retention, ARPDAU | Fraud, reward farming |

Sık Sorulan Sorular
Universal Link ve App Link aynı URL’i kullanabilir mi?
Evet, modern yığında ideal yaklaşım da budur. Aynı https://alanadi.com/p/sku URL’i hem iOS’ta Universal Link olarak çalışmalı (AASA dosyasında components ile eşlenmeli) hem de Android’de App Link olarak doğrulanmalıdır. Bu sayede pazarlama ekibi tek bir bağlantı üretir, platform farkını OS hallederek kullanıcıyı doğru uygulamaya yönlendirir. Web fallback ise her iki cihazda da aynı ürün sayfasına düşer ve SEO için Google’a tek bir kanonik URL sunar.
Firebase Dynamic Links’ten Branch veya AppsFlyer’a migrasyon ne kadar sürer?
Tipik 3-5 kişilik mobil ekipte teknik migrasyon 4-6 hafta sürer: 1 hafta MMP hesabı, domain konfigürasyonu ve AASA/assetlinks güncellemesi, 2 hafta SDK entegrasyonu (iOS + Android), 1 hafta deferred deep link akışları, 1 hafta paralel test ve raporlama doğrulaması. Eski Firebase Dynamic Links bağlantılarını CNAME veya 301 ile yeni hizmete yönlendirmek, kullanıcı tarafında bir kesinti yaşanmadan geçişi tamamlamanın anahtarıdır.
Deferred deep link gizlilik kuralları nedeniyle güvenilir mi?
Doğru kurulduğunda evet. Branch ve AppsFlyer 2026’da deferred eşleştirmeyi öncelikle Install Referrer (Android) ve Apple Search Ads Attribution (iOS) gibi deterministic sinyallere dayandırır; bunların kapsayamadığı durumlarda agregat ve probabilistic sinyaller devreye girer. ATT izni olmayan iOS kullanıcılarında deterministic eşleştirme yapılmaz; bunun yerine SKAdNetwork postback’leri ile agregat seviyede ölçüm raporlanır. Bu nedenle deferred akışı tekil kullanıcı izleme aracı olarak değil, kampanya seviyesi bir ölçüm katmanı olarak tasarlamak gerekir.
Custom scheme tamamen ölü mü?
Hayır, intra-app navigation, OAuth callback’leri, uygulamalar arası iletişim (örneğin bir banka uygulamasından üçüncü taraf cüzdana çağrı) ve test/diagnostik akışlar için hala değerlidir. Ancak son kullanıcıya gönderilen reklam, push, e-posta veya QR bağlantılarında custom scheme tek başına kullanılmamalıdır; mutlaka Universal Link veya App Link ile sarmalanmalı ve custom scheme yalnızca dahili yönlendirme katmanına bırakılmalıdır.
Apple ve Google deep link sertifikasyon politikalarında 2026’da ne değişti?
Apple, iOS 19 SDK ile derlenen yeni uygulamalardan Universal Link entitlement’ı eksikse uyarı çıkarıyor; AASA dosyası 200 OK dönmeyen domain’ler için Apple Developer panelinde otomatik alarm üretiliyor. Google Play Console ise autoVerify=”true” işaretli intent-filter’ları olmayan yeni uygulamaları “Mobile App Quality” panelinde düşük puanla işaretliyor; Play Store algoritmasında bu skor sıralamayı doğrudan etkiliyor. Pratik sonuç: link katmanı artık sadece UX değil, mağaza görünürlüğü meselesidir.
Sonuç: 2026’da Doğru Stratejik Karar
Universal Link, App Link ve deferred deep link bileşimi 2026’da artık opsiyonel bir pazarlama detayı değil, ürünün mağaza görünürlüğünü, kampanya ROAS’ını, organik trafik dönüşümünü ve retention’ını birlikte belirleyen temel altyapıdır. Karar verdaktısı net: e-ticaret için Universal Link + App Link + Branch deferred deep link, in-app browser ve sepet bağlamı QA’sıyla; marketing-led SaaS için Universal Link + AppsFlyer attribution, onboarding magic link fallback’iyle; B2B SaaS için Universal Link + custom scheme (intra-app) + SSO landing fallback ile kurumsal MDM dostu kurulum tercih edilmelidir. Üç senaryonun da ortak şartı sağlam AASA ve assetlinks.json dosyaları, otomatik QA matrisi ve link telemetrisinin pazarlama ile ürün ekibinin tek dashboard üzerinde buluşturulmasıdır. Doğru kurulan bir deep link katmanı kampanya dönüşümünü tek başına çift haneli yüzdelerle artırırken bakım yükünü uzun vadede minimumda tutar.










Ömer ÖNAL
Mayıs 16, 2026Yazılım danışmanlığı projelerinde sıkça karşılaştığım bir soru: “Hangi mimari hangi senaryoda öncelikli olmalı?” Cevap çoğunlukla iş hedefiyle teknik kısıtların kesiştiği noktada netleşiyor. Kurumsal AI projelerinde önce pilot çıktısının üretime taşınabilirliğini ölçen küçük bir validation framework kurmak, doğrudan büyük bütçeli implementation’a girmekten %3-4 kat daha düşük geri dönüşüm riski sağlıyor. Yorumlarınıza açığım.