Android App Links Doğrulaması: assetlinks.json ve Hata Testi
Android App Links neden bazen uygulama yerine tarayıcıyı açar?
Android App Links, işletmenin HTTPS bağlantısını doğrulanmış mobil uygulama içeriğiyle eşleştirme yöntemidir. Alan adı ile uygulama arasındaki sahiplik ilişkisi doğrulanmamışsa, bağlantı beklediğiniz ekrana gitmeyebilir. Bu durumda ilk kontrol yalnızca uygulama yönlendirme kodu değil; manifest kapsamı, sunucudaki assetlinks.json dosyası ve cihazdaki doğrulama durumudur. Android'in App Links doğrulama rehberi, işletim sisteminin ilan edilen alan adları için bu dosyayı sorguladığını açıklar.
İyi bir derin bağlantı, uygulama yüklüyse doğru ekranı açarken yüklü değilse kullanıcıyı işe yarar bir web sayfasına bırakmalıdır. Bu sayede kampanya, paylaşım veya müşteri mesajı tek bir URL taşıyabilir. Yine de Android sürümü, kullanıcı tercihleri ve uygulamanın link kapsamı davranışı etkiler. “Her tıklamada kesin uygulama açılır” şeklinde bir ürün vaadi doğru değildir.
Bu yazı, önceki push bildirim ve derin bağlantı planlama rehberinden farklı olarak bildirim metnini veya segmenti değil, Android'de alan adı ilişkisinin teknik doğrulamasını ele alır. Bağlantı kaynağı bir bildirim, e-posta veya QR kod olabilir; temel sahiplik kontrolü yine aynı web alanı ve uygulama yapılandırmasına dayanır.
Alan adı ve uygulama kapsamı nasıl eşleştirilir?
Önce uygulamanın hangi HTTPS alan adlarını ve hangi yol örüntülerini açacağını listeleyin. www alt alanı ile kök alanı aynı ad olarak varsaymayın. Ürün sayfası, hesap ekranı ve kampanya bağlantısı farklı güvenlik ve oturum ihtiyaçları taşıyabilir. Manifest içinde aşırı geniş bir kapsam açmak, uygulamanın henüz desteklemediği sayfaları da yakalamasına yol açabilir. Çok dar kapsam ise doğru bağlantının tarayıcıda kalmasına neden olur.
Android dokümanı, uygulamanın ilan ettiği her ilgili alan adında Digital Asset Links dosyasının sunulmasını ister. Dosyanın konumu https://alanadiniz/.well-known/assetlinks.json biçimindedir. Dosyada uygulama paket adı ve yayın imzasıyla ilişkili sertifika parmak izi doğru olmalıdır. Test sürümü ile mağazada yayımlanan sürüm farklı imzalanıyorsa yalnızca geliştirme cihazında çalışan bir eşleşme canlı kullanıcıda başarısız olabilir. Bu nedenle hangi dağıtım kanalının hangi imzayı kullandığı yayın kontrol listesinde yer almalıdır.
Sunucu yanıtında hangi hatalar aranmalı?
Android'in web sitesi ilişkilendirme ve dinamik kural rehberi, assetlinks.json dosyasının HTTPS üzerinden, application/json içerik türüyle ve yönlendirme olmadan erişilebilir olmasını ister. Dosya adresi 301 ile başka bir alana gidiyorsa, tarayıcıda sonuç görülse bile doğrulama başarısız olabilir. Dosyanın halka açık erişimini, HTTP yanıtını ve JSON sözdizimini ayrı ayrı test edin.
Birden çok alan adı kullanılıyorsa her alanın dosyasını ve sertifika bilgisini kontrol edin. CDN, güvenlik duvarı veya bot koruması dosyayı bazı istemcilere farklı sunabilir. Yalnızca kendi bilgisayarınızdan başarılı curl yanıtı almak bütün cihazların aynı cevabı aldığı anlamına gelmez; canlı dağıtımdan sonra gerçek cihaz testi gereklidir. Staging alan adını yanlışlıkla canlı manifestte bırakmayın.
Cihaz tarafında doğrulama nasıl test edilir?
Android Studio veya cihaz komutlarıyla mevcut App Links durumunu inceleyin. Rehber, belirli sürümlerde doğrulama durumunu sıfırlayıp yeniden test etme yolunu anlatır. Test URL'sini açtığınızda hangi uygulamanın seçildiğini, doğrudan doğru ekrana gidilip gidilmediğini ve oturum açmamış kullanıcının ne gördüğünü kaydedin. Başarılı ilk açılışın ardından uygulamayı kapatıp tekrar deneyin; kurulum, önbellek ve kullanıcı tercihleri farklı sonuç verebilir.
Resmî rehber, yeniden yükleme sonrasında bile sunucu tarafı önbellek nedeniyle güncellenen ilişkilendirme dosyasının cihaza gecikmeli ulaşabileceğini belirtiyor. Dolayısıyla bir düzeltme yaptıktan hemen sonra tek cihazda alınan eski sonuç, her zaman yeni yapılandırmanın yanlış olduğunun kanıtı değildir. Değişikliğin sunucuda gerçekten yayımlandığını, CDN önbelleğini ve cihazın yeniden doğrulama durumunu birlikte inceleyin.
Uygulama açıldı ama yanlış ekrana gidiyorsa
Alan adı doğrulaması geçse de uygulama içinde URL ayrıştırması hatalı olabilir. Ürün kimliği eksik, yol kodlaması farklı veya silinmiş bir içerik isteniyor olabilir. Uygulama bilinmeyen her bağlantıyı ana ekrana sessizce atmamalı; kullanıcıya anlaşılır bir mesaj ve ilgili alternatif sunmalıdır. Oturum gerekiyorsa girişten sonra istenen içeriğe geri dönme akışı planlayın. Güvenli erişim kontrolünü yalnızca linkin doğrulanmış alan adından gelmesine bağlamayın.
Paylaşılan URL'de özel veriye erişim sağlayan gizli anahtarlar taşımayın. Kullanıcı hesabına bağlı içerik için sunucu yetkisini her açılışta kontrol edin. Bağlantının açılması ile işlem yapma yetkisi farklı kavramlardır; özellikle ödeme, hesap değiştirme veya veri silme gibi eylemler için ek doğrulama gerekir.
Dinamik kurallar ve eski sürümler nasıl ele alınmalı?
Güncel Android rehberi, desteklenen yeni sürümlerde sunucudaki dosyadan dinamik URL eşleştirme kuralları alınabildiğini anlatır. Bu, manifestte ilan edilen kapsamın dışına sınırsız yeni alanlar ekleyebileceğiniz anlamına gelmez. Dinamik kurallar manifest kapsamıyla birlikte değerlendirilir; eski Android sürümleri de aynı kuralları uygulamayabilir. Bu nedenle özellik yayını yaparken hem yeni hem eski cihazlarda en az bir kabul senaryosu çalıştırın.
Ürün ekibinin yeni kampanya yolu açması için gerekli kararları da tanımlayın: URL kalıcı mı, web karşılığı var mı, uygulamada hangi ekranı açıyor ve eski sürüm bu linki nasıl karşılıyor? Yol kuralları sadece pazarlama ekibinin bağlantı tablosunda değil, sürüm testlerinde görünmelidir. Linki paylaşan ekip ile uygulamayı geliştiren ekip aynı örnek URL listesini kullanırsa sürprizler azalır.
Canlıya çıkış için kısa kabul planı
Bir doğrulama tablosu hazırlayın: alan adı, örnek URL, beklenen uygulama ekranı, web yedeği, oturum gereksinimi ve test edilen sürüm. Önce dosya yanıtını ve manifesti inceleyin, sonra cihaz doğrulamasını çalıştırın. Uygulama yüklü ve yüklü değil durumlarını, giriş yapmış ve yapmamış kullanıcıyı, artık var olmayan içerik bağlantısını ayrı ayrı deneyin. Hata çıktığında sorunun alan adı sahipliği mi yoksa uygulama içi yönlendirme mi olduğunu ayırın.
Webinle'nin mobil uygulama geliştirme hizmeti, uygulama ve web sayfası birlikte çalışan ürünler için bu kapsamı değerlendirmeye uygundur. Kullandığınız alan adlarını, örnek bağlantıları ve hedef ekranları paylaşmanız, doğru test planını kurmaya yardımcı olur. Amaç bir bağlantıyı yalnızca “açılıyor” diye kabul etmek değil, kullanıcıyı doğru içerik ve güvenli durumla buluşturmaktır.