Guía técnica para el enlazado profundo en Android: URL de referencia de Google Play

Esta es la cuarta parte de una guía técnica en cuatro partes sobre el enlazado profundo en Android. Las publicaciones anteriores trataban sobre los esquemas URIlos intents de Chrome, y los enlaces en la aplicación.

Usar la URL de referencia de Google Play para enlazado profundo

Una técnica de enlazado profundo es para un caso de uso especializado en el que la aplicación no está instalada. Como desarrollador, tiene la opción de pasar un parámetro personalizado a través de la tienda Google Play que luego se recibirá en su aplicación una vez que el usuario la abra por primera vez. Esta técnica le permite saber de dónde vino ese nuevo usuario si gestiona este parámetro correctamente, y puede crear páginas de destino personalizadas o enlaces profundos en el proceso de instalación.

Google Play Referrer Google Deep Linking

Requisitos para la URL de referencia de instalación en Android
  • La aplicación no debe estar instalada
  • No se puede usar con intents de Chrome, pues necesita estructurar la URL de Play Store.
Configuración de la URL de referencia de instalación en Android

Para configurar su aplicación para recibir la URL de referencia de instalación en Android, debe registrar su aplicación para recibir la difusión de com.android.vending.INSTALL_REFERRER. Introduzca lo siguiente entre las etiquetas <application /> de su manifiesto.

 

<receiver android:name=io.branch.testbed.InstallListener android:exported=true>
<intent-filter>
<action android:name=com.android.vending.INSTALL_REFERRER />
</intent-filter>
</receiver>

 

En este caso, io.branch.testbed.InstallListener es el nombre de la clase personalizada que recibirá las difusiones. Es una subclase sencilla de BroadcastReceiver. Este es el código reutilizable que necesitará para esta clase:

public class InstallListener extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// called in the install referrer broadcast case
}
}

 

Manejo de la aplicación

Una vez configurado su BroadcastReceiver como se ha descrito anteriormente, manejar el intent es sencillo. Es un mecanismo muy similar al manejo de los intents de esquemas de URI, pero sucede desde dentro de la llamada onReceive. Aquí puede ver un ejemplo:

 

@Override
public void onReceive(Context context, Intent intent) {
String rawReferrerString = intent.getStringExtra(“referrer”);
if(rawReferrerString != null) {
Log.i(“MyApp”, “Received the following intent “ + rawReferrerString);
}
}

 

Uso práctico de la URL de referencia de Google Play

Para usar esta técnica correctamente, debe poder controlar el enlace a Google Play Store con el que interactúa el usuario. Digamos que el nombre de su paquete de aplicaciones es io.branch.testbed; entonces sabemos que Google Play se puede abrir con cualquiera de estos:

  1. market://details?id=io.branch.testbed
  2. https://play.google.com/store/apps/details?id=io.branch.testbed

Para añadir una URL de referencia, deberá añadir &referrer=specialparam a cualquiera de los enlaces. Para ello necesitará controlar el propio enlace.

Nota: Como habrá visto al leer la sección de intent de Chrome, no tiene el control del enlace de Play Store, lo que significa que no podrá aprovechar este método.

Para controlar el parámetro de la URL de referencia, le recomendamos que la inserte en el JS del lado del cliente descrito en el método URI. Aquí tiene un fragmento de código que muestra cómo se añade la URL de referencia a la función de reserva del enlace de mercado que se ejecuta tras intentar abrir la aplicación:

 

var fallbackFunction = function() {
window.location.replace(‘market://details?id=io.branch.testbed&referrer=specialparam’);
};
var addIFrame = function() {
var iframe = document.createElement(“iframe”);
iframe.style.border = “none”;
iframe.style.width = “1px”;
iframe.style.height = “1px”;
iframe.src = ‘your_uri_scheme://’;
document.body.appendChild(iframe);
};
addIFrame();
setTimeout(fallbackFunction, 250);
view rawreferrer.js hosted with ❤ by GitHub

 

Conclusión

Si se le ponen los ojos en blanco al leer esto, lo entendemos. El enlazado profundo de Google es muy complicado y hay casos de punto crítico de forma continua. Si usa la herramienta de Branch, puede confiar en que sus enlaces funcionarán en todas las situaciones.

TO LEARN MORE ABOUT BRANCH'S
PRODUCTS AND SERVICES

Solicitar demonstración