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.
Link aplikacji otwiera się w przeglądarce zamiast w 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 adresemhttps://<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_fingerprints
wassetlinks.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 plikuAndroidManifest.xml
zawiera atrybutandroid:autoVerify="true
". - Sprawdź przekierowania po stronie serwera: przekierowania z
http
nahttps
lub z domeny bez „www” nawww
mogą spowodować niepowodzenie weryfikacji. - Wymuś ponowną weryfikację: uruchom polecenia narzędzia ADB w przewodniku Testowanie linków aplikacji, aby uzyskać nowy wynik weryfikacji.
- Sprawdź plik
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.
- Wymuś ponowną weryfikację: najbardziej niezawodny sposób testowania zmian to wymuszenie ponownego pobrania za pomocą
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 coexample.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
dohttps://example.com
- Od
example.com
dowww.example.com
Takie działanie chroni bezpieczeństwo aplikacji.
- Od
- 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ą.
- Podpisywanie aplikacji certyfikatem debugowania i posiadanie tylko podpisu wersji w