Invitación de usuario de Android
Resumen General
Implementa y atribuye enlaces de invitación de usuario para cuando los usuarios existentes refieran a otros a tu aplicación.
Para ver una introducción, consulta Invitaciones de usuario.
¿Quieres ver un ejemplo completo? consulta la fórmula:
Implementar invitaciones de usuario
Antes de empezar: sincronízate con el marketer para averiguar los casos de uso exactos que desea para los enlaces y para obtener una lista de los parámetros que desea implementar.
Para implementar la atribución de invitaciones de usuario, completa los siguientes pasos:
- Configura la generación de enlaces de invitación para generar enlaces de invitación.
- OPCIONAL Registra la creación del enlace de invitación.
- Configura enlaces profundos unificados (UDL)
- OPCIONAL Recupera datos del referente de enlaces de invitación de usuario.
- Opcional Configura recompensas para el referente.
El código siguiente se basa en el ejemplo del marketer.
Set up invite link generation
Para permitir que los usuarios inviten a sus amigos a tu aplicación, necesitas una forma de generar enlaces de invitación de usuario. Esto se hace usando LinkGenerator
.
Para configurar la generación de enlaces de invitación de usuario:
-
Asegúrate de importar las siguientes dependencias:
import com.appsflyer.AppsFlyerLib; import com.appsflyer.CreateOneLinkHttpTask; import com.appsflyer.share.LinkGenerator; import com.appsflyer.share.ShareInviteHelper;
-
Configura una plantilla de OneLink utilizando
setAppInviteOneLink()
(El ID de la plantilla es proporcionado por el marketer):AppsFlyerLib.getInstance().setAppInviteOneLink("H5hv"); // set the OneLink template ID the user invite links will be based on
Nota
- Asegúrate de llamar a
setAppInviteOneLink()
antes de llamar astart
. - La plantilla de OneLink debe estar relacionada con la aplicación.
- Asegúrate de llamar a
-
Crea una etiqueta
LinkGenerator
usingShareInviteHelper.generateInviteUrl()
.LinkGenerator linkGenerator = ShareInviteHelper.generateInviteUrl(getApplicationContext());
-
Según el flujo de usuario que desees lograr, agrega los siguientes parámetros utilizando
linkGenerator.addParameter()
:linkGenerator.addParameter("deep_link_value", <TARGET_VIEW>); linkGenerator.addParameter("deep_link_sub1", <PROMO_CODE>); linkGenerator.addParameter("deep_link_sub2", <REFERRER_ID>); // Optional; makes the referrer ID available in the installs raw-data report linkGenerator.addParameter("af_sub1", <REFERRER_ID>);
deep_link_value
: la experiencia de la aplicación a la que se debe enlazar profundamente al usuario referido.deep_link_sub1
: código promocional recibido por el invitado.deep_link_sub2
: identificador del referente. Se puede usar para recompensar al referente.- Nota: Si tienes el SDK V6.5.2 o inferior, debes codificar los valores de parámetros con caracteres especiales.
-
Establece los parámetros de atribución. (Estos se mostrarán en los paneles de control de AppsFlyer y en los reportes de raw data).
linkGenerator.setCampaign("summer_sale"); linkGenerator.setChannel("mobile_share");
-
Opcional Establece un dominio de marca para el enlace generado:
linkGenerator.setBrandDomain("brand.domain.com");
-
Crea una etiqueta
LinkGenerator.ResponseListener
para recuperar el enlace de invitación de usuario cuando esté disponible:LinkGenerator.ResponseListener listener = new LinkGenerator.ResponseListener() { @Override public void onResponse(String s) { Log.d(LOG_TAG, "Share invite link: " + s); // ... } @Override public void onResponseError(String s) { Log.d(LOG_TAG, "onResponseError called"); } };
Nota
Since SDK v6.9.0
LinkGenerator.ResponseListener
replacedCreateOneLinkHttpTask.ResponseListener
onResponse()
se invoca cuando la invitación de usuario se crea correctamente.onResponseError()
se invoca cuando falla la generación del enlace.
- pass
listener
tolinkGenerator.generateLink()
:linkGenerator.generateLink(getApplicationContext(), listener);
Set the shortlink ID
OPCIONAL
The shortlink ID can be determined by the developer, by adding the paramter af_custom_shortlink
a la LinkGenerator
instance.
linkGenerator.addParameter("af_custom_shortlink", <value>);
Log invite link creation events
OPCIONAL
Para registrar el evento de creación de enlaces de invitación:
Registra la invitación con logInvite()
:
HashMap<String,String> logInviteMap = new HashMap<String,String>();
logInviteMap.put("referrerId", <REFERRER_ID>);
logInviteMap.put("campaign", "summer_sale");
ShareInviteHelper.logInvite(getApplicationContext(), "mobile_share", logInviteMap);
logInvite
da como resultado un evento in-app af_invite
.
Nota
Si no quieres usar un canal, puedes usar
logEvent
en su lugar.
Set up UDL for user invite attribution
OPCIONAL
Para configurar UDL para la atribución de invitaciones de usuario:
Configura enlaces profundos unificados (UDL). En DeepLinkListener.onDeepLinking()
recupera los parámetros de enlaces profundos creados durante el paso de generación de enlaces. En este ejemplo, se recuperan las siguientes propiedades:
deep_link_value
, usandoDeepLink.getDeepLinkValue()
deep_link_sub1
, usandoDeepLink.getStringValue()
deep_link_sub2
, usandoDeepLink.getStringValue()
Ver código: Java.
Recompensa a los referentes
OPCIONAL
En los siguientes escenarios, el usuario A invitó al usuario B a tu aplicación.
Reward referrers on install
Situación: el usuario B instala tu aplicación a través del enlace de invitación del usuario A.
El ID de usuario A está disponible en DeepLinkListener.onDeepLinking()
y, en este ejemplo, se recupera usando DeepLink.getStringValue("deep_link_sub2")
. Una vez que recuperes el ID, agrégalo a la lista de ID de referentes para las recompensas. Depende de ti cómo almacenar y recuperar esa lista.
Reward referrers for user actions
Escenario: el usuario B realiza una compra. Deseas recompensar al Usuario A, que inicialmente refirió al Usuario B a tu aplicación, por la acción.
Para recompensar al usuario A por la acción del usuario B:
-
Recupera el ID de referencia del usuario A y agrégalo a uno de los parámetros de eventos in-app personalizables (por ejemplo,
af_param_1
):Map<String, Object> purchaseEventParameters = new HashMap<String, Object>(); purchaseEventParameters.put(AFInAppEventParameterName.PARAM_1, <REFERRER_ID>); purchaseEventParameters.put(AFInAppEventParameterName.CURRENCY, "USD"); purchaseEventParameters.put(AFInAppEventParameterName.REVENUE, 200); AppsFlyerLib.getInstance().logEvent(getApplicationContext(), purchaseEventParameters);
-
En tu backend, recupera los datos del evento in-app
-
Agrega los ID de referentes de usuarios encontrados a una lista de usuarios que se recompensarán.
-
Cuando el usuario A inicie la aplicación, verifica si su ID de referente está en la lista de usuarios para ser recompensados y recompénsalo si es así.
Nota
- Los pasos 2 y 3 no los lleva a cabo el desarrollador móvil. El paso 4 depende de cómo se implementen los pasos 2 y 3.
- Un evento de compra es solo un ejemplo. Esto se aplica a cualquier tipo de evento in-app.
Actualizado hace 20 días