Uygulama bağlantılarıyla ilgili sorunları giderme

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.

  • 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.json dosyasını kontrol edin: Dosyanın geçerli bir JSON dosyası olduğundan, https://<your-domain>/.well-known/assetlinks.json adresinden 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.json dosyasındaki sha256_cert_fingerprints değ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.xml dosyanızdaki <intent-filter> öğesinin android:autoVerify="true" içerdiğinden emin olun.
    • Sunucu tarafı yönlendirmeleri kontrol edin: http adresinden https adresine veya www içermeyen bir alandan www adresine 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.json dosyanı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çin adb 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.

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) adresinin example.com ile 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.com
  • example.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.json içinde yayın imzasının bulunması.
  • assetlinks.json iç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.

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.