Visão geral: Colabore com o seu programador de aplicações móveis ou CTV para integrar e instalar o SDK em aplicações Android ou iOS. Após completar as tarefas básicas de integração, a sua aplicação estará pronta para atribuição de instalação e medição dos eventos na aplicação.
Implementação da chave de desenvolvimento na sua aplicação
A AppsFlyer utiliza a chave de desenvolvimento para identificar exclusivamente a sua conta. A chave de desenvolvimento é obrigatória pois permite que o SDK envie e recupere dados associados à sua conta de forma segura. O seu programador deve instalar e integrar o SDK, além de incorporar a chave de desenvolvimento.
Recuperar a chave de desenvolvimento
Antes que o seu programador possa instalar e integrar o SDK, é necessário recuperar a chave de desenvolvimento.
- Na AppsFlyer, no menu lateral, selecione Definições > Definições da Aplicação.
- Copie a chave de desenvolvimento e envie-a para o seu programador móvel.
Incorpore a chave de desenvolvimento
Providencie ao programador móvel as instruções necessárias para instalar e integrar o SDK.
Onde começar o SDK?
Ao planear a integração do SDK da AppsFlyer, a primeira decisão é sobre onde inicializar e começar o SDK no processo de arranque da sua aplicação.
O princípio básico é que o SDK deve começar a enviar dados assim que possível após o lançamento da aplicação. Isto garante que o SDK capture o evento de instalação e todos os outros eventos em aplicação que ocorram na sessão.
Contudo, para cumprir regulamentos de proteção de privacidade, como o RGPD e o CCPA, muitas vezes é necessário adiar o envio de dados para a AppsFlyer até que os utilizadores consintam em partilhar as suas informações.
Começar o SDK no Android nativo
SELECIONAR EM QUE CLASSE COMEÇAR O SDK
Decida se pretende começar o SDK na classe Application
global ou na classe Activity
:
-
Comece o SDK na classe global : Geralmente, iniciar o SDK na classe/subclasse
Application
global é uma prática recomendada, pois a classeApplication
é carregada e inicializada antes que qualquer interface gráfica da aplicação seja exibida. Isso assegura que o SDK possa ser iniciado em qualquer situação, incluindo ao utilizar deep linking. -
Inicie o SDK numa classe (início adiado) para permitir que os utilizadores optem por partilhar dados. Isso é necessário porque obter o consentimento do utilizador requer uma interface de utilizador apresentada numa classe
Activity
.
INSTRUÇÕES PARA DESENVOLVEDORES ANDROID
- Comunique ao desenvolvedor a sua decisão sobre o seguinte:
- Em que classe -
Application
ouActivity
- iniciar o SDK? - Qual cenário de aceitação/recusa utilizar?
- Em que classe -
- Envie ao seu desenvolvedor o link de referência a seguir:
Iniciar o SDK em iOS nativo
RETARDAR O INÍCIO DO SDK EM IOS
Ao planear o início do SDK, é importante considerar se deve-se atrasar start
até que o utilizador dê seu consentimento.
O SDK oferece o método waitForATTUserAuthorization
, que permite configurar quanto tempo o SDK deve aguardar pelo consentimento do utilizador antes de enviar dados aos servidores da AppsFlyer.
Para mais informações sobre o fluxo de dados do método e sua interação com o framework ATT no iOS, veja a secção Configurar suporte para App Tracking Transparency (ATT).
INSTRUÇÕES PARA DESENVOLVEDORES IOS
Partilhe com o seu desenvolvedor as informações a seguir:
- Qual é o tempo limite, em segundos, antes de enviar dados à AppsFlyer?
- Links para desenvolvedores:
- Iniciar o SDK do iOS para obter o guia do desenvolvedor e referências sobre como iniciar o SDK.
- Configurar suporte para App Tracking Transparency (ATT) para informações sobre o fluxo de dados do método e como ele interage com o framework ATT do iOS.
- Habilitar suporte para App Tracking Transparency (ATT) para o guia do desenvolvedor e referência em
Iniciar o SDK no Unity
Envie ao seu desenvolvedor este artigo do Dev Hub sobre como iniciar o SDK.
Iniciar o SDK em React Native
Envie ao seu desenvolvedor este artigo do Dev Hub sobre como iniciar o SDK.
Selecione a sua estratégia para preservar a privacidade
Escolha como garantir a privacidade do utilizador. Por exemplo, decida entre parar o SDK na instalação, impedir a partilha de dados com terceiros, anonimizar dados do utilizador ou desativar identificadores específicos.
Para obter mais informações sobre os diferentes métodos de preservação da privacidade disponíveis, consulte Métodos de preservação da privacidade no SDK.
Atribuição
O SDK recolhe identificadores com o objetivo de garantir a atribuição. Para assegurar que as instalações são registadas e atribuídas corretamente, reveja e siga as orientações dadas.
Todas as plataformas
Identificador único para as instalações
Um ID AppsFlyer é criado automaticamente para cada nova instalação da aplicação. Nenhuma ação é necessária por parte do profissional de marketing.
Pode usar este identificador para realizar as seguintes ações:
- Enviar eventos in-app de servidor para servidor.
- Associar o ID da AppsFlyer com os registos de utilizador nos seus sistemas backend.
- Descarregar o relatório de eventos in-app com dados brutos e utilizar o appsflyer_id para analisar o comportamento e a jornada do utilizador.
Integrar identificadores únicos do seu sistema BI com a AppsFlyer
Defina o seu próprio ID de utilizador (CUID) no SDK da AppsFlyer para cruzar o ID único do seu sistema BI com o ID da AppsFlyer e outros identificadores. O CUID está disponível nos relatórios de dados brutos da AppsFlyer. Também pode ser utilizado nas APIs de postback para cruzar referências com os seus IDs internos.
Para saber mais sobre o CUID, consulte este artigo.
Apenas para Android
As secções seguintes descrevem as considerações de atribuição para a Google Play Store ou lojas de apps de terceiros.
Atribuir apps publicadas no Google Play
REFERENTE DE INSTALAÇÃO DO GOOGLE PLAY
A API Google Play Install Referrer melhora a precisão da atribuição, oferece proteção contra fraudes de instalação e permite a recuperação segura de dados de referência do Google Play (como, por exemplo, a versão da app no momento em que foi instalada pela primeira vez).
Recomendamos que forneça ao seu programador instruções para adicionar a API do Google Play Install Referrer.
GAID
A partir do SDK V4.8.0, a AppsFlyer recolhe automaticamente este identificador de dispositivo.
Atribuir apps em lojas de terceiros
Com a AppsFlyer, pode atribuir instalações de lojas de apps de terceiros, como Amazon, Opera, GetJar, Baidu e Huawei. Isto permite-lhe promover as suas apps e alcançar públicos maiores em mercados onde a Google Play Store não está disponível.
A AppsFlyer suporta a atribuição no contexto de lojas de apps de terceiros da seguinte forma:
-
IMEI ou ID Android: O SDK não recolhe automaticamente o IMEI ou o ID do Android. No entanto, se houver necessidade de recolher estes identificadores (por exemplo, para aplicações no mercado chinês), o seu programador pode implementar um dos seguintes métodos de recolha:
- Recolha manual: A aplicação transmite o IMEI ou o ID do Android para o SDK utilizando a API
setImeiData
ousetAndroidIdData
(consulte a referência das funções nas abas abaixo). O SDK envia os dados para os servidores da AppsFlyer.Consulte a referência do SDK Unity para:
- Ativação da recolha de ID do dispositivo: Obriga o SDK a recolher o IMEI ou o ID do Android usando setCollectIMEI e setCollectAndroidID (consulte a referência das funções nas abas abaixo).
Consulte a referência do SDK Android para:
Consulte a referência do SDK Unity para:
Consulte a referência do React Native para:
- Recolha manual: A aplicação transmite o IMEI ou o ID do Android para o SDK utilizando a API
- OAID: Atributos de instalações a partir de lojas de aplicações Android de terceiros. Para mais informações, veja o guia de implementação de OAID.
- Referenciadores de instalação: O SDK suporta a recuperação de dados de referência da Samsung Gallery e da Huawei AppGallery.
exclusivo iOS
As secções seguintes incluem informações importantes sobre o suporte para dispositivos com iOS 14+.
Configurar suporte para Transparência de Rastreio de Aplicações (ATT)
ANTECEDENTES
A partir do iOS 14.5, a recolha de IDFA necessita do consentimento do utilizador. Na prática, isto significa que o acesso ao IDFA é regulado pela estrutura App Tracking Transparency (ATT). Nos dispositivos com iOS 14+, o SDK utiliza a estrutura ATT para obter acesso ao IDFA do dispositivo. Para uma introdução à ATT, veja Princípios da ATT.
Consulte o Dev Hub para instruções para desenvolvedores sobre como implementar a ATT.
Consulte o Dev Hub para instruções para desenvolvedores sobre como implementar a ATT.
Quando a atribuição ocorre utilizando o IDFA, é crucial que o IDFA seja enviado logo no primeiro lançamento. waitForATTUserAuthorization
Por essa razão, o SDK fornece o método waitForATTUserAuthorization
.
Visão geral da função waitForATTUserAuthorization
Importante!
Não chame waitForATTUserAuthorization
se não pretende invocar o alerta ATT.
waitForATTUserAuthorization
permite-lhe configurar quanto tempo o SDK deve adiar e esperar pelo estado ATT antes de enviar dados para os servidores da AppsFlyer.
Quando um utilizador inicia a aplicação, o estado ATT é notDetermined. Durante o tempo de espera, o SDK coloca na fila o evento de lançamento e os eventos consecutivos na aplicação em memória, tal como acontece quando os eventos offline são registados:
- Se o utilizador consentir com o aviso da ATT (recolha de IDFA):
- O SDK adiciona o IDFA aos eventos em cache.
- O SDK então inicia e envia os eventos em cache com IDFA (sem esperar pelo final do tempo de espera).
- Se o utilizador recusar o aviso da ATT: O SDK inicia e envia eventos em cache sem IDFA (sem esperar pelo final do tempo de espera).
- Se o tempo de espera terminar e o estado ATT continuar como notDetermined: O SDK inicia e envia eventos em cache sem IDFA.
Considerações
- Chamar sem definir resultará no envio de lançamentos e eventos sem IDFA para dispositivos com iOS 14+.
- Se o utilizador mover a aplicação para segundo plano durante o tempo de espera:
- O temporizador pausa até que a aplicação volte para o primeiro plano.
- Os eventos são armazenados na memória em cache.
- Se o utilizador encerrar a aplicação, e ela for terminada durante o tempo de espera:
- O temporizador é reiniciado na próxima abertura da aplicação.
- Os eventos em cache são perdidos.
Personalizar o diálogo de consentimento da ATT
Pode personalizar o aviso ATT. Uma mensagem que esclareça claramente o propósito do pedido pode ajudar a aumentar as taxas de adesão dos utilizadores.
Considere o seguinte ao criar a sua mensagem:
- Utilize uma linguagem que melhor explique aos seus utilizadores por que razão a aplicação está a pedir o consentimento.
- Informe os utilizadores sobre como os seus dados serão utilizados. Saiba mais sobre a privacidade dos utilizadores e o uso dos dados.
Assim que concluir a mensagem, forneça ao seu programador o texto e as instruções para implementação.
Visite o Dev Hub para instruções do programador sobre como personalizar o diálogo de consentimento da ATT.
Visite o Dev Hub para instruções do programador sobre como personalizar o diálogo de consentimento da ATT.
Suporte para atribuição SKAN
Notas
Para dar total suporte à atribuição SKAN, atualize para o iOS SDK V6.2.3+.
O SKAN é uma classe utilizada pelo iOS para validar instalações de apps promovidas por anunciantes. O processo de validação da instalação de apps envolve a app de origem e a app anunciada.
Uma app de origem é aquela que participa em campanhas publicitárias exibindo anúncios de uma rede de publicidade. A configuração para exibição de anúncios na sua app não faz parte do escopo do SDK da AppsFlyer. Para configurar, siga as instruções da Apple.
Na app anunciada (aquela com o SDK da AppsFlyer), a solução SKAN da AppsFlyer utiliza o SKAN para fornecer o postback de atribuição, enquanto a AppsFlyer recolhe, traduz e agrega os dados, assegurando a privacidade do utilizador. Quando a app é iniciada pela primeira vez, a plataforma AppsFlyer utiliza a configuração estabelecida pelo profissional de marketing para instruir o SDK sobre como definir o valor de conversão SKAN.
Para utilizar a solução SKAN:
- O profissional de marketing deve configurar a medição SKAN na AppsFlyer. O programador não precisa de realizar nenhuma tarefa.
- O SDK da AppsFlyer chama automaticamente as APIs SKAN necessárias.
- Certifique-se de desativar as chamadas SKAN em outros SDKs caso dependa da AppsFlyer para atribuição SKAN.
- Não há qualquer outra ação ou processo de registo necessário pelo programador ou pelo marketer na App Store.
Para desativar a atribuição SKAN, instrua o seu programador a desativá-la no SDK.
Para desativar a atribuição SKAN, use disableSKAdNetwork
Para desativar a atribuição SKAN, use disableSKAd
Registo de eventos na app
Os eventos dentro da app (IAE) fornecem informações sobre o que acontece na sua aplicação. A gravação de eventos na app ajuda a medir KPIs como o Retorno do Investimento (ROI) e o Valor ao Longo da Vida (LTV). Recomendamos que dedique tempo a definir os eventos que deseja registar.
Depois de decidir quais os eventos na aplicação que deseja medir, envie os nomes desses eventos e os seus parâmetros ao programador, incluindo um link para as instruções de implementação.
Para mais informações sobre eventos na aplicação, consulte o nosso guia detalhado sobre eventos na aplicação.
Todas as plataformas
Registar receita
Pode incluir receita em qualquer evento na aplicação. Assegure-se de utilizar o parâmetro af_revenue para incluir a receita. É o único parâmetro de evento que a AppsFlyer considera como receita real no painel e nos relatórios de dados brutos. Saiba mais.
Validar compras dentro da aplicação
O SDK da AppsFlyer oferece verificação de servidor para compras dentro da aplicação. A validação de uma compra na aplicação envia automaticamente um evento de compra na aplicação para a AppsFlyer. Enviar este evento manualmente cria duplicações nos relatórios de eventos.
Setores da indústria
Consulte a nossa lista de eventos na aplicação recomendados por setor, como viagens, jogos ou eCommerce.
Ligações profundas com OneLink
O OneLink é a solução da AppsFlyer para atribuição multiplataforma, redirecionamento e ligações profundas.
Todas as plataformas
Deteção e redirecionamento de dispositivos
Para utilizadores que não têm a sua aplicação instalada, o OneLink deteta o tipo de dispositivo e encaminha-os para o destino adequado (por exemplo, Google Play, Apple App Store, loja de aplicações de terceiros ou página web). Isto é baseado nas definições do seu modelo de OneLink. Saiba mais
Deep linking
Para os utilizadores que têm a sua aplicação instalada, o OneLink abre a aplicação. Além de abrir a aplicação, pode também redirecionar diretamente os utilizadores para uma atividade ou página específica dentro da aplicação. Para isso, é necessário que o seu programador implemente o Unified Deep Linking (UDL).
Nota:
- O UDL requer o SDK V6.1+.
- Os clientes que já utilizam o OneLink para deep linking podem estar a usar o método legado ao invés do UDL.
Consulte o nosso guia sobre como configurar deep linking e deep linking diferido.
Deep linking diferido
Para utilizadores que não têm a sua aplicação instalada, o OneLink deteta o tipo de dispositivo e encaminha-os para o destino adequado: Google Play, Apple App Store, loja de aplicações de terceiros ou página web. Assim que o utilizador iniciar a aplicação, pode utilizar deep linking diferido para redirecioná-lo para uma atividade ou página específica dentro da aplicação.
Para isto, é necessário que o seu programador implemente deep linking diferido alargado.
Nota:
- O UDL requer o SDK V6.1+.
- Os clientes que já utilizam o OneLink para deep linking diferido podem estar a usar o método legado, ao invés do UDL.
Consulte o nosso guia sobre como configurar deep linking e deep linking diferido.
Aceder a dados de atribuição e deep linking
A tabela seguinte descreve os métodos disponíveis para obter dados de atribuição e deep linking:
Método | Quem está envolvido? | Retornar resultados | Método de obtenção | Dados de atribuição | Dados de deep linking | Disponibilidade |
---|---|---|---|---|---|---|
API Push | • Profissional de marketing • Programador de back-end | Normalmente em minutos | Back-end | S | N | Premium |
API Pull | • Profissional de marketing • Programador de back-end | • Periódico (não em tempo real). • Pode agendar downloads de relatórios de dados brutos. | Back-end | S | S | Premium para relatórios de dados brutos |
Armazenamento de dados | • Profissional de marketing • Programador de back-end | Os relatórios horários estão disponíveis entre 1 a 3 horas | Armazenamento na nuvem disponível através das seguintes opções: • Bucket da AppsFlyer na AWS • Armazenamento próprio (AWS ou GCS) | S | S | Premium |
Obtenção de dados de conversão (GCD) | • Profissional de marketing • Programador de aplicações móveis Consulte a documentação do programador | Até 5 segundos | SDK | S | S | Todas as contas |
Ligação direta unificada (UDL) | • Profissional de marketing • Programador de aplicações móveis Consulte a documentação do programador | Até 1 segundo | SDK | N | S | Todas as contas |
Atenção aos seguintes pontos para utilizadores de iOS 14.5+ sem consentimento:
- Ao utilizar UDL para mídia paga e própria, os dados de ligações diretas estão disponíveis.
- Utilizando o GCD para mídia paga, os dados são limitados e não incluem detalhes de atribuição e ligações diretas.
Sugestão
Recomendamos o seguinte:
- Utilize a API Push para obter os dados de atribuição e enviá-los para os seus servidores para processamento adicional. Este método aguarda a disponibilidade dos dados, sendo assim altamente preciso e praticamente em tempo real. O GCD fornece dados em tempo real, mas pode apresentar imprecisões quando as decisões finais de atribuição são efetuadas após mais de cinco segundos.
- Utilize a API Pull para complementar periodicamente (por exemplo, diariamente) os dados de atribuição em tempo real e para compensar quaisquer erros de comunicação que possam surgir.
Testar a integração do SDK
Quando a integração do SDK estiver concluída, pode acessar o painel de controlo da AppsFlyer e utilizar a página de Testes de Integração do SDK para testar instalações orgânicas e não orgânicas, eventos dentro da aplicação e ligações diretas (retargeting). Isto assegura que as instalações e eventos dentro da aplicação são registados e atribuídos de forma correta.
Para cenários e instruções de teste, consulte Teste de integração do SDK.
Observação: Ao realizar testes de atribuição, registre um dispositivo de teste (Android ou iOS) para garantir que cada instalação é contada como uma nova. Um dispositivo de teste registado impede que as instalações sejam contadas como reinstalações.