Convite de usuário do Android
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ário
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.
- Configure o Unified Deep Linking) (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 de usuário. Isso é feito usando LinkGenerator
.
Para configurar a geração de link de convite de usuário:
-
Certifique-se de importar as seguintes dependências:
import com.appsflyer.AppsFlyerLib; import com.appsflyer.CreateOneLinkHttpTask; import com.appsflyer.share.LinkGenerator; import com.appsflyer.share.ShareInviteHelper;
-
Defina um template do OneLink usando
setAppInviteOneLink()
(O ID do template é fornecido pelo profissional de marketing ):AppsFlyerLib.getInstance().setAppInviteOneLink("H5hv"); // set the OneLink template ID the user invite links will be based on
Observação
- Certifique-se de chamar
setAppInviteOneLink()
antes de ligarstart
. - O template do OneLink deve estar relacionado ao aplicativo.
- Certifique-se de chamar
-
Crie uma
LinkGenerator
usingShareInviteHelper.generateInviteUrl()
.LinkGenerator linkGenerator = ShareInviteHelper.generateInviteUrl(getApplicationContext());
-
Dependendo do fluxo do usuário que você deseja alcançar, adicione os seguintes parâmetros usando
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
: a experiência do aplicativo à qual o usuário indicado deve ter um deep link.deep_link_sub1
: Código promocional recebido pelo convidado.deep_link_sub2
: Identificador do referenciador. Pode ser usado para recompensar o referenciador.- Observação: se você tem SDK V6.5.2 ou inferior, é necessário codificar qualquer valor de parâmetro com caracteres especiais.
-
Defina os parâmetros de atribuição. (Eles serão exibidos nos painéis da AppsFlyer e nos relatórios de dados brutos).
linkGenerator.setCampaign("summer_sale"); linkGenerator.setChannel("mobile_share");
-
Opcional Estabelecer um domínio de marca para o link gerado:
linkGenerator.setBrandDomain("brand.domain.com");
-
Crie uma
LinkGenerator.ResponseListener
para recuperar o link de convite do usuário quando estiver disponível: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"); } };
Observação
Since SDK v6.9.0
LinkGenerator.ResponseListener
replacedCreateOneLinkHttpTask.ResponseListener
onResponse()
é chamado quando o convite do usuário é criado com sucesso.onResponseError()
é chamado quando a geração do link falha.
- passar
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
para a LinkGenerator
instance.
linkGenerator.addParameter("af_custom_shortlink", <value>);
Log invite link creation events
OPCIONAL
Para registrar o evento de criação do link de convite:
Registre o convite usando 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
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). Em DeepLinkListener.onDeepLinking()
, 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.getDeepLinkValue()
deep_link_sub1
, usandoDeepLink.getStringValue()
deep_link_sub2
, usandoDeepLink.getStringValue()
Veja o código: Java.
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 usuário A está disponível em DeepLinkListener.onDeepLinking()
e neste exemplo, é recuperado usando DeepLink.getStringValue("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 for user actions
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 personalizáveis no aplicativo (por exemplo,
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);
-
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 4 meses atrás