Com o iOS 14.5, a Apple exige que os desenvolvedores recebam a permissão do usuário por meio da estrutura App Tracking Transparency para rastreá-los ou acessar o identificador de publicidade de seu dispositivo (IDFA). Consulte a documentação Privacidade do usuário e uso de dados da Apple e Transparência de rastreamento de aplicativos da Apple para obter mais detalhes.
Produtos Firebase afetados
Os SDKs do Firebase não acessam o IDFA, embora alguns tenham integrações com o Google Analytics que podem envolver acesso ao IDFA.
A tabela abaixo lista os produtos do Firebase disponíveis nas plataformas Apple e descreve como a funcionalidade de cada produto será afetada se o IDFA não estiver acessível.
produtos | Impacto se o IDFA não estiver acessível |
---|---|
Teste A/B | Alguns dados de segmentação (como dados demográficos) na integração do teste A/B com o Google Analytics são derivados do IDFA. Em aplicativos sem acesso ao IDFA, essa segmentação não está disponível. |
Verificação de aplicativo | Sem impacto |
Distribuição de aplicativos | Sem impacto |
Autenticação | Nenhum impacto nos provedores de autenticação e de autenticação primários, como Google Sign-In e Phone Authentication. |
Crashlytics | Nenhum impacto. A integração do Crashlytics com o Google Analytics, que fornece dados de falhas e localização atual em tempo real, não depende do IDFA. |
Links Dinâmicos | Nenhum impacto na funcionalidade de abertura de link. Quando usado com o Google Analytics, a atribuição para eventos de conversão de link fica indisponível. |
Cloud Fire Store | Sem impacto |
Funções de nuvem | Sem impacto |
Mensagens no aplicativo | Sem impacto |
Instalações do Firebase | Sem impacto |
ID da instância | Sem impacto |
Mensagens na nuvem | Quando usado com o Google Analytics, o Google Analytics registrará automaticamente alguns eventos de conversão relacionados ao FCM. A atribuição para esses eventos requer acesso ao IDFA. |
FirebaseML | Sem impacto |
Monitoramento de desempenho | Sem impacto |
Configuração remota | Quando usado com o Google Analytics, o Configuração remota não permite propriedades de usuário criadas automaticamente para segmentação sem acesso ao IDFA. |
Banco de dados em tempo real | Sem impacto |
Armazenamento na núvem | Sem impacto |
Integrações afetadas do Firebase
A tabela abaixo lista os produtos integrados ao Firebase que serão afetados se o IDFA não estiver acessível.
produtos | Impacto se o IDFA não estiver acessível |
---|---|
Google Analytics | O registro de eventos do Analytics, os relatórios de eventos e a medição de conversões não são afetados, mas a atribuição será afetada se o IDFA não estiver acessível. Para saber mais sobre a resposta do Google ao iOS 14, consulte nossa postagem no blog . |
Solicitando permissão de rastreamento de aplicativos no iOS 14
Se desejar que seu aplicativo Apple possa acessar o IDFA, você pode adicionar a estrutura App Tracking Transparency da Apple ao seu aplicativo e solicitar permissão para rastrear ou acessar o IDFA de seus usuários.
Muitos aplicativos optam por apresentar uma tela de aquecimento ou explicação antes de pedir permissão. A tela explicativa permite que você forneça aos usuários mais contexto sobre como seu aplicativo usa o IDFA antes de solicitar acesso.
Se você for um editor de aplicativos da AdMob ou do Ad Manager, considere usar o Funding Choices , que gerencia automaticamente a obtenção de consentimento para veicular anúncios personalizados, bem como o consentimento para rastrear o usuário de acordo com as diretrizes da Apple. Consulte a página Consentimento da AdMob com mensagens do usuário para obter mais detalhes.
O guia a seguir fornece uma solução usando o Firebase In-App Messaging para criar e exibir uma tela explicativa antes de solicitar acesso de rastreamento por meio do App Tracking Transparency.
Adicione mensagens no aplicativo ao seu aplicativo
Siga as instruções para adicionar mensagens no aplicativo ao seu aplicativo Apple .
Lidar com a dispensa de mensagens no aplicativo
Primeiro, evite exibir a tela explicativa em dispositivos que não podem apresentar a caixa de diálogo de consentimento, como dispositivos que executam o iOS 13. Certifique-se de que esse código seja executado imediatamente após FirebaseApp.configure()
.
Rápido
if NSClassFromString("ATTrackingManager") == nil {
// Avoid showing the App Tracking Transparency explainer if the
// framework is not linked.
InAppMessaging.inAppMessaging().messageDisplaySuppressed = true
}
Implemente o protocolo InAppMessagingDisplayDelegate
para lidar com eventos quando o usuário descarta a tela explicativa. Se o usuário tocar em OK, exiba o prompt do sistema por meio da estrutura App Tracking Transparency.
Rápido
// The InAppMessaging delegate must be assigned before events can be handled.
InAppMessaging.inAppMessaging().delegate = self
func messageClicked(_ inAppMessage: InAppMessagingDisplayMessage,
with action: InAppMessagingAction) {
switch action.actionText {
case "OK":
ATTrackingManager.requestTrackingAuthorization { status in
switch status {
case .authorized:
// Optionally, log an event when the user accepts.
Analytics.logEvent("tracking_authorized", parameters: nil)
case _:
// Optionally, log an event here with the rejected value.
}
}
case _:
// do nothing
}
}
Crie uma campanha de mensagens no aplicativo
Assim que o código estiver instalado em seu aplicativo, crie uma mensagem no aplicativo no console do Firebase.
- No console do Firebase , crie uma nova campanha de mensagens no aplicativo.
- Preencha as mensagens no aplicativo com o conteúdo desejado e defina a mensagem para ser acionada no evento
app_launch
. - Na seção Segmentação , certifique-se de que a campanha segmente apenas a versão mais recente do seu aplicativo e superior.
Você pode personalizar a aparência da tela explicativa seguindo as instruções na documentação do In-App Messaging .
Opcional: teste A/B em diferentes telas explicativas
O In-App Messaging tem uma integração integrada com o Firebase A/B Testing , que você pode usar para experimentar diferentes telas explicativas.
O Firebase A/B Testing cria automaticamente grupos de experimentos e ajuda a visualizar como os usuários interagem com diferentes variantes do seu aplicativo.
Registrar permissões de rastreamento de aplicativos
Se você não registrou um evento do Google Analytics ao processar a resposta de permissões de rastreamento de aplicativos, será necessário fazer isso para medir as alterações na taxa de resposta ao executar uma experiência A/B.
Rápido
ATTrackingManager.requestTrackingAuthorization { status in
switch status {
case .authorized:
// Optionally, log an event when the user accepts.
Analytics.logEvent("tracking_authorized", parameters: nil)
case _:
// Optionally, log an event here with the rejected value.
}
}
Crie um novo evento de conversão
Na seção Analytics do console do Firebase, navegue até o menu Conversões e adicione um novo evento de conversão com o mesmo nome do evento registrado com o código de exemplo acima.
Crie um novo experimento
No menu Mensagens no aplicativo do console, clique em Nova experiência e siga as instruções nas telas resultantes.
- Na seção Segmentação , certifique-se de que a campanha segmente apenas a versão mais recente do seu aplicativo e superior.
- Na seção Metas , selecione o evento de conversão que você criou com o código de exemplo acima, bem como quaisquer outras métricas que você gostaria de acompanhar.
Depois de publicar seu experimento, ele precisará coletar dados por algum tempo antes de produzir resultados conclusivos.
Leia a documentação do Firebase A/B Testing para obter informações sobre como monitorar um experimento e implementar uma variante bem-sucedida.