;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Topo

Facebook e Instagram prometem barrar anúncios políticos sem identificação

Postagem impulsionada por página apócrifa a favor de golpe militar no Brasil faz alusão ao presidente Bolsonaro acima de soldado: identificação de autor será obrigatória - Reprodução/Facebook
Postagem impulsionada por página apócrifa a favor de golpe militar no Brasil faz alusão ao presidente Bolsonaro acima de soldado: identificação de autor será obrigatória Imagem: Reprodução/Facebook

Aiuri Rebello

Do UOL, em São Paulo

24/06/2020 14h31

Resumo da notícia

  • Empresa quer aumentar transparência sobre conteúdo de cunho político que é promovido nas plataformas
  • Anúncios do tipo devem ser aprovados previamente e trazer rótulo com informações como quem pagou e quanto custou
  • Cadastro incluirá checagem de identidade de anunciante

O Facebook promete começar a barrar a partir de agosto qualquer anúncio de conteúdo político — seja link noticioso, imagem, vídeo, propaganda eleitoral ou até "textão" — feito a partir de páginas sem identificação detalhada do responsável. A medida valerá também para o Instagram.

De acordo com a rede social, os anúncios do tipo que forem aprovados arão a trazer uma tarja afirmando que trata-se de uma propaganda de cunho político e com informações sobre quem pagou por aquilo, quanto custou e qual o público atingido.

Em março, o UOL mostrou que páginas de apoio ao presidente Bolsonaro, entre elas várias apócrifas, estavam pagando anúncios no Facebook e no Instagram para promover manifestações contra o Congresso e o STF e até a volta de uma ditadura militar. Com a medida, este tipo de expediente deve ser dificultado.

Para conseguir publicar a postagem paga, o dono da página terá que fornecer informações detalhadas como F ou CNPJ, documento com foto, comprovante e endereço, entre outras, diz a plataforma.

A mudança entra em vigor a tempo das eleições municipais deste ano mas, segundo a empresa, a ferramenta de controle será integrada permanentemente na plataforma de anúncios do site. Em outros países, como Estados Unidos e Argentina, a identificação pormenorizada de qualquer propaganda paga já existe de forma permanente.

Atos antidemocráticos e fake news

A medida visa aumentar o controle e transparência de informações e ideias políticas que são promovidas com a ajuda da plataforma de anúncios do Facebook, e vem em um momento em que a PGR (Procuradoria-geral da República) investiga um esquema que usaria as redes sociais para promover ideias e atos antidemocráticos.

Na semana ada, o STF (Supremo Tribunal Federal) decidiu em plenário que o inquérito das fake news vai continuar e investigados tentam apagar rastros nas redes sociais.

Segundo a plataforma, agora qualquer anúncio de cunho político que ar pelo processo de aprovação do autor virá com o aviso "pago por" e "propaganda eleitoral", no caso de algo específico sobre eleições.

Segundo o Facebook não será feito controle do conteúdo em si dos anúncios, desde que respeitadas os padrões da comunidade, que é como a empresa chama a lista do que pode ou não ser publicado.

Os anúncios considerados políticos ficarão disponíveis para consulta por sete anos na Biblioteca de Anúncios da plataforma, diz o Facebook. Hoje, anúncios que não são declarados voluntariamente como propaganda eleitoral ficam disponíveis para consulta apenas enquanto são veiculados.

Veículos de notícia que fazem parte de uma espécie de "lista segura" mantida pelo Facebook serão dispensados do processo de checagem e dos rótulos, caso promova um conteúdo noticioso.

Nas eleições de 2018, quando intensificou o combate às fake news brasileiras na plataforma e criou seu programa de checagem de notícias falsas com agências parceiras, o Facebook já tinha proibido o impulsionamento de conteúdos marcados como fake news.