Invitación de usuario de iOS
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. Esto se hace usando AppsFlyerLinkGenerator
.
Para configurar la generación de enlaces de invitación:
-
Asegúrate de importar
AppsFlyerLib
:import com.appsflyer.AppsFlyerLib;
-
In
AppDelegate
, configura una plantilla de OneLink utilizandoappInviteOneLinkID
(El ID de la plantilla es proporcionado por el marketer):AppsFlyerLib.shared().appInviteOneLinkID = "H5hv" // Set the OneLink template ID for userinvitation links
Nota
- Asegúrate de configurar
appInviteOneLinkID
antes de llamar astart
- La plantilla de OneLink debe estar relacionada con la aplicación.
- Asegúrate de configurar
-
Llama a
AppsFlyerShareInviteHelper.generateInviteUrl
y pásalo a unAppsFlyerLinkGenerator
y a uncompletionHandler
:AppsFlyerShareInviteHelper.generateInviteUrl( linkGenerator: { (_ generator: AppsFlyerLinkGenerator) -> AppsFlyerLinkGenerator in generator.addParameterValue(<TARGET_VIEW>, forKey: "deep_link_value") generator.addParameterValue(<PROMO_CODE>, forKey: "deep_link_sub1") generator.addParameterValue(<REFERRER_ID>, forKey: "deep_link_sub2") // Optional; makes the referrer ID available in the installs raw-data report generator.addParameterValue(<REFERRER_ID>, forKey: "af_sub1") generator.setCampaign("summer_sale") generator.setChannel("mobile_share") // Optional; Set a branded domain name: generator.brandDomain = "brand.domain.com" return generator }, completionHandler: { (_ url: URL?) -> Void in if url != nil { NSLog("[AFSDK] AppsFlyer share-invite link: \(url!.absoluteString)") } else { print("url is nil") } } )
Dependiendo del flujo de usuario que tú y el marketer quieran lograr, configura
generator
de la siguiente manera:- Establece parámetros de atribución usando establecedores.
- Establece parámetros de enlaces profundos, usando
AppsFlyerLinkGenerator.addParameterValue
:deep_link_value
: la experiencia de la aplicación a la que se debe enlazar profundamente al usuario referido.deep_link_sub1
: un parámetro personalizable. En este ejemplo, se utiliza para pasar el código de promoción recibido por el invitado.deep_link_sub2
: identificador del referente. Se puede usar para recompensar al referente.
-
En el
completionHandler
, comprueba si la URL se ha creado correctamente (url
nonil
), y recupera el enlace de invitación de usuario generado. -
Permite que los usuarios compartan enlaces generados. Por ejemplo, copialo en su portapapeles.
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.
generator.addParameterValue(<value>, forKey:"af_custom_shortlink")
Log invite link creation events
OPCIONAL
Para registrar el evento de creación del enlace de invitación:
Envía un evento que indique que un usuario ha generado un enlace de invitación usando logInvite
:
AppsFlyerShareInviteHelper.logInvite(<CHANNEL>, parameters: [
"campaign" : "summer_sale",
"referrerId" : <REFERRER_ID>,
]);
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).
-
In
DeepLinkDelegate.didResolveDeepLink
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.deeplinkValue
deep_link_sub1
, usandoDeepLink.clickEvent["deep_link_sub1"]
deep_link_sub2
, usandoDeepLink.clickEvent["deep_link_sub2"]
Ver código: Swift.
-
Una vez que recuperes el ID de refrente, depende de ti cómo se almacene y utilice.
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 referente del usuario A está disponible en el UDL didResolveDeepLink
(en este ejemplo, bajo DeepLink.clickEvent["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 on in-app events
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 referente del usuario A y agrégalo a uno de los parámetros del evento in-app personalizables (por ejemplo,
af_param_1
):AppsFlyerLib.shared().logEvent(AFEventPurchase, withValues: [ AFEventParamRevenue: 200, AFEventParamCurrency:"USD", AFEventParam1: <REFERRER_ID> ]);
- 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 4 meses