Como podemos ajudar?

integração do mParticle com AppsFlyer

  • Atualizado

Em resumo: o mParticle, um parceiro integrado da AppsFlyer, coleta dados de clientes e os envia para diferentes plataformas de análise, marketing e armazenamento de dados.

Importante!

Algumas fontes de mídiarestringem o compartilhamento de dados com terceiros. Portanto, os postbacks de eventos restritos não serão enviados para esse parceiro, independentemente da configuração de envio de postbacks.

Integrações de eventos

O objetivo deste documento é fornecer a você detalhes sobre como ativar dados de eventos do mParticle para a AppsFlyer.

1. os clientes do mParticle devem integrar o kit da AppsFlyer em seu aplicativo. O SDK do mParticle inicializará o SDK da AppsFlyer e também encaminhará todos os eventos de ciclo de vida necessários para o SDK da AppsFlyer.

2. Consulte os repositórios do GitHub dos SDKs de iOS e Android para ver detalhes sobre como configurar o kit da AppsFlyer com o SDK do mParticle no seu aplicativo.

Configurar a integração de eventos da AppsFlyer

1. No dashboard do mParticle (https://app.mparticle.com), selecione seu aplicativo (também chamado de Workspace)

2. Clique em Directory na navegação à esquerda

3. Clique no bloco da AppsFlyer para exibir os detalhes da integração, que fornecem informações sobre a integração, como categorias, plataformas disponíveis, versões mínimas do SDK do mParticle (se houver), tipos de dados, IDs de usuário, IDs de dispositivo, eventos disponíveis e configurações disponíveis.

Tile da AppsFlyer no Diretório da mParticle

4. Clique em Add AppsFlyer to Setup.

A janela Add to Setup é aberta:

Janela Adicionar à Configuração da mParticle

5. Selecione o tipo de integração de evento de saída e clique em Add to Setup para abrir a tela de configuração de eventos, onde você poderá continuar o processo de configuração.

Tela de Configuração do Evento da mParticle

6. Insira as configurações da AppsFlyer e clique em Save:

  • Nome da configuração
  • Usar as mesmas configurações para Desenvolvimento e Produção
  • Dev Key
  • A configuração que você acabou de criar é exibida no grupo padrão da AppsFlyer
Configuração da AppsFlyer exibida no Grupo padrão da AppsFlyer

A próxima etapa é estabelecer uma conexão entre suas plataformas de entrada e a configuração de evento de saída da AppsFlyer.

7. Clique em Connections.

8. Selecione a entrada (iOS neste exemplo) e depois clique em Connect Output.

9. Selecione o bloco da AppsFlyer e, em seguida, selecione a configuração da AppsFlyer criada acima.

10. Insira as configurações de conexão da AppsFlyer:
Apple App ID (insira apenas o número, sem o prefixo ID. Por exemplo, se o ID do seu aplicativo for id123456789, insira 123456789)

Tela de configurações de conexão da AppsFlyer

11. Clique em Adicionar conexão.

O AppsFlyer agora é exibido como uma Saída conectada. Outras opções, como Mapeamentos personalizados, podem estar disponíveis. Consulte a documentação da mParticle para mais informações.

AppsFlyer exibida como uma saída conectada

Integrações de feed

Esta seção ajuda você a entender como conectar um feed de dados do AppsFlyer à mParticle.

Informações gerais sobre a integração do AppsFlyer estão disponíveis em https://docs.mparticle.com/integrations/appsflyer/feed/.

1. No Dashboard da mParticle (https://app.mparticle.com), selecione seu Aplicativo (também chamado de workspace)

2. Clique em Directory na navegação à esquerda

3. Clique no bloco do AppsFlyer para exibir os detalhes da integração, que fornecem informações sobre a integração.

Tile da AppsFlyer no Diretório da mParticle
Detalhes da integração da AppsFlyer na mParticle

4. Clique em Adicionar AppsFlyer à configuração.

5. Selecione o tipo de integração do feed de entrada e clique em Adicionar à configuração.

Agora você será direcionado para a tela de Setup, onde poderá continuar o processo de configuração.

6. Insira as configurações do AppsFlyer e clique em Criar:

  • Nome da configuração
  • Atuar como aplicativo
Configurações de configuração do feed da AppsFlyer

7. Conclua a configuração no dashboard do AppsFlyer usando as informações de autenticação fornecidas.

Configuração de autenticação do dashboard da AppsFlyer

Deep linking diferido

O AppsFlyer permite que você acesse os dados de atribuição do usuário em tempo real, diretamente no nível do SDK. Ele possibilita que você personalize as páginas de destino que um usuário vê quando o aplicativo abre pela primeira vez após uma nova instalação do aplicativo. Isso normalmente é chamado de vinculação profunda "adiada".

Para mais detalhes sobre deferred deep linking, clique aqui.

Os dados de conversão da AppsFlyer contêm um parâmetro chamado is_First_Launch. O valor de is_First_Launch é 'true' somente na primeira inicialização e 'false' em todas as inicializações seguintes. Você pode usar esse parâmetro para determinar, em cada inicialização, se o Aplicativo deve fazer Deferred deep linking para o usuário ou não.

af_dp → $deeplink_path

Exemplo

$deeplink_path=product/Banana-Pet-Costume/dd67268672b345e491656c871af8aa29

af_dp inclui o esquema de URI codificado e o caminho

af_dp

%20jet%3A%2F%2Fproduct%2FBanana-Pet-Costume%2Fdd67268672b345e491656c871af8aa29

com o Android

Para Android: faça isso com Shared Preferences: aqui.
 

AttributionListener myListener = new AttributionListener() {
  @Override
  public void onResult(@NonNull AttributionResult attributionResult) {
   if (attributionResult.getServiceProviderId() == MParticle. ServiceProviders.APPSFLYER) {
    JSONObject attributionParams = attributionResult.getParameters();
    if (attributionParams != null && attributionParams.has(AppsFlyerKit.INSTALL_CONVERSION_RESULT)) {
     Log.d("Resultado da conversão", attributionParams.toString());
    } else if (attributionParams != null && attributionParams.has(AppsFlyerKit.APP_OPEN_ATTRIBUTION_RESULT)) {
     Log.d("Resultado de abertura do Aplicativo", attributionParams.toString());
    }
   }
  }

  @Override
  public void onError(@NonNull AttributionError attributionError) {
   Log.d("Erro de dados de atribuição", attributionError.toString());
  }
 };

 MParticleOptions options = MParticleOptions.builder(this)
  .credentials("replaceWithAPIKey", "replace-withAPISecret")
  .attributionListener(myListener)
  .build();

 MParticle.start(options);
https://support.appsflyer.com/hc/en-us/articles/4404083608849

Para iOS: faça isso em UserDefaults: aqui

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
 MParticleOptions *options = [MParticleOptions optionsWithKey:@"<>" secret:@"<>"];
 options.onAttributionComplete = ^void (MPAttributionResult *_Nullable attributionResult, NSError * _Nullable error) {
  if (error) {
   NSLog(@"A recuperação de atribuição para kitCode=%@ falhou com o erro=%@", error.userInfo[mParticleKitInstanceKey], error);
   return;
  }
  NSLog(@"A recuperação de atribuição para kitCode=%@ foi concluída com linkInfo: %@", attributionResult.kitCode, attributionResult.linkInfo);
 }
 [[MParticle sharedInstance] startWithOptions:options];
 return YES;
}

Casos de uso de AppsFlyer/mparticle

Caso de uso Plataforma Método do SDK da AppsFlyer Método do Kit mParticle-AF
https://support.appsflyer.com/hc/article_attachments/49929254144657 https://support.appsflyer.com/hc/en-us/articles/4404083608849 onConversionDataSuccess checkForDeferredDeepLinkWithCompletionHandler
links universais https://support.appsflyer.com/hc/en-us/articles/4404083608849 continueUserActivity continueUserActivity
Abertura do app  Exemplo onAppOpenAttribution checkForDeferredDeepLinkWithCompletionHandler
Deep linking diferido com o Android onConversionDataSuccess checkForDeepLink
Links do Aplicativo Android com o Android <intent-filter android:autoVerify="true"> continueUserActivity
Abertura do app Android / iOS onAppOpenAttribution checkForDeepLink

Como lidar com sinalizadores do usuário

A AppsFlyer também permite que você exiba conteúdo personalizado ou envie usuários existentes para locais específicos no aplicativo APÓS a primeira abertura. Quando usuários existentes entram no Aplicativo por Deep linking, o Aplicativo é aberto pelo método onOpenAttribution, que retorna os dados da URL de referência.

 if let conversionData = params?[MPKitAppsFlyerConversionResultKey] as? [AnyHashable: Any], !alreadyLoggedAppsflyerConversionData {
   logAppsflyerConversionData(conversionData: conversionData)
   alreadyLoggedAppsflyerConversionData = true
   if let onelinkURL = (conversionData["af_dp"] as? String).flatMap(URL.init) {
    UIApplication.appDelegate._linkController.handle(onelinkURL, source: .appsflyer)
   }
  } else if let appOpenData = params?[MPKitAppsFlyerAppOpenResultKey] as? [AnyHashable: Any] {
   logAppsflyerAppOpenData(appOpenData: appOpenData as? [String: Any])
  }

A AppsFlyer usa UserDefaults no iOS e Shared Preferences no Android para indicar se o usuário está abrindo o aplicativo pela primeira vez e deve ser redirecionado para a página apropriada, ou se o aplicativo já foi aberto e o usuário já foi direcionado para essa página. Para isso, o valor alreadyLoggedAppsflyerConversionData é lido e gravado em UserDefaults/ Shared Preferences, para que o valor af_dp não seja considerado na primeira inicialização.

Para mais detalhes sobre como fornecer conteúdo personalizado em deep linking, clique aqui.

Como ativar a mensuração de desinstalação da AppsFlyer no mParticle

A mensuração de desinstalação da AppsFlyer não é ativada automaticamente com o kit SDK mParticle-AppsFlyer. Para mensurar desinstalações de aplicativos, chame os métodos da AppsFlyer diretamente seguindo a documentação de mensuração de desinstalação da AppsFlyer.

Para implementar a mensuração de desinstalação no iOS ou no Android: