Ссылка на приложение для Android открывает браузер вместо приложения, а поддерживаемая веб-ссылка отключена в информации о приложении.
Для Android 12 и 13 мы недавно включили ссылку на приложение для навигации по глубинным ссылкам. Мы создали assetslinks.json, как указано здесь.
Код из манифеста андроида:
<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:host="host-name" />
<data android:pathPrefix="/path"/>
<data android:scheme="https" />
</intent-filter>
Но, к сожалению, каждый раз, когда осуществляется доступ к ссылке на приложение, ссылка открывается в хроме, а не перенаправляется в приложение. Также в информации о приложении наш домен всегда отключен app-info
Когда я запускаю эту командуadb shell pm get-app-links <package_name>
Я понимаю это,
ID: <id>
Signatures: [*]
Domain verification state:
<my_domain>: 1024
Я не могу понять, почему он возвращает 1024. В консоли Google Play это содержимое активаLinks.json.
{"relation":["delegate_permission/common.handle_all_urls"],"target":{"namespace":"android_app","package_name":"<package-name>","sha256_cert_fingerprints":["<finger_print>"]}}]
Я пробовал все шаги на этих страницах
Но ни одно из упомянутых здесь исправлений не сработало для меня. Это создает огромный производственный инцидент.
В этом посте они говорят, что ожидается отключение. Но я проверил другие приложения, такие как LinkedIn, и рядом с поддерживаемыми ссылками нет кнопки переключения.
Я проверил, что мой локальный SHA-256 и приложение Google Play, подписывающее SHA-256, одинаковы. Тем не менее домен отображается отключенным. Вручную запрашивать у пользователя разрешение не очень удобно. Как мы можем включить это автоматически?