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.
assetlinks.json
dosyası, uygulamanın bu bağlantıları "ele geçirme" yetkisine sahip olduğunu kanıtlar.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"
]
}
}
]
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.Android uygulamasının SHA256 sertifika parmak izini elde etmek için aşağıdaki yöntemler kullanılabilir:
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.
Android Studio Kullanımı: Android Studio'da, "Gradle" penceresinden "signingReport" görevini çalıştırarak da SHA256 parmak izine ulaşılabilir.
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.
assetlinks.json
dosyasının doğru konumda olduğundan ve erişilebilir olduğundan emin olun.application/json
) sunduğundan emin olun.assetlinks.json
dosyasına HTTPS üzerinden erişilmesi gerekir. HTTP üzerinden erişim desteklenmez.assetlinks.json
dosyasını çok uzun süre önbelleğe almadığından emin olun. Değişiklikler yapıldığında, önbelleğin temizlenmesi gerekebilir.assetlinks.json
dosyasının doğruluğunu kontrol etmek için kullanılabilir.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.