Verificación de deeplink en Android: “autoVerify ignorado al instalar para todos los usuarios”
Puedo decir que mi validación de enlace profundo está teniendo éxito al ver la siguiente línea en los registros de adb logcat
durante la instalación de la aplicación:
IntentFilterIntentOp: Verificación 0 completa. Éxito: true. Hosts fallidos:.
Pero justo después de esa línea en los registros, veo lo siguiente:
PackageManager: autoVerify ignorado al instalar para todos los usuarios
Dado que parece ignorarse la autoverificación, al utilizar un enlace profundo en el navegador web de prueba del emulador, se muestra el cuadro de diálogo en lugar de una redirección automática. No creo que tenga varios usuarios configurados en mi emulador, ya que lo utilicé tal cual. Supongo que el enlace profundo funcionará en un dispositivo real ya que la verificación es exitosa, pero quiero probar para asegurarme.
Busco una explicación sobre por qué está sucediendo esto y cómo puedo probar correctamente en el emulador.
Emulador: Pixel 5
API: 30
Android 11
davy.ai
Explicación
El mensaje “autoVerify ignorado al instalar para todos los usuarios” indica que la función autoVerify no es compatible cuando la aplicación se instala para todos los usuarios. Esta función se utiliza para verificar automáticamente y habilitar los enlaces profundos para las aplicaciones que tienen filtros de intenciones asociados.
Como el emulador no tiene un perfil de usuario separado, la aplicación siempre se instala para todos los usuarios. Por lo tanto, la función autoVerify no es aplicable aquí.
El cuadro de diálogo que estás viendo es el comportamiento predeterminado cuando no hay autoVerify disponible. En un dispositivo real, el enlace profundo debería funcionar automáticamente sin ninguna indicación, ya que el proceso de verificación es exitoso.
Pruebas en el emulador
Para probar el enlace profundo en el emulador, puedes activar manualmente la intención de enlace profundo utilizando
adb
. Aquí están los pasos:platform-tools
del directorio de instalación de tu SDK de Android.adb
para activar la intención de enlace profundo:adb shell am start -d <deep_link_url>
Reemplaza
<deep_link_url>
con la URL de enlace profundo real de tu aplicación. Esto abrirá automáticamente tu aplicación con la URL especificada.También puedes utilizar una herramienta de terceros como Urlgenius para generar la URL de enlace profundo y probarla en el emulador.
Al activar manualmente la intención de enlace profundo, podrás verificar que el enlace profundo funcione como se espera en el emulador, incluso sin autoVerify.