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:

  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. Configurar o Unified Deeplinking (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. Isso é feito usando AppsFlyerLinkGenerator.
Para configurar a geração de link de convite:

  1. Certifique-se de importar AppsFlyerLib:

    import com.appsflyer.AppsFlyerLib;
    
  2. In AppDelegate, defina um template do OneLink usando appInviteOneLinkID (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 ligar start
    • O template do OneLink deve estar relacionado ao aplicativo.
  3. Somente chame AppsFlyerShareInviteHelper.generateInviteUrl e passe um AppsFlyerLinkGenerator e um completionHandler:

    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.
  4. No completionHandler, verifique se a URL foi criada com sucesso (url e não nil) e recupere o link de convite do usuário gerado.

  5. 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:

  1. Configure o Unified Deep Linking (UDL).

  2. 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, usando DeepLink.deeplinkValue
    • deep_link_sub1, usando DeepLink.clickEvent["deep_link_sub1"]
    • deep_link_sub2, usando DeepLink.clickEvent["deep_link_sub2"]

    Veja o código: Swift.

  3. 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:

  1. 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>
      ]);
    
  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.