Bu kılavuzda, yaygın sorunlar ve bunların nasıl giderileceği açıklanmaktadır. Ayrıca Play Console'un Derin Bağlantılar sayfasındaki sorun giderme araçlarını veya Android Studio Uygulama Bağlantıları Asistanı'nı da kullanabilirsiniz. Daha fazla bilgi için Uygulama Bağlantıları geliştirici araçları başlıklı makaleyi inceleyin.
Uygulama bağlantısı, uygulamada değil tarayıcıda açılıyor
- Sorun: Uygulamanızı açması gereken bir bağlantıyı tıkladığınızda bağlantı, web tarayıcısında açılıyor veya anlam belirsizliğini giderme iletişim kutusu gösteriliyor.
- Çözüm:
assetlinks.jsondosyasını kontrol edin: Dosyanın geçerli bir JSON dosyası olduğundan,https://<your-domain>/.well-known/assetlinks.jsonadresinden erişilebildiğinden ve yönlendirme olmadan HTTPS üzerinden sunulduğundan emin olun. Online bir doğrulayıcı kullanın.- SHA-256 parmak izini doğrulayın:
assetlinks.jsondosyasındakisha256_cert_fingerprintsdeğerinin, uygulama sürümünüzün imzalama anahtarının parmak iziyle tam olarak eşleştiğini doğrulayın (Play Uygulama İmzalama'yı kullanıyorsanız Google Play Console'daki parmak izini kullanın). İmza büyük harfle yazılmalıdır. autoVerifyöğesini doğrulayın:AndroidManifest.xmldosyanızdaki<intent-filter>öğesininandroid:autoVerify="true" içerdiğinden emin olun.- Sunucu tarafı yönlendirmeleri kontrol edin:
httpadresindenhttpsadresine veya www içermeyen bir alandanwwwadresine yönlendirmeler, doğrulamanın başarısız olmasına neden olabilir. - Yeniden doğrulamayı zorunlu kılın: Yeni bir doğrulama sonucu almak için Uygulama Bağlantıları'nı test etme kılavuzundaki ADB komutlarını çalıştırın.
- Bağlantı çözümlemeyi teşhis etme (Android 17 ve sonraki sürümler): URL ile eşleşen aday uygulamaları, manifest intent filtrelerini ve Dinamik Uygulama Bağlantısı kurallarını incelemek için
adb shell am start --debug-link -a android.intent.action.VIEW -d "<URL>"komutunu çalıştırın. Ayrıntılar için debug-link işaretini kullanarak bağlantı çözümlemeyi teşhis etme başlıklı makaleyi inceleyin.
Android 15 ve sonraki sürümlerde dinamik kurallar güncellenmiyor
- Sorun:
assetlinks.jsondosyanızdaki kuralları güncellediniz ancak yeni bağlantılar uygulama tarafından işlenmiyor. - Çözüm:
- Yeniden doğrulamayı zorunlu kılın: Değişiklikleri test etmenin en güvenilir yolu,
adb shell pm verify-app-links --re-verify <your-package-name>ile yeniden getirmeyi zorunlu kılmaktır. - Yazım hatalarını kontrol edin: Kurallarınızdaki kalıp eşleştiricilerde söz dizimi hatası olup olmadığını dikkatlice inceleyin.
- Manifest filtresi kurallarını kontrol edin: Bağlantı yolunun filtrelenmediğinden emin olmak için uygulama manifestindeki intent filtresi kurallarını inceleyin. Bağlantı filtreleniyorsa uygulama manifestindeki intent filtresini daha az kısıtlayıcı hale getirin.
- Eşleşen kuralları teşhis etme (Android 17 ve sonraki sürümler): Hangi kuralların değerlendirildiğini incelemek ve bir hariç tutma kuralının (
allow = 1) uygulamanın açılmasını engelleyip engellemediğini belirlemek içinadb shell am start --debug-link -a android.intent.action.VIEW -d "<URL>"komutunu çalıştırın. debug-link işaretini kullanarak bağlantı çözümlemeyi teşhis etme bölümünü inceleyin.
- Yeniden doğrulamayı zorunlu kılın: Değişiklikleri test etmenin en güvenilir yolu,
Sık karşılaşılan uygulama hatalarını düzeltme
Android Uygulama Bağlantılarınızı doğrulayamıyorsanız aşağıdaki yaygın hataları kontrol edin. Bu bölümde, yer tutucu alan adı olarak example.com kullanılmıştır. Bu kontrolleri yaparken example.com yerine sunucunuzun gerçek alan adını kullanın.
- Yanlış intent filtresi ayarı
- Uygulamanızın sahip olmadığı bir URL'yi
<intent-filter>öğesine ekleyip eklemediğinizi kontrol edin. - Yanlış sunucu yapılandırması
Sunucunuzun JSON yapılandırmasını kontrol edin ve SHA değerinin doğru olduğundan emin olun.
Ayrıca,
example.com.(sondaki nokta ile birlikte) adresininexample.comile aynı içeriği sunduğundan emin olun.- Sunucu tarafı yönlendirmeler
Aşağıdakiler gibi bir yönlendirme ayarlarsanız sistem, uygulamanız için hiçbir Android Uygulama Bağlantısı'nı doğrulamaz:
http://example.com-https://example.comexample.com-www.example.com
Bu davranış, uygulamanızın güvenliğini korur.
- Sunucu sağlamlığı
İstemci uygulamalarınızın sunucunuza bağlanıp bağlanamadığını kontrol edin.
- Doğrulanamayan bağlantılar
Test amacıyla, doğrulanabilir olmayan bağlantıları kasıtlı olarak ekleyebilirsiniz. Android 11 ve önceki sürümlerde bu bağlantıların, sistemin uygulamanız için tüm Android Uygulama Bağlantıları'nı doğrulamamasına neden olduğunu unutmayın.
- assetlinks.json dosyasında yanlış imza
İmzanızın doğru olduğunu ve uygulamanızı imzalamak için kullanılan imzayla eşleştiğini doğrulayın. Sık yapılan hatalar şunlardır:
- Uygulamayı hata ayıklama sertifikasıyla imzalayıp yalnızca
assetlinks.jsoniçinde yayın imzasının bulunması. assetlinks.jsoniçinde küçük harfli bir imza olması. İmza büyük harfle yazılmalıdır.- Play Uygulama İmzalama'yı kullanıyorsanız Google'ın her sürümünüzü imzalamak için kullandığı imzayı kullandığınızdan emin olun. Eksiksiz bir JSON snippet'i de dahil olmak üzere bu ayrıntıları, web sitesi ilişkilendirmelerini bildirme ile ilgili talimatları uygulayarak doğrulayabilirsiniz.
- Uygulamayı hata ayıklama sertifikasıyla imzalayıp yalnızca
Hata raporu oluşturma
Yeniden üretilmesi zor olan karmaşık sorunlar için hata raporu oluşturun ve analiz edin. Bu sayede, doğrulama süreci ve sistem düzeyindeki hatalar hakkında değerli bilgiler edinebilirsiniz.