Ir a la consola

Mejora el rendimiento de búsqueda

Mejora la clasificación de la app en la Búsqueda de Google, desde la creación de contenido hasta el análisis del rendimiento.

Analiza con referencias de búsqueda

Puedes usar la información de URL de referencia de los vínculos a la app provenientes de la Búsqueda de Google para otras herramientas de análisis. Por ejemplo, nuestro laboratorio de código sobre el seguimiento de referencias a tu app muestra cómo deberías usar las URL de referencia de búsqueda junto con Google Analytics para el análisis general de la app.

Si quieres compilar tu propia solución para hacer un seguimiento del tráfico de búsqueda a la app, puedes pasar un android.intent.extra.REFERRER_NAME de prueba adicional con Android Debug Bridge. El siguiente comando de ejemplo demuestra cómo hacerlo si suponemos que el nombre del paquete de la app es package_name y la URL es www.examplepetstore.com:

adb shell am start
   -a android.intent.action.VIEW
   -c android.intent.category.BROWSABLE
   -e android.intent.extra.REFERRER_NAME android-app://com.google.android.googlequicksearchbox/https/www.examplepetstore.com
   -d http://examplepetstore.com/host_path com.examplepetstore.android

Esta prueba simula la apertura de una URL HTTP y la transmisión de información de referencia que especifique que el tráfico proviene de la app de Google.

Extrae información de referencia

La clase com.google.firebase.appindexing.AndroidAppUri permite extraer los URI de referencia. Un intent adicional proporciona la información del referente de la URL HTTP con la clave android.intent.extra.REFERRER_NAME.

Los siguientes ejemplos muestran valores de referencia de varias fuentes:

  • Chrome: https://www.google.com
  • Google app: android-app://com.google.android.googlequicksearchbox/https/www.google.com
  • Robot de Google: android-app://com.google.appcrawler
  • Rastreador de apps de Google AdsBot: android-app://com.google.adscrawler

El siguiente fragmento de código muestra cómo extraer información de referencia de la Búsqueda.

Java

public class MeasureActivity extends AppCompatActivity {

    @Override
    public Uri getReferrer() {

        // There is a built in function available from SDK>=22
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP_MR1) {
            return super.getReferrer();
        }

        Intent intent = getIntent();
        Uri referrer = (Uri) intent.getExtras().get("android.intent.extra.REFERRER");
        if (referrer != null) {
            return referrer;
        }

        String referrerName = intent.getStringExtra("android.intent.extra.REFERRER_NAME");

        if (referrerName != null) {
            try {
                return Uri.parse(referrerName);
            } catch (ParseException e) {
                // ...
            }
        }

        return null;
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // ...
        Uri referrer = getReferrer();

        if (referrer != null) {
            if (referrer.getScheme().equals("http") || referrer.getScheme().equals("https")) {
                // App was opened from a browser
                // host will contain the host path (e.g. www.google.com)
                String host = referrer.getHost();

                // Add analytics code below to track this click from web Search
                // ...

            } else if (referrer.getScheme().equals("android-app")) {
                // App was opened from another app
                AndroidAppUri appUri = AndroidAppUri.newAndroidAppUri(referrer);
                String referrerPackage = appUri.getPackageName();
                if ("com.google.android.googlequicksearchbox".equals(referrerPackage)) {
                    // App was opened from the Google app
                    // host will contain the host path (e.g. www.google.com)
                    String host = appUri.getDeepLinkUri().getHost();

                    // Add analytics code below to track this click from the Google app
                    // ...

                } else if ("com.google.appcrawler".equals(referrerPackage)) {
                    // Make sure this is not being counted as part of app usage
                    // ...
                }
            }
        }
        // ...
    }
}

Kotlin

class MeasureActivity : AppCompatActivity() {

    override fun getReferrer(): Uri? {

        // There is a built in function available from SDK>=22
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP_MR1) {
            return super.getReferrer()
        }

        val intent = intent
        val referrer = intent?.extras?.get("android.intent.extra.REFERRER") as Uri?
        if (referrer != null) {
            return referrer
        }

        val referrerName = intent.getStringExtra("android.intent.extra.REFERRER_NAME")

        if (referrerName != null) {
            try {
                return Uri.parse(referrerName)
            } catch (e: ParseException) {
                // ...
            }
        }

        return null
    }

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        // ...
        val referrer = referrer

        if (referrer != null) {
            if (referrer.scheme == "http" || referrer.scheme == "https") {
                // App was opened from a browser
                // host will contain the host path (e.g. www.google.com)
                val host = referrer.host

                // Add analytics code below to track this click from web Search
                // ...
            } else if (referrer.scheme == "android-app") {
                // App was opened from another app
                val appUri = AndroidAppUri.newAndroidAppUri(referrer)
                val referrerPackage = appUri.packageName
                if ("com.google.android.googlequicksearchbox" == referrerPackage) {
                    // App was opened from the Google app
                    // host will contain the host path (e.g. www.google.com)
                    val host = appUri.deepLinkUri.host

                    // Add analytics code below to track this click from the Google app
                    // ...
                } else if ("com.google.appcrawler" == referrerPackage) {
                    // Make sure this is not being counted as part of app usage
                    // ...
                }
            }
        }
        // ...
    }
}

Crea contenido excelente para la Web y los dispositivos móviles

Puedes mejorar la clasificación si proporcionas contenido de alta calidad en la app y el sitio web asociado. Esto se debe a que nuestros sistemas analizan la asociación entre las dos propiedades para determinar la clasificación para los resultados de las búsquedas web y de dispositivos móviles. Específicamente, recuerda lo siguiente:

  • Asegúrate de que el sitio asociado cumpla con nuestros lineamientos de diseño y contenido.
  • Sigue las mismas prácticas recomendadas en nuestra guía SEO para dispositivos móviles.

A fin de garantizar una excelente experiencia de búsqueda para los usuarios, desde Google podemos tomar medidas correctivas si observamos abusos, engaños o acciones de otro tipo que afecten negativamente la experiencia de búsqueda de los usuarios. Algunas de estas medidas son el descenso de nivel o la eliminación de las URL HTTP de los resultados de la Búsqueda de Google.