Google se compromete a impulsar la igualdad racial para las comunidades afrodescendientes. Obtén información al respecto.

Cómo agregar Android App Links

Los Android App Links son URL HTTP que acercan a los usuarios al contenido específico de tu app para Android. Pueden atraer más tráfico a tu app, ayudarte a descubrir qué contenido de la app se utiliza más y facilitar que los usuarios compartan y busquen contenido en una app instalada.

Para agregar compatibilidad con Android App Links, haz lo siguiente:

  1. Crea filtros de intent en tu manifiesto.
  2. Agrega código a las actividades de tu app para controlar los vínculos entrantes.
  3. Asocia tu app y sitio web con vínculos Digital Asset Links.

App Links Assistant de Android Studio 2.3 y versiones posteriores simplifica el proceso en un asistente paso a paso, como se describe a continuación.

Para obtener más información sobre el funcionamiento de los vínculos de apps y los beneficios que ofrecen, lee Cómo controlar Android App Links.

Cómo agregar filtros de intents

App Links Assistant de Android Studio puede ayudarte a crear filtros de intents en tu manifiesto y asignar las URL existentes de tu sitio web a actividades de tu app. También agrega código Java de plantilla en cada actividad correspondiente para controlar el intent.

Para agregar filtros de intents y controlar las URL, sigue estos pasos:

  1. Selecciona Herramientas > App Links Assistant.
  2. Haz clic en Open URL Mapping Editor y, a continuación, en Add  en la parte inferior de la lista URL Mapping para agregar una nueva asignación de URL.
  3. Agrega detalles para la nueva asignación de URL:
    El App Links Assistant te guía en el proceso básico para asignar URL

    Figura 1: Agrega detalles básicos sobre la estructura de vínculos de tu sitio para asignar URL a las actividades de tu app

    1. Ingresa la URL de tu sitio web en el campo Host.
    2. Agrega un valor de path, pathPrefix o pathPattern para las URL que quieras asignar. Por ejemplo, si tienes una app para compartir recetas, con todas las recetas disponibles en la misma actividad, y las recetas correspondientes de tu sitio web están todas en el mismo directorio /recipe, usa pathPrefix y luego ingresa /recipe. De esta manera, se asigna la URL http://www.recipe-app.com/recipe/grilled-potato-salad a la actividad que selecciones en el siguiente paso.
    3. En Activity, selecciona la actividad a la que los usuarios llegarán mediante la URL.
    4. Haz clic en OK.
  4. App Links Assistant agrega filtros de intent en función de tu asignación de URL al archivo AndroidManifest.xml y lo destaca en el campo Preview. Si deseas realizar algún cambio, haz clic en Open AndroidManifest.xml para editar el filtro de intent. (Obtén más información acerca de los filtros de intents en Android).

    Nota: Para admitir más vínculos sin actualizar tu app, debes definir una asignación de URL que admita las URL que agregarás en el futuro. Además, recuerda incluir una URL para la pantalla principal de tu app a fin de que se incluya en los resultados de la búsqueda.

  5. Para verificar que la asignación de URL funcione correctamente, ingresa una URL en el campo Check URL Mapping y haz clic en Check Mapping. Si funciona, aparece un mensaje que indica que la URL está asignada de manera correcta a la actividad que seleccionaste.

Cómo procesar vínculos entrantes

Una vez que hayas verificado que tu asignación de URL funciona correctamente, agrega la lógica para controlar el intent que creaste.

  1. Haz clic en Select Activity en App Links Assistant.
  2. Selecciona una actividad de la lista y haz clic en Insert Code.

App Links Assistant agrega código al archivo Java de tu actividad similar al siguiente (ten en cuenta que, actualmente, App Links Assistant no admite Kotlin, por lo que tendrás que agregar este código de forma manual):

Kotlin

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)

    val appLinkIntent = intent
    val appLinkAction = appLinkIntent.action
    val appLinkData = appLinkIntent.data

}

Java

// ATTENTION: This was auto-generated to handle app links.
Intent appLinkIntent = getIntent();
String appLinkAction = appLinkIntent.getAction();
Uri appLinkData = appLinkIntent.getData();

Sin embargo, este código no está completo por sí solo. Ahora debes realizar una acción en función del URI de appLinkData, como mostrar el contenido correspondiente. Por ejemplo, el código de la app para compartir recetas podría ser similar al del siguiente ejemplo:

Kotlin

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    ...
    handleIntent(intent)
}

override fun onNewIntent(intent: Intent) {
    super.onNewIntent(intent)
    handleIntent(intent)
}

private fun handleIntent(intent: Intent) {
    val appLinkAction = intent.action
    val appLinkData: Uri? = intent.data
    if (Intent.ACTION_VIEW == appLinkAction) {
        appLinkData?.lastPathSegment?.also { recipeId ->
            Uri.parse("content://com.recipe_app/recipe/")
                    .buildUpon()
                    .appendPath(recipeId)
                    .build().also { appData ->
                        showRecipe(appData)
                    }
        }
    }
}

