iToverDose/Yazılım· 24 MAYIS 2026 · 20:02

Derin Bağlantı Doğrulama Dosyalarınızı Cloudflare Pages ile Nasıl Yayımlarsınız?

Deep bağlantı doğrulama dosyalarınızı Cloudflare Pages ile nasıl güvenli bir şekilde barındırabileceğinizi ve .dev alan adının HTTPS zorunluluğunu nasıl avantaja dönüştürebileceğinizi keşfedin. Adım adım rehberle uygulamaya geçirme sürecini kolayca öğrenin.

DEV Community3 dk okuma0 Yorumlar

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: .json olmayan dosyaların doğru Content-Type ile 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
└── _headers
  • signup.html dosyası, 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.
  • _headers dosyası, sunucu yanıtlarının Content-Type baş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/json

Bu 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

  1. GitHub deposunu oluşturun ve yukarıdaki yapıyı kopyalayın. Dosyaları yerel ortamınızdan push edin.
  1. 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.
  1. 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ş .dev alan adınız var.
  • GitHub deposunda derin bağlantı doğrulama dosyalarınız ve signup.html yer 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-Type ile 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ı.

Yorumlar

00
YORUM BIRAK
ID #UW2BKE

0 / 1200 KARAKTER

İnsan doğrulaması

3 + 6 = ?

Editör onayı sonrası yayına girer

Moderasyon · Spam koruması aktif

Henüz onaylı yorum yok. İlk yorumu sen bırak.