Rozwiązywanie problemów z linkami do aplikacji

W tym przewodniku opisujemy typowe problemy i sposoby ich rozwiązywania. Możesz też użyć narzędzi do rozwiązywania problemów na stronie Precyzyjne linki w Konsoli Play lub w Asystencie linków do aplikacji w Android Studio. Więcej informacji znajdziesz w narzędziach dla programistów linków do aplikacji.

  • Problem: klikasz link, który powinien otworzyć Twoją aplikację, ale otwiera się on w przeglądarce internetowej lub wyświetla okno wyboru aplikacji.
  • Rozwiązanie:
    • Sprawdź plik assetlinks.json: upewnij się, że plik jest prawidłowym plikiem JSON, jest dostępny pod adresem https://<your-domain>/.well-known/assetlinks.json i jest udostępniany przez HTTPS bez przekierowań. Użyj walidatora online.
    • Sprawdź odcisk cyfrowy SHA-256: upewnij się, że wartość sha256_cert_fingerprintsassetlinks.json dokładnie odpowiada odciskowi cyfrowemu klucza podpisywania wersji aplikacji (jeśli korzystasz z podpisywania aplikacji przez Google Play, użyj odcisku cyfrowego z Konsoli Play). Podpis powinien być pisany wielkimi literami.
    • Sprawdź autoVerify: upewnij się, że element <intent-filter> w pliku AndroidManifest.xml zawiera atrybut android:autoVerify="true".
    • Sprawdź przekierowania po stronie serwera: przekierowania z http na https lub z domeny bez „www” na www mogą spowodować niepowodzenie weryfikacji.
    • Wymuś ponowną weryfikację: uruchom polecenia narzędzia ADB w przewodniku Testowanie linków aplikacji, aby uzyskać nowy wynik weryfikacji.

Reguły dynamiczne na urządzeniach z Androidem w wersji 15 lub nowszej nie są aktualizowane

  • Problem: reguły w pliku assetlinks.json zostały zaktualizowane, ale aplikacja nie obsługuje nowych linków.
  • Rozwiązanie:
    • Wymuś ponowną weryfikację: najbardziej niezawodny sposób testowania zmian to wymuszenie ponownego pobrania za pomocą adb shell pm verify-app-links --re-verify. <your-package-name>.
    • Sprawdź, czy nie ma literówek: dokładnie przejrzyj w regułach dopasowania wzorca, czy nie ma błędów składniowych.
    • Sprawdź reguły filtrowania w pliku manifestu: przejrzyj reguły filtra intencji w pliku manifestu aplikacji, aby upewnić się, że ścieżka linku nie jest filtrowana. Jeśli link jest odfiltrowywany, zmniejsz restrykcyjność filtra intencji w manifeście aplikacji.

Rozwiązywanie typowych błędów implementacji

Jeśli nie możesz potwierdzić linków do aplikacji na Androida, sprawdź, czy nie występują te typowe błędy. W tej sekcji jako zastępczej nazwy domeny używamy example.com. Podczas przeprowadzania tych testów zastąp example.com rzeczywistą nazwą domeny serwera.

Nieprawidłowo skonfigurowany filtr intencji
Sprawdź, czy w elemencie <intent-filter> znajduje się adres URL, który nie należy do Twojej aplikacji.
Nieprawidłowa konfiguracja serwera

Sprawdź konfigurację JSON serwera i upewnij się, że wartość SHA jest prawidłowa.

Sprawdź też, czy example.com. (z kropką na końcu) wyświetla te same treści co example.com.

Przekierowania po stronie serwera

System nie weryfikuje żadnych linków aplikacji na Androida w Twojej aplikacji, jeśli skonfigurujesz przekierowanie, np. takie:

  • Od http://example.com do https://example.com
  • Od example.com do www.example.com

Takie działanie chroni bezpieczeństwo aplikacji.

Odporność serwera

Sprawdź, czy aplikacje klienckie mogą łączyć się z serwerem.

Linków, których nie można zweryfikować

Do celów testowych możesz celowo dodać linki, których nie można zweryfikować. Pamiętaj, że w Androidzie 11 i starszych wersjach te linki powodują, że system nie weryfikuje wszystkich linków aplikacji na Androida w Twojej aplikacji.

Nieprawidłowy podpis w pliku assetlinks.json

Sprawdź, czy podpis jest prawidłowy i zgodny z podpisem używanym do podpisywania aplikacji. Typowe błędy to:

  • Podpisywanie aplikacji certyfikatem debugowania i posiadanie tylko podpisu wersji w assetlinks.json.
  • podpisanie dokumentu małymi literami w assetlinks.json, Podpis powinien być zapisany wielkimi literami.
  • Jeśli używasz podpisywania aplikacji przez Google Play, upewnij się, że używasz podpisu, którego Google używa do podpisywania wszystkich wersji Twojej aplikacji. Możesz sprawdzić te szczegóły, w tym pełny fragment kodu JSON, postępując zgodnie z instrukcjami dotyczącymi deklarowania powiązań z witryną.