;(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
Logo Pagbenk Seu dinheiro rende mais
Topo

Voz de Galvão Bueno anuncia que voos da Gol terão TV ao vivo

Reprodução/TV Globo
Imagem: Reprodução/TV Globo

Renato Pezzotti

Colaboração para o UOL, em São Paulo

05/07/2019 11h33Atualizada em 05/07/2019 15h58

O narrador Galvão Bueno, da Rede Globo, estará nos aviões da Gol Linhas Aéreas --ou, ao menos, a voz dele.

Os ageiros da companhia, patrocinadora da Copa América de futebol, ouvirão um recado especial de Galvão ao embarcarem nas aeronaves: "Bem amigos da Gol! Só aqui você não perde nenhum jogo, porque tem TV ao vivo para todos os destinos".

O narrador foi escolhido para anunciar que todos os aviões da empresa am a ter TV ao vivo dentro da plataforma de entretenimento de bordo.

Ouça como ficou:

A mensagem aproveita os jogos finais da Copa América, que termina neste domingo. O Brasil enfrenta o Peru na final do torneio. A ação será realizada até o começo de agosto.

Merchan liberado para jornalistas esportivos

A ação quebra um tabu na emissora. Até o ano ado, os jornalistas da Globo eram proibidos de contratos comerciais com anunciantes.

Essa regra está sendo, aos poucos, flexibilizada pela empresa. Agora, ao menos os jornalistas esportivos podem realizar ações comerciais. A permissão abriu uma possibilidade de renda extra para âncoras de programas esportivos ou profissionais das equipes que participam de eventos.

Em nota, a Rede Globo apenas afirmou que "a ação com a Gol é uma promoção de conteúdo Globo", uma vez que "a narração de Galvão Bueno convida os ageiros da companhia a acompanharem os jogos da competição na TV de bordo, ao vivo, durante o voo".

É a primeira vez que Galvão Bueno faz este tipo de ação. Ele participou de pouquíssimos comerciais em sua carreira. Em 1982, por exemplo, narrou uma corrida de carrinhos de rolimã em um comercial da Kichute.

Promoções, queda do site e check-in na lata

A iniciativa da Gol fecha uma série de ações da marca dentro do patrocínio à Copa América. "Todas as nossas iniciativas foram pensadas para aproximar o Brasil das demais nações, principalmente da América do Sul. Buscamos sempre ações com criatividade para envolver os torcedores", afirma Loraine Ricino, diretora de Marketing da empresa.

No começo de junho, a companhia se uniu à Mastercard para fazer o transporte da taça do Rio de Janeiro a São Paulo.

No dia da estreia da seleção brasileira, em 13 de junho, a empresa imitou um pregão interativo, semelhante ao que acontece na Bolsa de Valores. Gols, cartões amarelos e vermelhos, o placar ao final do primeiro tempo e o placar ao final da partida fizeram oscilar os preços das agens para viagens dentro do Brasil e as que tinham a Bolívia, adversária do jogo, como destino.

No dia do jogo entre Brasil e Venezuela, a empresa fez uma parceria com a cerveja Brahma e anunciou a venda de cerca de 140 agens, para destinos em 7 países, por R$ 3,90. O resultado não foi tão bacana. O site caiu, clientes apontaram problemas para efetuar a compra e houve muita reclamação nas redes sociais. O Procon-SP decidiu apurar o que houve.

Na semana ada, a Gol se uniu ao Guaraná Antarctica para mais uma ação. A companhia aérea fez um cartão de embarque personalizado, que era impresso em uma lata de refrigerante. A máquina de "check-in na lata" ainda está à disposição dos clientes, no saguão do aeroporto de Congonhas, em São Paulo, até domingo (7).

Geração Y quer inovação, mas também é conservadora

UOL Notícias