Control de Android App Links

Los vínculos directos controlan los URI de contenido. Los vínculos web controlan los esquemas HTTP y HTTPS. Android App Links controla el atributo autoVerify.
Figura 1: Funciones de vínculos directos, vínculos web y Android App Links

Los usuarios que siguen vínculos desde sus dispositivos tienen un objetivo en mente: llegar al contenido que desean ver. Como desarrollador, puedes configurar Android App Links para dirigir a los usuarios al contenido específico de un vínculo directamente en tu app, sin pasar el diálogo de selección de app, también conocido como diálogo de desambiguación. Como Android App Links aprovechan las URLs HTTP y la asociación con un sitio web, los usuarios que no tienen tu app instalada acceden directamente al contenido de tu sitio.

Antes de implementar Android App Links, es importante comprender los diferentes tipos de vínculos que puedes crear en tu app para Android: vínculos directos, web y Android App Links. En la Figura 1, se muestra la relación entre estos tipos de vínculos, y en las siguientes secciones, se describe cada tipo de vínculo con más detalle.

Los vínculos directos son URIs de cualquier esquema que llevan a los usuarios directamente a una parte específica de tu app. Para crear vínculos directos, agrega filtros de intents para dirigir a los usuarios a la actividad correcta en tu app, como se muestra en el siguiente fragmento de código:

<activity
    android:name=".MyMapActivity"
    android:exported="true"
    ...>
    <intent-filter>
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
        <data android:scheme="geo" />
    </intent-filter>
</activity>

Cuando el usuario hace clic en un vínculo directo, es posible que aparezca un diálogo de desambiguación. Ese diálogo le permite al usuario seleccionar una de varias apps, incluida la tuya, que puedan procesar el vínculo directo proporcionado. En la figura 2, se muestra el diálogo después de que el usuario hace clic en un vínculo de mapa en el que se pregunta si desea abrirlo en Maps o Chrome.

Figura 2: Diálogo de desambiguación

Los vínculos web son vínculos directos que usan los esquemas HTTP y HTTPS. En Android 12 y versiones posteriores, si haces clic en un vínculo web (que no sea un vínculo de app para Android), siempre se muestra contenido en un navegador web. En los dispositivos que ejecutan versiones anteriores de Android, si tu app o alguna otra app instalada en el dispositivo de un usuario también pueden controlar el vínculo web, es posible que los usuarios no vayan directamente al navegador. En su lugar, verán un diálogo de desambiguación similar al que aparece en la figura 2.

En el siguiente fragmento de código, se muestra un ejemplo de un filtro de vínculo web:

<intent-filter>
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />

    <data android:scheme="http" />
    <data android:host="myownpersonaldomain.com" />
</intent-filter>

Android App Links, disponibles en Android 6.0 (nivel de API 23) y versiones posteriores, son vínculos web que usan los esquemas HTTP y HTTPS y contienen el atributo autoVerify. Este atributo permite que tu app se designe a sí misma como el controlador predeterminado de un tipo de vínculo determinado. Por lo tanto, cuando el usuario haga clic en un Android App Link, tu app se abrirá de inmediato si está instalada (no aparecerá el diálogo de desambiguación).

Si el usuario no quiere que tu app sea el controlador predeterminado, puede anular este comportamiento desde la configuración de la app.

En el siguiente fragmento de código, se muestra un ejemplo de un filtro de Android App Link:

<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:scheme="http" />
    <data android:scheme="https" />

    <data android:host="myownpersonaldomain.com" />
</intent-filter>

Android App Links ofrece los siguientes beneficios:

  • Seguro y específico: Android App Links usa URLs HTTP que se vinculan con el dominio de un sitio web de tu propiedad, por lo que ninguna otra app puede usar tus vínculos. Uno de los requisitos de Android App Links es que debes verificar la propiedad de tu dominio mediante uno de los métodos de asociación de nuestro sitio web.
  • Experiencia del usuario fluida: Como Android App Links usan una sola URL HTTP para el mismo contenido en tu sitio web y en tu app, los usuarios que no tienen la app instalada simplemente van a tu sitio web en lugar de la app, sin mensajes 404 ni errores.
  • Compatibilidad con Apps instantáneas Android: Con ella, tus usuarios pueden ejecutar tu app para Android sin instalarla. Si quieres agregar compatibilidad con apps instantáneas a tu app para Android, configura Android App Links y visita g.co/InstantApps.
  • Atrae a los usuarios de la Búsqueda de Google: Los usuarios abren directamente contenido específico de tu app con un clic en una URL de Google desde un navegador para dispositivos móviles, la app de la Búsqueda de Google, la búsqueda directa en Android o mediante Asistente de Google.

Los pasos generales para crear Android App Links son los siguientes:

  1. Crea vínculos directos a contenido específico en tu app: En el manifiesto de la app, crea filtros de intents para los URI de tu sitio web y configura tu app de modo que use datos de los intents para enviar a los usuarios al contenido correcto en tu app. Obtén más información en Cómo crear vínculos directos al contenido de la app.
  2. Agrega la verificación para tus vínculos directos: Configura tu app para solicitar la verificación de los vínculos de apps. Luego, publica un archivo JSON de Vínculos de recursos digitales en tus sitios web para verificar la propiedad a través de Google Search Console. Obtén más información en Cómo verificar vínculos de apps.

Como alternativa a la documentación vinculada anteriormente, Android App Links Assistant es una herramienta de Android Studio que te guía en cada uno de los pasos necesarios para crear Android App Links.

Para obtener información adicional, consulta los siguientes recursos:

Administra y verifica Android App Links

Puedes administrar y verificar los vínculos directos a través de Play Console. Una vez que una app se subió correctamente, el panel (ubicado en Crecimiento > Vínculos directos) muestra una descripción general de los vínculos directos y los errores de configuración.

Figura 3: Panel de vínculos directos de Play Console

El panel ofrece las siguientes secciones:

  • Aspectos destacados de la configuración general de los vínculos directos
  • Todos los dominios declarados en el archivo de manifiesto
  • Vínculos web agrupados por ruta de acceso
  • Vínculos que tienen esquemas personalizados
Cada una de estas secciones muestra el estado del vínculo directo y una forma de corregirlo en caso de error.

Consulta esta guía para obtener más información sobre el panel.