Convite de usuário iOS
Visão Geral
Implemente e atribua links de convite de usuário para quando os usuários existentes indicarem outras pessoas ao seu aplicativo.
Para uma introdução, consulte o convite do usuário.
Quer ver um exemplo completo? confira o modelo:
Implementar convites de usuários
Antes de começar: converse com o profissional de marketing para descobrir os casos de uso exatos que ele deseja para os links e para obter uma lista dos parâmetros que deseja implementar.
Para implementar a atribuição de convite de usuário, conclua as seguintes etapas:
- Configure a geração de links de convite para gerar links de convite.
- OPCIONAL Registre a criação do link de convite.
- Configurar o Unified Deeplinking (UDL)
- OPCIONAL Recupere dados do referenciador dos links de convite do usuário.
- Opcional Configure recompensas de referência.
O código a seguir é baseado no exemplo do profissional de marketing.
Set up invite link generation
Para permitir que os usuários convidem seus amigos para o seu aplicativo, você precisa de uma maneira de gerar links de convite. Isso é feito usando AppsFlyerLinkGenerator
.
Para configurar a geração de link de convite:
-
Certifique-se de importar
AppsFlyerLib
:import com.appsflyer.AppsFlyerLib;
-
In
AppDelegate
, defina um template do OneLink usandoappInviteOneLinkID
(O ID do template é fornecido pelo profissional de marketing ):AppsFlyerLib.shared().appInviteOneLinkID = "H5hv" // Set the OneLink template ID for userinvitation links
Observação
- Certifique-se de definir
appInviteOneLinkID
antes de ligarstart
- O template do OneLink deve estar relacionado ao aplicativo.
- Certifique-se de definir
-
Somente chame
AppsFlyerShareInviteHelper.generateInviteUrl
e passe umAppsFlyerLinkGenerator
e umcompletionHandler
: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") } } )
Dependendo do fluxo de usuário que você e o profissional de marketing desejam alcançar, configure
generator
do seguinte modo:- Defina parâmetros de atribuição usando configuradores.
- Definir parâmetros de deep linking, usando
AppsFlyerLinkGenerator.addParameterValue
:deep_link_value
: a experiência do aplicativo à qual o usuário indicado deve ter um deep link.deep_link_sub1
: um parâmetro personalizável. Neste exemplo, usado para passar o código promocional recebido pelo convidado.deep_link_sub2
: Identificador do referenciador. Pode ser usado para recompensar o referenciador.
-
No
completionHandler
, verifique se a URL foi criada com sucesso (url
e nãonil
) e recupere o link de convite do usuário gerado. -
Permita que os usuários compartilhem os links gerados. Por exemplo, copie-o para a área de transferência.
Set the shortlink ID
OPCIONAL
The shortlink ID can be determined by the developer, by adding the paramter af_custom_shortlink
para a LinkGenerator
instance.
generator.addParameterValue(<value>, forKey:"af_custom_shortlink")
Log invite link creation events
OPCIONAL
Para registrar o evento de criação de link de convite:
Envie um evento indicando que um usuário gerou um link de convite usando logInvite
:
AppsFlyerShareInviteHelper.logInvite(<CHANNEL>, parameters: [
"campaign" : "summer_sale",
"referrerId" : <REFERRER_ID>,
]);
logInvite
resulta em um evento in-app af_invite
.
Observação
Se você não quiser usar um canal, é possível usar
logEvent
no lugar dele.
Set up UDL for user invite attribution
OPCIONAL
Para configurar o UDL para atribuição de convite do usuário:
-
Configure o Unified Deep Linking (UDL).
-
In
DeepLinkDelegate.didResolveDeepLink
, recupere os parâmetros de deep links criados durante a etapa de geração do link. Neste exemplo, as seguintes propriedades são recuperadas:deep_link_value
, usandoDeepLink.deeplinkValue
deep_link_sub1
, usandoDeepLink.clickEvent["deep_link_sub1"]
deep_link_sub2
, usandoDeepLink.clickEvent["deep_link_sub2"]
Veja o código: Swift.
-
Depois de recuperar o ID do referenciador, depende de você como ele é armazenado e usado.
Referências de recompensa
OPCIONAL
Nos cenários a seguir, o usuário A convida o usuário B para seu aplicativo.
Reward referrers on install
Cenário: o usuário B instala seu aplicativo por meio do link de convite do usuário A.
O ID do referenciador do usuário A está disponível no UDL didResolveDeepLink
(neste exemplo, abaixo de DeepLink.clickEvent["deep_link_sub2"]
). Depois de recuperar o ID, adicione-o à lista de IDs de referência a serem recompensados. Depende de você como armazenar e recuperar a lista.
Reward referrers on in-app events
Cenário: o usuário B faz uma compra. Você quer recompensar o Usuário A por ter indicado o Usuário B.
Para recompensar o usuário A pela ação do usuário B:
- Recupere o ID do referenciador do usuário A e adicione-o a um dos parâmetros de evento in-app personalizáveis (por exemplo,
af_param_1
):AppsFlyerLib.shared().logEvent(AFEventPurchase, withValues: [ AFEventParamRevenue: 200, AFEventParamCurrency:"USD", AFEventParam1: <REFERRER_ID> ]);
- No back-end, recupere dados de eventos in-app.
- Adicione os IDs de referência encontrados a uma lista de usuários a serem recompensados.
- Quando o usuário A inicia o aplicativo, verifique se o ID de referência está na lista de usuários a serem recompensados e recompense-os se estiver.
Observação
- As etapas 2 a 3 não são executadas pelo desenvolvedor mobile. A etapa 4 depende de como as etapas 2 a 3 são implementadas.
- Um evento de compra é apenas um exemplo. Isso se aplica a qualquer tipo de evento in-app.
Atualizado 18 dias atrás