Derin bağlantılar (deep links), mobil uygulamaların kullanıcılarını doğrudan belirli içeriklere yönlendirmesine olanak tanır. Ancak bu bağlantıların güvenilirliğini sağlamak için Android ve iOS tarafından gereken doğrulama dosyalarının doğru şekilde barındırılması şarttır. Bugünkü rehberimizde, bu dosyaları Cloudflare Pages üzerinde nasıl yayımlayabileceğinizi ve altyapınızı nasıl optimize edeceğinizi adım adım inceleyeceğiz.
Deep Bağlantı Doğrulama Dosyalarının Önemi
Mobil uygulamalar için derin bağlantılar kullanırken, uygulamanın hangi alan adını kullandığını doğrulamak gerekir. Bunun için Android cihazlar assetlinks.json dosyasını, iOS cihazlar ise apple-app-site-association dosyasını kontrol eder. Bu dosyaların doğru sunucuya, doğru içerik türünde ve HTTPS protokolüyle ulaşması kritik önem taşır.
Üç temel gereksinim karşılanmalıdır:
- HTTPS zorunluluğu: Yalnızca HTTPS bağlantıları kabul edilir; HTTP ya da yönlendirmeler reddedilir.
- İçerik türü yönetimi:
.jsonolmayan dosyaların doğruContent-Typeile sunulması gerekir. - Aynı alan adı kullanımı: Doğrulama dosyaları, uygulamanın bildirdiği alan adıyla aynı domain altında bulunmalıdır.
Cloudflare Pages, bu gereksinimleri minimum çabayla karşılamanızı sağlar. Dağıtım süreci GitHub deposundan otomatik olarak gerçekleşir ve HTTPS desteği varsayılan olarak etkindir.
.dev Alan Adı Neden Tercih Edilmeli?
.dev alan adı, Chrome tarayıcısının HSTS (HTTP Strict Transport Security) listesine önceden dahil edilmiştir. Bu, herhangi bir HTTP isteğinin otomatik olarak HTTPS'ye yönlendirilmesi anlamına gelir. Böylece sunucu tarafında ekstra yönlendirme ayarlarına gerek kalmaz.
Bir .dev alan adı ortalama 60-80 TL yıllık maliyetle edinilebilir. Eğer zaten Cloudflare kullanıyorsanız, alan adı kayıt işlemini doğrudan Cloudflare üzerinden yapabilir ve nameserver ayarlarını kolayca tamamlayabilirsiniz.
Proje Yapısını Oluşturma
Başlamak için GitHub deposunda aşağıdaki dizin yapısını oluşturun:
meudomain.com/
├── .well-known/
│ ├── assetlinks.json
│ └── apple-app-site-association
├── signup.html
├── index.html
└── _headerssignup.htmldosyası, bağlantıdan uygulamaya yönlendirmeyi sağlayan arayüzü içerir..well-known/klasörü, Android ve iOS tarafından aranan doğrulama dosyalarını barındırır._headersdosyası, sunucu yanıtlarınınContent-Typebaşlıklarını ayarlamak için kullanılır.
_headers Dosyasını Yapılandırma
_headers dosyası, sunucu tarafından gönderilen yanıtların başlıklarını yapılandırmanızı sağlar. Örneğin:
/.well-known/apple-app-site-association
Content-Type: application/json
/.well-known/assetlinks.json
Content-Type: application/jsonBu ayarlar yapılmazsa, apple-app-site-association dosyası (uzantısız) sunucu tarafından doğru Content-Type ile gönderilmeyebilir. Bu durumda iOS cihazlar dosyayı reddedebilir ve Universal Links çalışmayabilir. Bu hata, en sık karşılaşılan sorunlardan biridir.
Doğrulama Dosyalarını Hazırlama
assetlinks.json (Android için)
[
{
"relation": ["delegate_permission/common.handle_all_urls"],
"target": {
"namespace": "android_app",
"package_name": "com.ornegin.uygulama",
"sha256_cert_fingerprints": [
"AA:BB:CC:DD:EE:FF:00:11:22:33:44:55:66:77:88:99:AA:BB:CC:DD:EE:FF:00:11:22:33:44:55:66:77"
]
}
}
]package_name: Uygulamanızın paket adı.sha256_cert_fingerprints: Uygulamanızın imza sertifikasının SHA-256 parmak izi.
apple-app-site-association (iOS için)
{
"applinks": {
"apps": [],
"details": [
{
"appID": "TEAM_ID.com.ornegin.uygulama",
"paths": ["/signup", "/signup/*"]
}
]
}
}appID: Geliştirici takım kimliği ve uygulama paket adı.paths: Hangi yol yapılarına izin verileceği.
Cloudflare Pages ile Dağıtım
- GitHub deposunu oluşturun ve yukarıdaki yapıyı kopyalayın. Dosyaları yerel ortamınızdan push edin.
- Cloudflare hesabınıza giriş yapın ve Workers & Pages bölümünden Pages seçeneğini seçin. Git deposunu bağlayın, komut satırı ayarlarını boş bırakın ve çıktı dizinini
/olarak belirleyin.
- Custom Domains sekmesine giderek alan adınızı ekleyin. Eğer alan adınızı Cloudflare üzerinden kaydettiyseniz, SSL sertifikası birkaç dakika içinde otomatik olarak oluşturulacaktır.
Dağıtımı Doğrulama
Dağıtım tamamlandıktan sonra, aşağıdaki komutları kullanarak dosyaların doğru şekilde yüklendiğinden emin olun:
curl -I
curl -I Bu komutlar, yanıt başlıklarında content-type: application/json görüntülenmesini sağlamalıdır. Eğer yanıtta bu başlık yoksa, _headers dosyanızda boşluk, girinti ya da karakter kodlaması sorunu olabilir.
Android için doğrulama yapmak isterseniz, Google tarafından sunulan resmi aracı kullanabilirsiniz. Bu araç, assetlinks.json dosyanızın doğru yapılandırıldığını test etmenize yardımcı olur.
Sonuç: Güvenilir Bir Altyapıya Sahip Olun
Bugün tamamladıklarımızla birlikte artık:
- Chrome’un HSTS listesine dahil edilmiş
.devalan adınız var. - GitHub deposunda derin bağlantı doğrulama dosyalarınız ve
signup.htmlyer alıyor. - Cloudflare Pages üzerinden otomatik dağıtım sağlanıyor; her push işlemiyle yayın gerçekleşiyor.
- Doğrulama dosyaları doğru
Content-Typeile sunuluyor.
Tüm bu adımlar, derin bağlantılarınızın sorunsuz çalışmasını ve kullanıcı deneyiminin kesintisiz olmasını sağlar. Eğer farklı bir hosting sağlayıcısı kullanıyorsanız — Vercel, Firebase ya da AWS S3 gibi — deneyimlerinizi yorumlarda paylaşabilirsiniz.
Yapay zeka özeti
Deep bağlantı doğrulama dosyalarınızı Cloudflare Pages ile nasıl barındıracak ve altyapınızı nasıl optimize edeceksiniz? Adım adım rehber ve .dev alan adı avantajları.