Kapsamlı Universal Links Rehberi
iOS ve Android için universal links, deep links ve app links hakkında bilmeniz gereken her şey
İçindekiler
Universal Links nedir?
Universal links, standart HTTPS URL’lerin uygulamaya ya da web’e akıllı biçimde yönlenmesini sağlayan bir yapıdır. Uygulama yüklüyse uygulamayı açar, değilse web fallback’e düşer.
Kısaca,tek bir public URL ile hem uygulama açılışı hem de web erişimi için güvenilir bir köprü kurarsınız.
Başlıca avantajları
- Daha akıcı kullanıcı deneyimi
- Paylaşılabilir ve SEO dostu URL yapısı
- Web fallback’i doğal olarak koruma
- Kampanya ve attribution akışlarında daha temiz yönlendirme
Universal links nasıl çalışır?
Temelde birkaç bileşen birlikte çalışır: domain doğrulaması, uygulama tarafı eşleştirme ve runtime yönlendirme mantığı.
HTTPS URL
Kullanıcı standart bir web linkine tıklar; özel scheme kullanmak zorunda kalmaz.
Domain association
iOS tarafında AASA, Android tarafında assetlinks.json ile uygulamanın ilgili domain’e bağlı olduğu doğrulanır.
Uygulama yönlendirmesi
Uygulama yüklüyse link uygulama içinde doğru ekrana açılır; değilse kullanıcı web deneyimine devam eder.
iOS Universal Links kurulumu
1. AASA dosyasını hazırlayın
Apple, domain’iniz üzerinde doğru yapılandırılmış bir `apple-app-site-association` dosyası bekler. apple-app-site-association
{
"applinks": {
"apps": [],
"details": [
{
"appID": "TEAMID.com.yourcompany.yourapp",
"paths": [
"/products/*",
"/articles/*",
"/user/*"
]
}
]
}
}Dikkat
Dosya doğru içerikte, doğru path’te ve doğru content-type ile servis edilmezse universal links sessizce başarısız olabilir.
2. Uygulama tarafında Associated Domains ekleyin
Xcode’da ilgili domain’i yetkilendirip uygulamanın bu alan adıyla eşleşmesini sağlamalısınız.
applinks:yourdomain.com
applinks:www.yourdomain.com3. Uygulama içinde gelen link’i doğru işleyin
// AppDelegate.swift
func application(_ application: UIApplication,
continue userActivity: NSUserActivity,
restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool {
guard userActivity.activityType == NSUserActivityTypeBrowsingWeb,
let url = userActivity.webpageURL else {
return false
}
// Handle the URL and navigate to appropriate screen
handleUniversalLink(url)
return true
}Android App Links kurulumu
1. assetlinks.json dosyasını yayınlayın
Android tarafında uygulamanın domain ile ilişkisini doğrulayan dosya budur.
[{
"relation": ["delegate_permission/common.handle_all_urls"],
"target": {
"namespace": "android_app",
"package_name": "com.yourcompany.yourapp",
"sha256_cert_fingerprints": [
"XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX"
]
}
}]2. Manifest içinde intent filter tanımlayın
<activity android:name=".MainActivity">
<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="https" />
<data android:host="yourdomain.com" />
<data android:pathPrefix="/products" />
</intent-filter>
</activity>3. Uygulama içi hedef ekran akışını yönetin
// MainActivity.kt
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val action = intent.action
val data = intent.data
if (Intent.ACTION_VIEW == action && data != null) {
// Handle the deep link
handleDeepLink(data)
}
}En iyi uygulamalar
Yapılması gerekenler
- ✅ HTTPS ve canonical URL yapınızı temiz tutun
- ✅ AASA ve assetlinks dosyalarını deploy sonrası mutlaka doğrulayın
- ✅ Fallback web deneyimini boş bırakmayın
- ✅ Gerçek cihazlarla, gerçek paylaşım kanallarında test edin
- ✅ Kampanya parametrelerinin yönlendirme boyunca korunduğundan emin olun
❌Kaçınılması gerekenler
- ❌ Sadece simülatör testlerine güvenmek
- ❌ Yanlış content-type ile association dosyası yayınlamak
- ❌ Birden fazla yönlendirme katmanı ekleyip zinciri kırmak
- ❌ Web fallback’i ihmal etmek
- ❌ Attribution parametrelerinin düşmesine izin vermek
Test ve hata ayıklama
iOS tarafı
- Önce AASA dosyanızı doğrulayın
- Safari içinde test edin
- Notlar ve Mesajlar gibi gerçek paylaşım yüzeylerinde deneyin
- Uygulama açılışını ve hedef ekranı doğrulayın
- Fallback web davranışını kontrol edin
Android tarafı
- assetlinks.json yanıtını doğrulayın
- Intent filter yapılandırmasını test edin
- Farklı Android sürümlerinde davranışı gözlemleyin
- Yönlendirme sonrası hedef ekranın doğru açıldığından emin olun
Analitik ve attribution
Universal links sadece UX için değil, ölçüm kalitesi için de kritiktir. Doğru kurulumla hangi kanalın ne kadar açılış, yönlendirme ve dönüşüm getirdiğini daha net görürsünüz.
- Link açılış hacmi
- Uygulama açılış oranı
- Fallback oranı
- Kanal / placement bazlı performans
- İlk değerli aksiyona kadar geçen yol
İpucu
Appy gibi bir smart link platformu; universal links, analitik ve fallback mantığını tek yerde yönettiği için geliştirme yükünü ciddi biçimde azaltır.
Appy’yi ücretsiz deneyinSonuç
Universal links, modern mobil deneyimin temel parçalarından biridir. Doğru kurulduğunda hem uygulama açılışını hem de web fallback’i tek bir public URL yapısında birleştirir.
İşe temel kurulumla başlayın, gerçek cihazlarda test edin ve büyüdükçe yönlendirme ile analitik katmanını olgunlaştırın. Karmaşıklığı azaltmak isterseniz Appy gibi platformlar bu işi çok daha hızlı hale getirir.
İlgili Appy kaynakları
Universal links, deep links ve QR kod akışlarını hızlandırmak için bu araçlara göz atın.
- Universal Link Validator ile iOS Universal Links ve Android App Links yapılandırmalarını test edin.
- Markalı QR Kod Oluşturucu ile uygulama yükleme kampanyaları ve offline funnel’lar kurun.
- Smart link özellikleri sayfasından deep links, yönlendirme kuralları ve analitiği inceleyin.
Diğer yazılar
Deep Linking ve Universal Links: kapsamlı karşılaştırma
Deep links ile universal links arasındaki farkları, hangi durumda hangisinin daha doğru olduğunu ve güvenilir yönlendirme akışlarını öğrenin.
Universal Links Safari açıyor mu? AASA, App Links, redirect ve header sorunlarını düzeltin
Uygulama yerine tarayıcı açan universal links ve app links için uygulanabilir sorun giderme akışı.
Firebase Dynamic Links kapanıyor: Appy’ye geçiş rehberi
Firebase Dynamic Links sonlanırken Appy’ye kesintisiz geçiş için adım adım plan, özellik karşılaştırması ve migration önerileri.
Başka konular için Appy blogunda gezin.
Karmaşık kurulumlarla uğraşmayın. Appy kullanın.
Appy; universal links, deep links, QR kod ve analitiği tek çatı altında yönetir. Kod yükünü azaltır, canlıya çıkışı hızlandırır.