Cómo implementar App indexing en Android

La indexación de aplicaciones o APP indexing es un concepto relativamente nuevo y básicamente consiste en un sistema que permite a los usuarios acceder a los contenidos de la aplicación a través del buscador de Google.
De esta forma, la barrera entre webs y apps se reduce, permitiendo a los usuarios móviles que busquen contenido relacionado con tu aplicación, acceder a la app directamente a través de las páginas de resultados. Pero para esto, es imprescindible asegurarnos que el índice de Google es capaz de acceder al contenido de nuestra aplicación.

A continuación, describiremos el proceso para informar a Google dónde se encuentra en el contenido de la app y con qué URL se relaciona dentro de la web. A esto último se le llama enlaces profundos o deep linking.

App Indexing para Android

Lo primero que debemos hacer para implementar el App Indexing en Android es asegurarnos de que la aplicación soporta enlaces profundos o deep links. Esto se hace a través de un filtro de intención incluido en el fichero AndroidManifest.xml. Un filtro de intención no es otra cosa que un código para emparejar una petición HTTP o un esquema URI personalizado con su contenido.

Un filtro de intención cuenta con una etiqueta <action> que especifica la acción de intención ACTION_VIEW para que se pueda llegar al filtro desde la búsqueda de Google. Una etiqueta <data> que indica el formato de los enlaces profundos. Y por último, una etiqueta <category> con la intención BROWSABLE para que al hacer clic en un enlace en el navegador se acceda a la aplicación.

Podéis ver el código de un filtro de intención y más información sobre su implementación aquí.

Una vez implementado el filtro de intención, debemos asociar cada enlace profundo con la URL del sitio web. Esto se puede hacer de varias formas:

  • Rel=alternate: incluyendo el enlace profundo en el código HTML de la página. En la sección <head> de cada página añadimos un elemento <link> especificando el enlace profundo.

Ej:

<html>
<head>
<link rel=»alternate»
href=»android-app://{package_id}/{schema}/{host}/{pathPrefix}» />

</head>
<body> … </body>

  • XML Sitemap: una alternativa al método anterior es añadir la URI de la App al fichero Sitemap.xml en su equivalente URL del sitio web mediante un elemento <xhtml:link>.

La forma de implementar esto sería:

<?xml version=»1.0″ encoding=»UTF-8″ ?>

<urlset xmlns=»http://www.sitemaps.org/schemas/sitemap/0.9″

xmlns:xhtml=»http://www.w3.org/1999/xhtml»>

<url>

<loc>http://{host}/{path_prefix}</loc>

<xhtml:link rel=»alternate» href=»android-app://{package_id}/{schema}/{host}/{path_prefix}» />

</url>

</urlset>

 

  • Marcado Schema.org: para Android, también se puede utilizar el marcado Schema.org. Se trata de otra alternativa y consiste en añadir un fragmento de código JSON+LD para definir la relación entre cada URL y el contenido de la aplicación. A continuación podéis de qué forma se implementaría:

<script type=”application/ld+json”>

«@context»: «http://schema.org»,

«@type»: «WebPage»,

«@id»: «http://{host}/{pathPrefix}», «potentialAction»: {

«@type»: «ViewAction», «target»: » android-app://{ package_id}/{schema}/{host}/{pathPrefix}» } }

<script>

¡OJO! Para finalmente activar el App indexing en Android, no olvides conectar tu aplicación a tu sitio web. Para que todo funcione correctamente, debemos asociar la página web a la aplicación a través de la consola de desarrolladores de Google Play. Más información sobre este proceso aquí.

Testeo y depuración de errores

Una vez que hemos hecho la implementación, podemos comprobar que los enlaces hacia el contenido están correctos a través de los siguientes métodos:

  • Android Debug Bridge: el adb es una herramienta que viene junto con el SDK de Android y nos permite acceder y controlar un dispositivo desde el ordenador.

Si ejecutamos la herramienta a través de la consola de comandos de Windows podemos comprobar si nuestros enlaces están bien implementados a través de los siguientes comandos:

adb shell am start -a android.intent.action.VIEW -d «http://ejemplo.com/hola» com.ejemplo.android

adb shell am start -a android.intent.action.VIEW -d «ejemplo://hola» com.ejemplo.android

  • Link Test Tool: si introducimos un enlace profundo en la herramienta https://applinktest.appspot.com/ generamos un código QR que podemos escanear usando una aplicación adecuada. De esta forma, podemos asegurarnos de que en enlace profundo es correcto.

Las llamadas a la API de indexación de aplicaciones también pueden dar lugar a errores. Para asegurarnos que no existen errores en este proceso podemos hacer lo siguiente:

  • A través de adb podemos registrar y revisar los datos enviados en las llamadas a la API App Indexing. Revisando los logs podemos ver la información de las llamadas a la API.
  • Usando la herramienta explorar como Google, accesible a través de Search Console, podemos depurar cualquier error detectado en el rastreo del contenido de la app.
  • Informe de errores de rastreo: si Googlebot tiene problemas para acceder al contenido, los errores quedan reflejados en el informe de errores de rastreo de Search Console. De esta forma, nos aseguramos que Google ha podido acceder al contenido de nuestra app.
Rate this post
The following two tabs change content below.

Agustin Díaz Serrano

Últimos artículos de Agustin Díaz Serrano (Ver todos)

Tags: