Control de Android App Links

Los vínculos directos controlan los URI de contenido. Los vínculos web manejan 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 que lleve a los usuarios al contenido específico de un vínculo directamente en tu app y evite el diálogo de selección de apps, también conocido como diálogo de desambiguación. Debido a que Android App Links aprovecha las URLs HTTP y la asociación con un sitio web, los usuarios que no tienen tu app instalada van 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, vínculos 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 URI 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 que dirijan 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. Este diálogo permite al usuario seleccionar una de varias apps, incluida la tuya, que pueden administrar el vínculo directo determinado. En la Figura 2, se muestra el diálogo después de que el usuario hace clic en el vínculo de un mapa y le pregunta si desea abrirlo en Maps o Chrome.

Figura 2: Diálogo de desambiguación

Los vínculos web son vínculos directos que utilizan los esquemas HTTP y HTTPS. En Android 12 y versiones posteriores, si haces clic en un vínculo web (que no sea un Android App Link), siempre se mostrará el 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 puede controlar el vínculo web, es posible que los usuarios no vayan directamente al navegador. En cambio, 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>

Los 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 hace clic en un Android App Link, tu app se abre inmediatamente si está instalada; no aparece el diálogo de desambiguación.

Si el usuario no desea 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 URL HTTP que se vinculan a un dominio de 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 verifiques la propiedad de tu dominio mediante uno de nuestros métodos de asociación de sitios web.
  • Experiencia del usuario fluida: Debido a que Android App Links usa una única 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 páginas 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 cuando hacen 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 por medio del 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 a fin de 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:

Cómo administrar y verificar Android App Links

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

Figura 3: Vínculos directos del panel de Play Console

El panel incluye 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
En cada una de estas secciones, se 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.