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 los vínculos directos, los 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 llevar a los usuarios al contenido específico de un vínculo directamente en tu app sin incluir 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 se dirigen de manera directa 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. Este diálogo permite al usuario seleccionar una de varias apps, incluida la tuya, que puede controlar el vínculo directo determinado. 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, cuando haces clic en un vínculo web (que no es un Android App Link), el contenido siempre se muestra en un navegador web. En dispositivos con versiones anteriores de Android, si tu app o otras apps instaladas 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 cambio, verá 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ínculos 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, disponible 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 vínculo de aplicación para Android, tu app se abre de inmediato si está instalada. El diálogo de desambiguación no aparece.

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 vínculo de aplicación para Android:

<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" />

    <!-- Do not include other schemes. -->
    <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 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 ellas, 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 haciendo clic en una URL de Google desde un navegador móvil, la app de la Búsqueda de Google, la búsqueda directa en Android o mediante el 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 la app para usar datos de los intents y 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 mediante 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, el Asistente de Android App Links es una herramienta de Android Studio que te guía a través de 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 se sube una app 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
  • 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 que haya un error.

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