assetlinks.json dosyası ne demek?

assetlinks.json: Uygulama Bağlantıları ve Doğrulama Dosyası

assetlinks.json, Android uygulamalarının ve web sitelerinin birbirleriyle ilişkilendirilmesini sağlayan ve doğrulanmasını mümkün kılan bir JSON dosyasıdır. Bu dosya, özellikle Android App Links (Uygulama Bağlantıları) ve Digital Asset Links gibi teknolojilerde kritik bir rol oynar. Temel olarak, bir uygulamanın belirli bir web sitesinin sahibi olduğunu veya tam tersini doğrulamak için kullanılır.

Temel Amaç ve İşlevler

  • Uygulama Bağlantılarını Doğrulama: Uygulama bağlantıları, kullanıcıların bir web bağlantısını tıkladıklarında doğrudan ilgili mobil uygulamaya yönlendirilmesini sağlar. assetlinks.json dosyası, uygulamanın bu bağlantıları "ele geçirme" yetkisine sahip olduğunu kanıtlar.
  • Web Sitesi ve Uygulama İlişkilendirmesi: Bir web sitesinin ve uygulamanın aynı tüzel kişiliğe ait olduğunu doğrulamak için kullanılır.
  • Güvenlik ve Yetkilendirme: Uygulama ve web sitesi arasındaki güvenli iletişimi sağlamak ve yetkisiz erişimi engellemek için kullanılır.

Konum ve Yapı

assetlinks.json dosyası, bir web sitesinin kök dizinindeki .well-known klasöründe bulunmalıdır. Yani, dosyanın tam yolu https://example.com/.well-known/assetlinks.json şeklinde olmalıdır. Web sunucusunun bu dosyayı application/json MIME türüyle sunması gerekir.

Dosyanın yapısı, bir veya daha fazla JSON nesnesinden oluşan bir dizidir. Her bir nesne, bir "relation" (ilişki) ve "target" (hedef) içerir.

[
  {
    "relation": [
      "delegate_permission/common.handle_all_urls"
    ],
    "target": {
      "namespace": "web",
      "site": "https://example.com"
    }
  },
  {
    "relation": [
      "delegate_permission/common.handle_all_urls"
    ],
    "target": {
      "namespace": "android_app",
      "package_name": "com.example.myapp",
      "sha256_cert_fingerprints": [
        "14:6D:E9:83:C5:73:06:50:D8:EE:B9:95:2F:34:FA:7F:87:30:83:2E:D1:22:4E:E0:32:F2:7D:56:50:C4:1F:EF"
      ]
    }
  }
]

Alanların Açıklaması

  • relation (İlişki): Uygulama ve web sitesi arasındaki ilişki türünü belirtir. En yaygın kullanılan ilişki türü "delegate_permission/common.handle_all_urls"'dir. Bu, uygulamanın web sitesindeki tüm URL'leri işleme yetkisine sahip olduğunu gösterir. Başka ilişki türleri de bulunabilir, ancak bu en sık kullanılanıdır.
  • target (Hedef): İlişkilendirilen hedefi belirtir. Bu hedef bir web sitesi veya bir Android uygulaması olabilir.
    • namespace (Ad Alanı): Hedefin türünü belirtir. "web" veya "android_app" olabilir.
    • site (Web Sitesi): İlişkilendirilen web sitesinin URL'sini belirtir. Sadece namespace değeri "web" olduğunda kullanılır.
    • package_name (Paket Adı): İlişkilendirilen Android uygulamasının paket adını belirtir (örneğin, "com.example.myapp"). Sadece namespace değeri "android_app" olduğunda kullanılır.
    • sha256_cert_fingerprints (SHA256 Sertifika Parmak İzleri): Uygulamanın imza sertifikasının SHA256 parmak izlerini içeren bir dizi. Bu parmak izleri, uygulamanın kimliğini doğrulamak için kullanılır. Bu değer, uygulamanın Google Play Store'daki sürümünü imzalayan sertifikaya ait olmalıdır.

SHA256 Sertifika Parmak İzini Elde Etme

Android uygulamasının SHA256 sertifika parmak izini elde etmek için aşağıdaki yöntemler kullanılabilir:

  1. Keytool Kullanımı: Android SDK'sında bulunan keytool aracı ile elde edilebilir. Komut satırında şu komutu çalıştırın:

    keytool -list -v -keystore <keystore_path> -alias <alias_name>
    

    <keystore_path> yerine keystore dosyasının yolunu ve <alias_name> yerine anahtarın alias adını girin. Çıktıda SHA256 parmak izini bulabilirsiniz.

  2. Android Studio Kullanımı: Android Studio'da, "Gradle" penceresinden "signingReport" görevini çalıştırarak da SHA256 parmak izine ulaşılabilir.

  3. Google Play Console: Google Play Console'da, uygulamanızın "Sürüm Yönetimi" bölümünde "Uygulama imzalama" sekmesinde sertifika bilgilerini bulabilirsiniz.

Uygulama Bağlantılarının Avantajları

  • Kullanıcı Deneyimi: Kullanıcıları doğrudan ilgili uygulamaya yönlendirerek daha iyi bir deneyim sunar.
  • Marka Tutarlılığı: Web sitesi ve uygulama arasında tutarlı bir deneyim sağlayarak marka imajını güçlendirir.
  • Dönüşüm Oranları: Uygulama tabanlı etkileşimleri artırarak dönüşüm oranlarını yükseltir.
  • SEO: SEO açısından da faydalıdır, çünkü Google arama sonuçlarında uygulamanın daha görünür olmasını sağlar.

Sorun Giderme ve Dikkat Edilmesi Gerekenler

  • Dosya Konumu: assetlinks.json dosyasının doğru konumda olduğundan ve erişilebilir olduğundan emin olun.
  • MIME Türü: Web sunucusunun dosyayı doğru MIME türüyle (application/json) sunduğundan emin olun.
  • Sertifika Parmak İzleri: SHA256 parmak izlerinin doğru olduğundan emin olun. Yanlış parmak izleri doğrulama sorunlarına yol açar.
  • HTTPS: assetlinks.json dosyasına HTTPS üzerinden erişilmesi gerekir. HTTP üzerinden erişim desteklenmez.
  • Önbelleğe Alma: Web sunucusunun assetlinks.json dosyasını çok uzun süre önbelleğe almadığından emin olun. Değişiklikler yapıldığında, önbelleğin temizlenmesi gerekebilir.
  • Doğrulama Araçları: Android Studio ve online araçlar, assetlinks.json dosyasının doğruluğunu kontrol etmek için kullanılabilir.

Sonuç

assetlinks.json, Android uygulama geliştirme ve web entegrasyonunda önemli bir rol oynar. Doğru yapılandırıldığında, kullanıcı deneyimini iyileştirir, güvenliği artırır ve marka tutarlılığını sağlar. Bu nedenle, bu dosyanın doğru bir şekilde yapılandırılması ve yönetilmesi, başarılı bir uygulama ve web sitesi entegrasyonu için kritik öneme sahiptir.

Kendi sorunu sor