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:

  1. Configure a geração de links de convite para gerar links de convite.
  2. OPCIONAL Registre a criação do link de convite.
  3. Configure o Unified Deep Linking) (UDL)
  4. OPCIONAL Recupere dados do referenciador dos links de convite do usuário.
  5. 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:

  1. 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;
    
  2. 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 ligar start.
    • O template do OneLink deve estar relacionado ao aplicativo.
  3. Crie uma LinkGenerator using ShareInviteHelper.generateInviteUrl().

    LinkGenerator linkGenerator = ShareInviteHelper.generateInviteUrl(getApplicationContext());
    
  4. 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.
  5. 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");
    
  6. Opcional Estabelecer um domínio de marca para o link gerado:

    linkGenerator.setBrandDomain("brand.domain.com");
    
  7. 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 replaced CreateOneLinkHttpTask.ResponseListener

  • onResponse() é chamado quando o convite do usuário é criado com sucesso.
  • onResponseError() é chamado quando a geração do link falha.
  1. passar listener to linkGenerator.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, usando DeepLink.getDeepLinkValue()
  • deep_link_sub1, usando DeepLink.getStringValue()
  • deep_link_sub2, usando DeepLink.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:

  1. 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);
    
  2. No back-end, recupere dados de eventos in-app

  3. Adicione os IDs de referência encontrados a uma lista de usuários a serem recompensados.

  4. 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.