Java

protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  ...
  handleIntent(getIntent());
}

protected void onNewIntent(Intent intent) {
  super.onNewIntent(intent);
  handleIntent(intent);
}

private void handleIntent(Intent intent) {
    String appLinkAction = intent.getAction();
    Uri appLinkData = intent.getData();
    if (Intent.ACTION_VIEW.equals(appLinkAction) && appLinkData != null){
        String recipeId = appLinkData.getLastPathSegment();
        Uri appData = Uri.parse("content://com.recipe_app/recipe/").buildUpon()
            .appendPath(recipeId).build();
        showRecipe(appData);
    }
}

Cómo asociar tu app con tu sitio web

Después de configurar la compatibilidad de URL para tu app, App Links Assistant genera un archivo de Vínculos de recursos digitales que puedes usar para asociar tu sitio web con la app.

Como alternativa al uso del archivo de Vínculos de recursos digitales, puedes asociar tu sitio y tu app en Search Console.

Para asociar tu app y el sitio web con App Links Assistant, haz clic en Open Digital Asset Links File Generator y sigue los pasos que aparecen a continuación:

El App Links Assistant te guía en el proceso básico para asignar URL

Figura 2: Ingresa los detalles sobre tu sitio y app para generar un archivo de Vínculos de recursos digitales.

  1. Ingresa el Dominio del sitio y tu ID de aplicación.
  2. A fin de incluir compatibilidad en tu archivo de Vínculos de recursos digitales para Smart Lock para contraseñas, selecciona Support sharing credentials between the app and the website e ingresa la URL de acceso de tu sitio. De esta manera, se agrega la siguiente string al archivo de Vínculos de recursos digitales que declara que la app y tu sitio web comparten las credenciales de acceso: delegate_permission/common.get_login_creds. Obtén más información sobre la compatibilidad de Smart Lock para contraseñas en tu app.
  3. Especifica la configuración de firmas o selecciona un archivo de almacén de claves. Asegúrate de seleccionar el archivo correcto de configuración o de almacén de claves para la compilación de lanzamiento o la compilación de depuración de tu app. Si quieres configurar la compilación de producción, usa la configuración de lanzamiento. Si quieres probar tu compilación, usa la configuración de depuración.
  4. Haz clic en Generate Digital Asset Links file.
  5. Una vez que Android Studio genere el archivo, haz clic en Guardar archivo para descargarlo.
  6. Sube el archivo assetlinks.json a tu sitio, con acceso de lectura para todos, en https://<yoursite>/.well-known/assetlinks.json.

    Importante: El sistema verifica el archivo de Vínculos de recursos digitales mediante el protocolo HTTPS encriptado. Asegúrate de que sea posible acceder al archivo assetlinks.json mediante una conexión HTTPS, independientemente de si el filtro de intents de tu app incluye https.

  7. Haz clic en Link and Verify para confirmar que subiste el archivo correcto de Vínculos de recursos digitales en la ubicación correspondiente.

Obtén más información para asociar tu sitio web con la app mediante el archivo de Vínculos de recursos digitales en Cómo declarar la asociación de sitios web.

Cómo probar tus vínculos de apps

Para verificar que tus vínculos abran la actividad correcta, sigue estos pasos:

  1. Haz clic en Test App Links en App Links Assistant.
  2. Ingresa la URL que quieres probar en el campo URL, por ejemplo, http://recipe-app.com/recipe/grilled-potato-salad.
  3. Figura 3: App Links Assistant muestra un mensaje de éxito y abre tu app en el contenido especificado cuando la URL que estás probando se asigna correctamente a una actividad de tu app

  4. Haz clic en Run Test.
  5. Si la asignación de URL no está configurada de forma correcta o no existe, aparecerá un mensaje de error debajo de la URL en la ventana Test App Links. Si la asignación de URL existe, Android Studio iniciará tu app en el dispositivo o emulador en la actividad especificada sin mostrar el diálogo de desambiguación ("selector de aplicación"), y mostrará un mensaje de éxito en la ventana App Link Testing. Si Android Studio no puede iniciar la app correctamente, aparecerá un mensaje de error en la ventana Run de Android Studio.

Para probar Android App Links con App Links Assistant, debes tener un dispositivo conectado a un dispositivo virtual disponible que ejecute Android 6.0 (nivel de API 23) o versiones posteriores. Si quieres obtener más información, consulta los instructivos para conectar un dispositivo o crear un AVD.

Cómo agregar Firebase App Indexing

Después de agregar Android App Links a tu app, puedes agregar el código de Firebase App Indexing a una actividad para lograr que los usuarios regresen a tu app desde las funciones adicionales de la Búsqueda de Google, que incluyen sugerencias de autocompletar y búsquedas dentro de las apps. Obtén más información sobre este tema en la documentación de Firebase App Indexing.

Para agregar Firebase App Indexing a tu app, usa el Firebase Assistant de Android Studio y expande la sección App Indexing a fin de obtener instrucciones paso a paso.