O (FLoC) oferece um mecanismo de preservação de privacidade para a seleção de anúncios com base em interesses.
Quando um usuário navega pela Web, o navegador utiliza o algoritmo do FLoC para determinar a "coorte de interesses", que será a mesma para milhares de navegadores com históricos similares de navegação recente. O navegador recalcula sua coorte periodicamente no dispositivo do usuário, sem compartilhar dados individuais de navegação com o fornecedor do navegador ou qualquer outra entidade.
Os anunciantes (sites que pagam por anúncios) podem incluir código em seus próprios sites a fim de coletar e fornecer dados de coorte a suas plataformas de tecnologia de anúncios (empresas que fornecem software e ferramentas para a entrega de anúncios). Por exemplo, uma plataforma de tecnologia de anúncios pode aprender em uma loja de calçados on-line que os navegadores das coortes 1101 e 1354 parecem interessados nos equipamentos de caminhada da loja. Com outros anunciantes, a plataforma de tecnologia de anúncios aprende sobre outros interesses dessas coortes.
Posteriormente, a plataforma de anúncios pode usar esses dados para selecionar anúncios relevantes (como um anúncio de botas de caminhada da loja de calçados) quando um navegador de uma dessas coortes solicitar uma página de um site que exibe anúncios, como um site de notícias.
O Privacy Sandbox é uma série de propostas para atender a casos de uso de terceiros sem cookies de terceiros ou outros mecanismos de rastreamento. Consulte uma visão geral de todas as propostas em Digging into the Privacy Sandbox.
Essa proposta requer seu feedback. Se tiver algum comentário, crie uma questão no repositório FLoC Explainer. Se você tiver algum feedback sobre o experimento no Chrome com essa proposta, poste uma resposta no Intent to Experiment.
Muitas empresas utilizam a publicidade para atrair tráfego para seus sites, e muitos sites de editores financiam conteúdo com a venda de inventários de anúncios. As pessoas geralmente preferem ver anúncios que são relevantes e úteis para elas, e anúncios relevantes também trazem mais negócios para os anunciantes e mais receita para os sites que os hospedam. Em outras palavras, o espaço publicitário é mais valioso quando exibe anúncios relevantes. Portanto, a seleção de anúncios relevantes aumenta a receita dos sites apoiados por anúncios. Isso, por sua vez, significa que os anúncios relevantes ajudam a financiar a criação de conteúdos que beneficiam os usuários.
No entanto, muitas pessoas estão preocupadas com as implicações de privacidade da publicidade personalizada, que atualmente se baseia em técnicas como cookies de rastreamento e impressões digitais de dispositivos que são usados para rastrear comportamentos individuais de navegação. O objetivo da proposta do FLoC é permitir uma seleção mais eficiente de anúncios sem comprometer a privacidade.
O exemplo abaixo descreve os diferentes papéis na seleção de um anúncio usando o FLoC.
O anunciante (uma empresa que paga pela publicidade) neste exemplo é um varejista on-line de calçados:shoestore.example
O editor (um site que vende espaço publicitário) no exemplo é um site de notícias:dailynews.example
A plataforma de tecnologia de anúncios (que fornece software e ferramentas para a entrega de anúncios) é:adnetwork.example
Neste exemplo, chamamos os usuários de Yoshi e Alex. Inicialmente, os navegadores deles pertencem à mesma coorte, 1354.
Demos aos usuários os nomes Yoshi e Alex, mas apenas para a finalidade do exemplo. Com o FLoC, os nomes e as identidades individuais não são revelados ao anunciante, ao editor ou à plataforma de tecnologia de anúncios.
Não pense na coorte como uma coleção de pessoas. Você deve pensar nela como um agrupamento de atividades de navegação.
Agora, é a vez de Alex.
As técnicas atuais de seleção de anúncios se baseiam em técnicas como cookies de rastreamento e impressões digitais de dispositivos, que são utilizados por terceiros, como os anunciantes, para rastrear comportamentos individuais de navegação.
Com o FLoC, o navegador não compartilha o histórico de navegação com o serviço FLoC ou qualquer outra entidade. O navegador no dispositivo do usuário determina a qual coorte pertence. O histórico de navegação do usuário nunca sai do dispositivo.
Em nenhum ponto desse processo o histórico de navegação do usuário é compartilhado com o serviço FLoC ou com qualquer terceiro. A coorte do navegador é calculada pelo navegador no dispositivo do usuário. Nenhum dado do usuário é adquirido ou armazenado pelo serviço FLoC.
SIM! A coorte de um navegador com certeza pode mudar. Você provavelmente não visita os mesmos sites todas as semanas, e a coorte do navegador refletirá isso.
Uma coorte representa um cluster de atividades de navegação, não uma coleção de pessoas. As características de atividade de uma coorte são geralmente consistentes ao longo do tempo, e as coortes são úteis para a seleção de anúncios porque agrupam comportamentos similares de navegação recente. Os navegadores de cada pessoa flutuarão para dentro e para fora de uma coorte à medida que o comportamento de navegação mudar. Inicialmente, esperamos que o navegador recalcule sua coorte a cada sete dias.
No exemplo acima, a coorte dos navegadores de Yoshi e Alex é 1354. No futuro, os navegadores de Yoshi e Alex poderão passar para uma coorte diferente, caso os interesses deles mudem. No exemplo abaixo, o navegador de Yoshi passa para a coorte 1101, e o de Alex passa para a coorte 1378. Os navegadores de outras pessoas entrarão e sairão das coortes à medida que os interesses de navegação delas mudarem.
Uma coorte define um agrupamento de atividades de navegação, não um grupo de pessoas. Os navegadores entrarão e sairão de uma coorte à medida que suas atividades mudarem.
Como descrito acima, o navegador do usuário obtém dados de seu serviço FLoC que descrevem o modelo matemático para coortes: um espaço multidimensional que representa a atividade de navegação de todos os usuários. O navegador, então, usa um algoritmo para determinar a região desse "espaço de coorte" (ou seja, qual coorte) mais corresponde a seu próprio comportamento de navegação recente.
Cada coorte terá milhares de navegadores.
Um tamanho de coorte menor pode ser mais útil para personalizar anúncios, mas terá menos probabilidade de parar o rastreamento do usuário - e vice-versa. Um mecanismo para atribuir navegadores a coortes deve equilibrar privacidade e utilidade. O Privacy Sandbox usa a k-anonimidade para permitir que um usuário "se esconda na multidão". Uma coorte é k-anônima se for compartilhada por pelo menos k usuários. Quanto mais alto o número de k, mais a coorte preserva a privacidade.
O algoritmo de agrupamento usado para construir o modelo de coorte do FLoC é projetado para avaliar se uma coorte pode estar correlacionada a categorias confidenciais sem aprender por que uma categoria é confidencial. Coortes que possam revelar categorias confidenciais, como raça, sexualidade ou histórico médico, serão bloqueadas. Em outras palavras, ao determinar sua coorte, um navegador só escolherá entre as coortes que não revelarão categorias confidenciais.
Com o FLoC, o navegador de um usuário pertencerá a uma de milhares de coortes, juntamente com milhares de navegadores de outros usuários. Ao contrário dos cookies de terceiros e de outros mecanismos de segmentação, o FLoC revela apenas a coorte em que se encontra o navegador de um usuário, não o ID do usuário individual. Ele não permite a outras entidades a distinção de um indivíduo dentro de uma coorte. Além disso, as informações sobre a atividade de navegação que são usadas para a determinação da coorte de um navegador são mantidas localmente no navegador ou dispositivo e não são carregadas para outro lugar. O navegador pode, ainda, fazer uso de outros métodos de anonimização, como a privacidade diferencial.
Os sites terão a possibilidade de aceitar ou recusar o FLoC. Portanto, os sites com tópicos confidenciais poderão impedir que as visitas a seus sites sejam incluídas no cálculo do FLoC. Como proteção adicional, a análise feita pelo serviço FLoC avaliará se uma coorte pode revelar informações confidenciais sobre os usuários sem aprender por que essa coorte é confidencial. Caso uma coorte possa representar um número maior do que o típico de pessoas que visitam sites de uma categoria confidencial, essa coorte será totalmente removida. Situação financeira negativada e saúde mental estão entre as categorias confidenciais cobertas por essa análise.
Os sites recusam o FLoC definindo o cabeçalho interest-cohort=() em Permissions-Policy. Para a avaliação de origem do FLoC no Chrome 89, os sites que não fizerem essa recusa serão incluídos no cálculo do FLoC se o Chrome detectar que esses sites carregam anúncios. (A página Ad Tagging in Chromium explica como funciona o mecanismo de detecção de anúncios do Chrome.) É claro que os sites também podem simplesmente não acessar nem registrar os IDs de coorte de seus visitantes.
interest-cohort=()
A API do FLoC é muito simples: um único método que retorna uma promessa, que é resolvida em um objeto que fornece o id e a version da coorte:
id
version
document.interestCohort()
Os dados da coorte disponibilizados são semelhantes ao seguinte:
{ "id": "1415926", "version": "chrome.1.0"}
O valor de version permite que os sites que utilizam o FLoC saibam a qual navegador e qual modelo de FLoC o ID da coorte se refere. Como descrito abaixo, a promessa retornada por document.interestCohort() será rejeitada para qualquer frame que não tenha a permissão interest-cohort.
interest-cohort
A API do FLoC está disponível no Chrome 89 e superiores, mas se você não estiver participando da avaliação de origem, terá que definir sinalizações e executar o Chrome usando a linha de comando. A página Run Chromium with flags explica como fazer isso em diferentes sistemas operacionais.
Inicie o Chrome com as seguintes sinalizações:
--enable-blink-features=InterestCohortAPI --enable-features="FederatedLearningOfCohorts:update_interval/10s/minimum_history_domain_size_required/1"
Verifique se os cookies de terceiros não estão bloqueados e se não há nenhum bloqueador de anúncios em execução.
Veja a demonstração em floc.glitch.me.
O artigo Como participar da avaliação de origem do FLoC explica como avaliar o FLoC nos contextos de primeira parte e de terceiros.
A política de permissões interest-cohort permite que um site declare que não deseja ser incluído na lista de sites do usuário para cálculo de coorte. A política será allow por padrão. A promessa retornada por document.interestCohort() será rejeitada para qualquer frame que não tenha a permissão interest-cohort. Se o frame principal não tiver a permissão interest-cohort permission, a visita à página não será incluída no cálculo da coorte de interesses.
allow
interest-cohort permission
Por exemplo, um site pode recusar todos os cálculos de coorte do FLoC enviando o cabeçalho de resposta HTTP:
Permissions-Policy: interest-cohort=()
Se tiver algum comentário sobre a API, crie uma questão no repositório FLoC Explainer.
Foto de Rhys Kentish no Unsplash.
O Federated Learning of Cohorts (FLoC) oferece um mecanismo de preservação de privacidade para a seleção de anúncios com base em interesses. Quando um usuário navega pela Web, o navegador utiliza o algoritmo do FLoC para determinar a "coorte de interesses", que será a mesma para milhares de navegadores com históricos similares de navegação recente. O navegador do usuário é associado a uma coorte de interesses por vez e recalcula sua coorte periodicamente (no momento, uma vez a cada sete dias, durante essa avaliação de origem inicial) no dispositivo do usuário, sem compartilhar dados individuais de navegação com o fornecedor do navegador ou qualquer outra entidade.
Para saber mais sobre o FLoC, consulte O que é o Federated Learning of Cohorts (FLoC)?.
A avaliação começará no Chrome 89 e será disponibilizada como uma avaliação de origem de terceiros.Você deverá se registrar para receber um token de avaliação de origem do FLoC.
Para acessar dados da coorte de interesses em seu(s) próprio(s) site(s), adicione o token de avaliação de origem às suas páginas da Web utilizando um destes métodos:
Como uma metatag de <head> em cada página servida:
<meta http-equiv="origin-trial" content="TOKEN_GOES_HERE">
Como um cabeçalho HTTP:
Origin-Trial: TOKEN_GOES_HERE
Com isso, você pode avaliar o FLoC no contexto de primeira parte: por exemplo, para observar as coortes dos visitantes do(s) seu(s) site(s).
Você precisará injetar o token de avaliação de origem em uma metatag a fim de testar a API do FLoC no código em sites de terceiros. A página Origin Trials Guide for Web Developers explica como fazer isso.
Faça isso pelo site de avaliação de origem do Chrome. Esse feedback não é público e está disponível apenas para um grupo limitado de pessoas na equipe do Chrome.Quando o token expirar, você receberá um e-mail com um link para renovação. Antes de renovar o token, você será solicitado novamente a enviar feedback.
{ "id": "14159", "version": "chrome.1.0" }
--enable-blink-features=InterestCohortAPI --enable-features="FederatedLearningOfCohorts:update_interval/10s/minimum_history_domain_size_required/1,FlocIdSortingLshBasedComputation,InterestCohortFeaturePolicy"
O FLoC API explainer sugere casos de uso, mas não define como a API deve ser utilizada. Diferentes sites e serviços terão diferentes restrições e requisitos para o uso do FLoC a fim de fornecer conteúdo e anúncios relevantes.
Se você gerencia sua própria tecnologia de recomendações de conteúdo, publicidade ou serviços de marketing, pode aplicar seus insights do FLoC para adaptar o conteúdo ou as mensagens de marketing a coortes específicas. Se você utiliza empresas terceirizadas para esses serviços, pode fazer mais sentido solicitar que elas participem da avaliação de origem e façam experiências que incluam o seu site e também outros sites.
Como um exemplo, para que um editor encontre maneiras de selecionar conteúdo relevante, o processo de avaliação do FLoC durante a avaliação de origem pode ser algo semelhante ao seguinte:
Um site deve ser capaz de declarar que não deseja ser incluído na lista de sites do usuário para cálculo de coorte. Uma nova política de permissões interest-cohort permite isso. A política será allow por padrão.
Para qualquer frame que não tenha a permissão interest-cohort, a promessa retornada na chamada a document.interestCohort() será rejeitada. Se o frame principal não tiver a permissão interest-cohort, a visita à página não será incluída no cálculo da coorte de interesses.
Durante a avaliação de origem do FLoC, os sites que não fizerem essa recusa serão incluídos no cálculo do FLoC se o Chrome detectar que esses sites carregam recursos relacionados a anúncios.
A página Ad Tagging in Chromium explica como funciona o mecanismo de detecção de anúncios do Chrome.
Atualização mais recente: Quinta-feira, 1º de abril de 2021 Para melhorias ao artigo
Este é o Now in Android, seu guia atualizado de novidades e fatos importantes do mundo de desenvolvimento no Android.
A segunda versão da visualização do desenvolvedor do Android 12 já está disponível.
Leia o blog e tenha uma visão geral da versão para desenvolvedores, desde melhorias no picture-in-picture até uma nova API RenderEffect para facilitar e aprimorar os efeitos gráficos, como foco e filtros de cores.
Enquanto isso, melhoramos a documentação do desenvolvedor referente a essas versões de pré-lançamento, conforme descrito a seguir:
Confira o site da Visualização do desenvolvedor do Android 12 para ver informações sobre mudanças de comportamento, novos recursos e APIs e muito mais. E, o mais importante: experimente apps na nova versão e envie seu feedback sobre quaisquer problemas que encontrar. Esse é o objetivo dessas versões de pré-lançamento: refinar tudo até o momento do lançamento do produto acabado.
Fique ligado nas próximas versões, enquanto prosseguimos até a versão final, com cada vez mais recursos, correções e funcionalidades. Sem sombra de dúvida.
A série MAD Skills continua rolando, com conteúdo técnico sobre Modern Android Development. A série WorkManager no MAD Skills chega ao fim esta semana, mas antes disso há muito conteúdo a ser verificado:
Suspensão de uso do Firebase JobDispatcher e do GCMNetworkManager:Você ainda usa as APIs Firebase JobDispatcher ou GCMNetworkManager? Se usa, então… não deveria, porque as duas estão obsoletas, e é hora de evoluir. WorkManager ao resgate!
Neste episódio, Caren Chang mostra como migrar códigos para usar o WorkManager. Além do vídeo abaixo, não deixe de conferir os guias sobre a migração do Firebase JobDispatcher e do GCMNetworkManager.
Community Tip:Hugo Visser compartilha com você como ele usa o WorkManager para programar o download e o processamento regulares de dados no app relacionado à saúde em que ele trabalha. Ele também fala como um problema que eles encontraram em alguns dispositivos resultou na identificação de um erro que agora foi corrigido nas versões mais recentes do WorkManager (o feedback ajuda!).
Sessão de Perguntas e respostas sobre o WorkManager:Para o episódio final da série WorkManager, mais uma vez teremos uma sessão de Perguntas e respostas ao vivo com os especialistas do WorkManager. Junte-se a mim (fazendo as perguntas) e a Ben Weiss e Caren Chang (seus anfitriões da série) e Sumir Kataria e Rahul Ravikumar (os engenheiros por trás do WorkManager) na manhã da quinta-feira (horário do Pacífico) enquanto tentamos responder a todas as suas perguntas sobre essa API.
Sei que é muito provável que a sessão de Perguntas e respostas já tenha acontecido quando você estiver lendo isto. Não se preocupe: você ainda pode verificar a gravação no link abaixo para saber o que aconteceu.
Para ver o conteúdo atual, não deixe de conferir a playlist do MAD Skills no YouTube, os artigos no Medium ou esta página de destino útil, que fornece acesso a todo o conteúdo.
Recentemente, lançamos algumas versões estáveis de correções de erros do AndroidX, incluindo Fragment 1.3.2, Activity 1.2.2 e Lifecycle 2.3.1.
Mais algumas novas bibliotecas interessantes acabaram de chegar à sua primeira versão Alfa, incluindo:
O Oboe é uma biblioteca nativa que oferece áudio de alto desempenho e baixa latência em várias versões do Android e dispositivos. Conversamos com os engenheiros do Oboe no último mês de abril no podcast do ADB e, agora, o Oboe está integrado ao SDK do Games. Daniel Galpin postou um artigo no blog do Android Developers detalhando como adicioná-lo a um projeto e começar a utilizá-lo em códigos.
High Performance Game Audio with Oboe
Manuel Vivo escreveu um artigo para introduzir as novas APIs no Lifecycle 2.4.0-alpha01 e permitir a coleta mais segura de fluxos do Kotlin a partir da camada da IU.
A safer way to collect flows from Android UIs
Nicole Borrelli postou um artigo sobre como e quando usar PendingIntents de forma apropriada. Esse tópico vem a calhar devido à mudança orientada à segurança na próxima versão, que exige que os apps segmentados para o Android 12 declarem a mutabilidade de PendingIntents.
All About PendingIntents
O Android Basics in Kotlin, um curso para as pessoas que desejam aprender sobre os fundamentos de desenvolvimento em Android e também sobre programação no Kotlin, acaba de lançar a Unit 4: Connect to the Internet. Com esse novo conteúdo, você codificará com as corrotinas do Kotlin e aprenderá a usar bibliotecas importantes, como Retrofit e Coil, para lidar com dados de rede.
O Android Developers Backstage agora tem um novo site, um novo feed e um novo logotipo supermoderno!
Essa mudança não deve afetar os atuais assinantes do ADB; o feed faz o redirecionamento para que você não tenha que renovar a assinatura. Mas, se você procura por notas do programa de episódios futuros, verifique o Libsyn, em adbackstage.libsyn.com.
O primeiro episódio postado no novo site e feed foi nossa entrevista com Chris Lacy, um experiente desenvolvedor independente de apps Android. Romain e eu conversamos com Chris sobre como ele implementou alguns de seus apps e sobre algumas das coisas que ele aprendeu sobre programação no Android e APIs ao longo do caminho.
Isso é tudo, por enquanto. Então, leia sobre os novos recursos do Android 12 DP2. Assista aos episódios mais recentes da série WorkManager do MADSkills. Experimente as mais recentes versões de bibliotecas do AndroidX. Leia artigos sobre o Oboe, os fluxos do Kotlin e PendingIntents. Participe da unidade mais recente do curso Android Basics in Kotlin. Ouça o podcast do ADB mais recente. Em breve, voltaremos com a próxima atualização do universo dos desenvolvedores Android.