(function() { 'use strict'; // ========================================================================= // SECAO 1: CONFIGURACOES CENTRALIZADAS // ========================================================================= const CONFIG = { loaderControl: { manage: true, zIndex: 10000, fadeOutMs: 400, backdropColor: 'rgba(255,255,255,0.6)', blurPx: 10, }, // ------------------------------------------------------------------------- // MODO DE OPERACAO // enabled: true -> Modo RetryStep (1 bloco, ignora no-fill, timeout global) // enabled: false -> Modo Cascata (3 blocos em sequencia, no-fill pula bloco) // ------------------------------------------------------------------------- retryStep: { enabled: true, timeoutMs: 10000, logAttempts: true, }, // ------------------------------------------------------------------------- // BLOCO ATIVO // Usado apenas quando retryStep.enabled = true. // ------------------------------------------------------------------------- activePlacement: 'bloco2', // ------------------------------------------------------------------------- // ORDEM DE CASCATA // Usado apenas quando retryStep.enabled = false. // ------------------------------------------------------------------------- executionOrder: ['bloco2', 'bloco1', 'bloco3'], // ------------------------------------------------------------------------- // CADASTRO DE BLOCOS // ------------------------------------------------------------------------- placements: { 'bloco1': { cookieName: 'AutoRewardCompleted_1', placementId: 'vja_rewarded_gift', adUnitPath: 'vja_rewarded_gift', divId: 'vja_rewarded_gift', timeoutMs: 10000 }, 'bloco2': { cookieName: 'AutoRewardCompleted_2', placementId: 'av_rewarded', adUnitPath: 'vja_rewarded', divClass: 'av-rewarded', timeoutMs: 8000 }, 'bloco3': { cookieName: 'AutoRewardCompleted_3', placementId: 'vja_rewarded_quizz', adUnitPath: 'vja_rewarded_quizz', divId: 'vja_rewarded_quizz', timeoutMs: 8000 } }, // --- Cookies --- // Mesmo cookie para completo e abandonado; muda apenas a duracao. cookie: { duration_minutes: 60, duration_closed_minutes: 2, samesite: 'Lax', secure: false, }, // --- Loader Textos --- loader: { loader_text_element_id: 'av-loader__text', text: 'O conteudo sera liberado apos o anuncio.', text_initial: 'O conteudo sera liberado apos o anuncio.', text_fallback1:'O conteudo sera liberado apos o anuncio.', text_fallback2:'O conteudo sera liberado apos o anuncio.', loaderBloqueado: 'Carregando...', }, // --- Prevencao Contra Multi-Requests --- guard_flag: '__autoRewardRunning', // --- Rastreamento (Analytics GA4) --- analytics: { enable_ga4: false }, // --- Fallback Top --- fallbackTop: { targetWrapperId: 'vja_top_wrapper2', adElementId: 'vja_top', insertPosition: 'afterend', htmlTemplate: `

Anuncios

` } }; // ========================================================================= // SECAO 2: FUNCOES AUXILIARES E UI // ========================================================================= // ---- LOADER ---- let _rewardLoaderEl = null; let _fallbackTopInserido = false; function criarRewardLoader(text) { if (!CONFIG.loaderControl.manage) return; if (document.getElementById('av-reward-loader')) return; if (!document.getElementById('av-reward-loader-style')) { const style = document.createElement('style'); style.id = 'av-reward-loader-style'; style.innerHTML = ` #av-reward-loader { position: fixed; width: 100vw; height: 100vh; z-index: ${CONFIG.loaderControl.zIndex}; top: 0; left: 0; background-color: ${CONFIG.loaderControl.backdropColor}; backdrop-filter: blur(${CONFIG.loaderControl.blurPx}px); -webkit-backdrop-filter: blur(${CONFIG.loaderControl.blurPx}px); opacity: 0; animation: rl-fadeIn 0.4s forwards; display: flex; flex-direction: column; align-items: center; justify-content: center; } @keyframes rl-fadeIn { from { opacity: 0 } to { opacity: 1 } } @keyframes rl-fadeOut { from { opacity: 1 } to { opacity: 0 } } #av-reward-loader__spinner { width: 52px; height: 52px; border: 7px solid #f3f3f3; border-radius: 50%; border-top: 7px solid #808080; animation: rl-spin 0.9s linear infinite; } @keyframes rl-spin { 0%{transform:rotate(0deg)} 100%{transform:rotate(360deg)} } #av-reward-loader__text { margin-top: 18px; font-size: 17px; font-weight: bold; text-align: center; padding: 0 24px; color: #222; } `; document.head.appendChild(style); } const el = document.createElement('div'); el.id = 'av-reward-loader'; el.innerHTML = `
${text || ''}
`; document.body.appendChild(el); _rewardLoaderEl = el; window.scrollTo({ top: 0, behavior: 'smooth' }); } function setRewardLoaderText(text) { try { const avEl = document.getElementById(CONFIG.loader.loader_text_element_id); if (avEl) avEl.textContent = text; } catch(e) {} const el = document.getElementById('av-reward-loader__text'); if (el) el.textContent = text; } function fecharRewardLoader(motivo) { if (!CONFIG.loaderControl.manage) return; const el = document.getElementById('av-reward-loader'); if (!el) return; console.log(`[Reward Loader] Fechando loader. Motivo: ${motivo}`); el.style.animation = `rl-fadeOut ${CONFIG.loaderControl.fadeOutMs}ms forwards`; setTimeout(() => { el.remove(); _rewardLoaderEl = null; }, CONFIG.loaderControl.fadeOutMs + 50); } // ---- COOKIES ---- function setCookie(name, value, minutes) { const date = new Date(); date.setTime(date.getTime() + (minutes * 60 * 1000)); const expires = 'expires=' + date.toUTCString(); const samesite = 'SameSite=' + CONFIG.cookie.samesite; const secure = CONFIG.cookie.secure ? '; Secure' : ''; document.cookie = name + '=' + (value || '') + '; ' + expires + '; path=/; ' + samesite + secure; } function getCookie(name) { const nameEQ = name + '='; const ca = document.cookie.split(';'); for (let i = 0; i < ca.length; i++) { let c = ca[i].trimStart(); if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length); } return null; } function usuarioJaInteragiu(placement) { return !!(placement && getCookie(placement.cookieName)); } function motivoCookieAtivo(placement) { return usuarioJaInteragiu(placement) ? 'already_interacted' : null; } // ---- ANALYTICS ---- function getTrackerData() { const params = new URLSearchParams(window.location.search); const getVal = (paramName, storageKey) => { let val = params.get(paramName); if (val) return val; val = sessionStorage.getItem(storageKey); if (val) return val; val = localStorage.getItem(storageKey); if (val) return val; return ''; }; return { utm_source: getVal('utm_source', 'avUtmSource'), utm_medium: getVal('utm_medium', 'avUtmMedium'), utm_campaign: getVal('utm_campaign', 'avUtmCampaign'), utm_term: getVal('utm_term', 'avUtmTerm'), utm_content: getVal('utm_content', 'avUtmContent'), gclid: getVal('gclid', 'avGclid'), fbclid: getVal('fbclid', 'avFbclid'), tbclid: getVal('tbclid', 'avTbclid'), ttclid: getVal('ttclid', 'avTtclid'), user_id: localStorage.getItem('avUserId') || '', session_id: sessionStorage.getItem('avSessionId') || '', experiment: sessionStorage.getItem('avExperiment') || '', marketplace: sessionStorage.getItem('avMarketplace') || '' }; } function trackGA4(eventName, placement, extraParams = {}) { if (!CONFIG.analytics.enable_ga4) return; if (!window.dataLayer) window.dataLayer = []; const payload = { event: eventName, country: window.av?.country || sessionStorage.getItem('avCountry') || 'unknown', ...getTrackerData(), ...extraParams }; if (placement) payload.reward_block = placement.placementId; window.dataLayer.push(payload); console.log(`[GA4 Track] ${eventName}`, payload); } // ---- FALLBACK TOP ---- function inserirAnuncioTop(reason = 'unknown') { if (_fallbackTopInserido) { fecharRewardLoader(reason); return; } fecharRewardLoader(reason); const targetDiv = document.getElementById(CONFIG.fallbackTop.targetWrapperId); if (!targetDiv) { console.warn(`[Reward] Fallback (${CONFIG.fallbackTop.targetWrapperId}) nao encontrado.`); return; } if (document.getElementById(CONFIG.fallbackTop.adElementId)) { _fallbackTopInserido = true; return; } console.log(`[Reward] Inserindo fallback top. Motivo: ${reason}`); trackGA4('reward_ad_fallback_top', null, { fallback_reason: reason }); targetDiv.insertAdjacentHTML(CONFIG.fallbackTop.insertPosition, CONFIG.fallbackTop.htmlTemplate); _fallbackTopInserido = true; } // ---- DIV ISCA ---- function inserirDivGenerica(placement) { if (placement.divId) { if (document.getElementById(placement.divId)) return; const div = document.createElement('div'); div.id = placement.divId; div.style.display = 'none'; document.body.appendChild(div); } else if (placement.divClass) { if (document.querySelector('.' + placement.divClass)) return; const div = document.createElement('div'); div.className = placement.divClass; div.style.display = 'none'; if (placement.divClass === 'av-rewarded') { div.dataset.avRewarded = 'true'; div.setAttribute('aria-hidden', 'true'); } document.body.appendChild(div); } } // ========================================================================= // SECAO 3A: MOTOR RETRYSTEP // ========================================================================= let activePlacementAdUnitPath = null; let activePlacement = null; let grantOcorreu = false; let globalActiveCleanup = null; let activeOnFail = null; function limparEstadoReward() { activePlacementAdUnitPath = null; activePlacement = null; activeOnFail = null; grantOcorreu = false; } function executarRewardComRetry(placement) { console.log(`[Reward][RetryStep] Iniciando para bloco: '${placement.placementId}'`); activePlacementAdUnitPath = placement.adUnitPath; activePlacement = placement; grantOcorreu = false; activeOnFail = null; trackGA4('reward_ad_request', placement); inserirDivGenerica(placement); let timeoutHandle = null; let isResolved = false; const cleanup = () => { isResolved = true; if (timeoutHandle) clearTimeout(timeoutHandle); globalActiveCleanup = null; }; globalActiveCleanup = cleanup; timeoutHandle = setTimeout(() => { if (isResolved) return; cleanup(); console.warn(`[Reward][RetryStep] Timeout (${CONFIG.retryStep.timeoutMs}ms) esgotado. Abrindo top.`); trackGA4('reward_ad_timeout', placement); limparEstadoReward(); inserirAnuncioTop('timeout'); }, CONFIG.retryStep.timeoutMs); window.av.waitFor(() => { if (isResolved) return true; const slot = window.av?.definedSlots?.find(s => s.placement === placement.placementId); return slot && slot.lifecycle === 'ready'; }).then(() => { if (isResolved) return; cleanup(); const rewardedSlot = window.av.definedSlots.find(s => s.placement === placement.placementId); if (!rewardedSlot) { console.error(`[Reward][RetryStep] Slot ausente apos retry. Abrindo top.`); trackGA4('reward_ad_nofill', placement); limparEstadoReward(); inserirAnuncioTop('slot_missing'); return; } console.log(`[Reward][RetryStep] Slot VENDIDO. Exibindo...`); trackGA4('reward_ad_filled', placement); rewardedSlot.show(function() { console.log(`[Reward][RetryStep] Usuario assistiu tudo.`); trackGA4('reward_ad_completed', placement); setCookie(placement.cookieName, 'true', CONFIG.cookie.duration_minutes); limparEstadoReward(); inserirAnuncioTop('completed'); }); }); } // ========================================================================= // SECAO 3B: MOTOR CASCATA // ========================================================================= function tentarPlacement(placement, onFail) { console.log(`[Reward][Cascata] Tentando bloco: '${placement.placementId}'`); activeOnFail = onFail; activePlacementAdUnitPath = placement.adUnitPath; activePlacement = placement; grantOcorreu = false; trackGA4('reward_ad_request', placement); inserirDivGenerica(placement); let timeoutHandle = null; let isResolved = false; const cleanup = () => { isResolved = true; if (timeoutHandle) clearTimeout(timeoutHandle); globalActiveCleanup = null; }; globalActiveCleanup = cleanup; timeoutHandle = setTimeout(() => { if (isResolved) return; cleanup(); console.warn(`[Reward][Cascata] Timeout em '${placement.placementId}'. Pulando...`); onFail(); }, placement.timeoutMs || 10000); window.av.waitFor(() => { if (isResolved) return true; const slot = window.av?.definedSlots?.find(s => s.placement === placement.placementId); return slot && slot.lifecycle === 'ready'; }).then(() => { if (isResolved) return; cleanup(); const rewardedSlot = window.av.definedSlots.find(s => s.placement === placement.placementId); if (!rewardedSlot) { console.error(`[Reward][Cascata] Slot '${placement.placementId}' ausente. Pulando...`); onFail(); return; } console.log(`[Reward][Cascata] Anuncio '${placement.placementId}' PRONTO. Exibindo...`); trackGA4('reward_ad_filled', placement); rewardedSlot.show(function() { console.log(`[Reward][Cascata] Usuario assistiu tudo em '${placement.placementId}'.`); trackGA4('reward_ad_completed', placement); setCookie(placement.cookieName, 'true', CONFIG.cookie.duration_minutes); limparEstadoReward(); inserirAnuncioTop('completed'); }); }); } function determinarPontoDeEntrada() { for (let i = 0; i < CONFIG.executionOrder.length; i++) { const blockKey = CONFIG.executionOrder[i]; const placement = CONFIG.placements[blockKey]; if (placement && !usuarioJaInteragiu(placement)) return i; } return -1; } function executarCascata(startIndex) { const loaderTexts = [ CONFIG.loader.text_initial, CONFIG.loader.text_fallback1, CONFIG.loader.text_fallback2 ]; let cadeia = function() { limparEstadoReward(); inserirAnuncioTop('all_empty_or_timeout'); }; for (let i = CONFIG.executionOrder.length - 1; i >= startIndex; i--) { (function(index, nextFail) { const blockKey = CONFIG.executionOrder[index]; const placement = CONFIG.placements[blockKey]; const loaderText = loaderTexts[index] || CONFIG.loader.text_initial; const thisOnFail = function() { if (index < CONFIG.executionOrder.length - 1) { setRewardLoaderText(loaderTexts[index + 1] || CONFIG.loader.text_fallback2); } nextFail(); }; cadeia = function() { if (!placement) { console.error(`[Reward][Cascata] Bloco '${blockKey}' faltante. Queimando etapa.`); thisOnFail(); return; } if (usuarioJaInteragiu(placement)) { console.log(`[Reward][Cascata] Cookie ativo em '${placement.placementId}'. Pulando bloco.`); thisOnFail(); return; } setRewardLoaderText(loaderText); tentarPlacement(placement, thisOnFail); }; })(i, cadeia); } cadeia(); } // ========================================================================= // SECAO 4: INTEGRACAO GAM // ========================================================================= window.googletag = window.googletag || { cmd: [] }; googletag.cmd.push(function() { googletag.pubads().addEventListener('rewardedSlotGranted', function(event) { const adUnitPath = event.slot.getAdUnitPath(); if (activePlacementAdUnitPath && adUnitPath.includes(activePlacementAdUnitPath)) { grantOcorreu = true; } }); googletag.pubads().addEventListener('rewardedSlotClosed', function(event) { const adUnitPath = event.slot.getAdUnitPath(); if (!activePlacementAdUnitPath || !adUnitPath.includes(activePlacementAdUnitPath)) return; if (grantOcorreu) return; console.warn(`[Reward] Usuario fechou o reward sem completar.`); trackGA4('reward_ad_abandoned', activePlacement); if (globalActiveCleanup) globalActiveCleanup(); if (activePlacement) { setCookie(activePlacement.cookieName, 'true', CONFIG.cookie.duration_closed_minutes); } limparEstadoReward(); inserirAnuncioTop('abandoned'); }); googletag.pubads().addEventListener('slotRenderEnded', function(event) { if (!event.isEmpty) return; const adUnitPath = event.slot.getAdUnitPath(); if (!activePlacementAdUnitPath || !adUnitPath.includes(activePlacementAdUnitPath)) return; if (CONFIG.retryStep.enabled) { if (CONFIG.retryStep.logAttempts) { console.log(`[Reward][RetryStep] Tentativa sem fill em '${activePlacement?.placementId}'. Aguardando proximo retry...`); } trackGA4('reward_ad_retry_attempt', activePlacement); } else { trackGA4('reward_ad_nofill', activePlacement); if (globalActiveCleanup) globalActiveCleanup(); if (activeOnFail) { console.warn(`[Reward][Cascata] NO FILL. Pulando para proximo bloco...`); const fail = activeOnFail; activeOnFail = null; fail(); } } }); }); // ========================================================================= // SECAO 5: INICIALIZACAO // ========================================================================= document.addEventListener('DOMContentLoaded', function() { if (window[CONFIG.guard_flag]) { console.warn('[Reward] Execucao paralela abortada.'); return; } window[CONFIG.guard_flag] = true; if (window.av?.skipAds) { console.warn('[Reward] AdBlock detectado.'); inserirAnuncioTop('adblock'); return; } if (!window.av) { inserirAnuncioTop('av_not_loaded'); return; } window.av.waitFor(() => window.av.isSafe !== null).then(() => { if (!window.av.isSafe) { console.warn('[Reward] Bot / trafego invalido. Negando reward.'); inserirAnuncioTop('bot_traffic'); return; } if (CONFIG.retryStep.enabled) { const placement = CONFIG.placements[CONFIG.activePlacement]; if (!placement) { console.error(`[Reward] activePlacement '${CONFIG.activePlacement}' nao encontrado.`); inserirAnuncioTop('config_error'); return; } const cookieReason = motivoCookieAtivo(placement); if (cookieReason) { console.log(`[Reward][RetryStep] Cookie ativo. Abrindo top direto.`); trackGA4('reward_ad_already_interacted', placement); criarRewardLoader(CONFIG.loader.loaderBloqueado); setRewardLoaderText(CONFIG.loader.loaderBloqueado); inserirAnuncioTop(cookieReason); return; } criarRewardLoader(CONFIG.loader.text); setRewardLoaderText(CONFIG.loader.text); executarRewardComRetry(placement); } else { const pontoDeEntrada = determinarPontoDeEntrada(); if (pontoDeEntrada === -1) { console.log('[Reward][Cascata] Todos os cookies ativos. Abrindo top direto.'); trackGA4('reward_ad_already_interacted_all', null); criarRewardLoader(CONFIG.loader.loaderBloqueado); setRewardLoaderText(CONFIG.loader.loaderBloqueado); inserirAnuncioTop('already_interacted_all'); return; } criarRewardLoader(CONFIG.loader.text_initial); setRewardLoaderText(CONFIG.loader.text_initial); executarCascata(pontoDeEntrada); } }); }); })();

Financiamento no Casa Verde e Amarela lança taxas especiais para ESTE grupo

Os financiamentos habitacionais estão repaginados e trazendo melhores condições para as famílias brasileiras que estão pensando em investir na casa própria em 2021.

Como foi anunciado, o Minha Casa Minha Vida foi substituído pelo Casa Verde e Amarela e apesar de termos algumas mudanças, a aquisição a casa própria continua muito facilitada, principalmente às famílias de baixa renda.

Anúncios

O financiamento através do Casa Verde e Amarela é uma opção para milhares de brasileiros que não possuem um imóvel próprio e para incentivar ainda mais a contratação do financiamento, o governo anunciou taxas de juros mais baixas e ainda mais especiais para um determinado grupo.

Quer conferir todos os detalhes para saber como participar e se beneficiar? Leia a seguir.

Conheça o novo Casa Verde e Amarela

O Casa Verde e Amarela é o novo programa habitacional que substitui o Minha Casa Minha Vida. Ele continua oferecendo as melhores condições do mercado para que centenas de brasileiros consigam investir na casa própria, sem afetar a sua renda mensal. Ele apresenta algumas mudanças, como a possibilidade de financiar imóveis usados, o que antes não era possível.

Além disso, o novo programa também amplia a faixa de brasileiros que pode ser beneficiada, através de novas iniciativas que visam contribuir com a reforma e melhoria de moradias, para quem já possui um imóvel. Com isso, muitas famílias também poderão ser contempladas para melhorar a sua qualidade de vida.

O programa também atuará na regularização de imóveis, ajudando famílias que vivem em situações de irregularidade a não perderem suas casas. O novo Casa Verde e Amarela promete mudar a vida de muitos brasileiros que não tiveram a chance de serem contemplados pelo Minha Casa Minha Vida.

Grupos de Renda e condições do financiamento

Os grupos de renda do Casa Verde e Amarela também passaram por uma alteração, ampliando a renda do grupo 1 para enquadrar mais famílias nas melhores condições. O grupo 1 agora é composto por famílias com renda mensal de até R$2 mil, ou de até R$2,6 mil para as famílias do Norte e Nordeste. Enquanto que o grupo 2, são famílias com renda mensal de até R$4 mil. Por último, o grupo 3 conta com famílias com renda mensal de até R$7 mil.

Aqueles que se enquadrarem no grupo 1, poderão aproveitar taxas de juros de 4,75% ao ano, além de subsídios de até R$47.500,00, de acordo com a renda e a região em que morar. O prazo para quitar o financiamento é de 30 anos. Já para o grupo 2, o subsídio é de até R$29 mil, conforme a renda e a localidade.

Por último, no grupo 3, as taxas de juros e demais condições do financiamento variam conforme cada caso, sendo preciso consultar diretamente com a Caixa Econômica Federal. Depois de definir em qual faixa de renda você se enquadra, é possível dar o primeiro passo: fazer uma simulação ou entrar em contato com a Caixa para dar seguimento à contratação do financiamento.

É possível usar o FGTS no financiamento, mas para isso o recurso não pode ter sido utilizado nos últimos 2 anos.

Taxas de juros especiais

O novo programa também estabeleceu novas regras ao que diz respeito aos repasses realizados pelas empresas que são responsáveis por gerenciar o financiamento para a Caixa Econômica. As empresas antes recebiam 1% de cada financiamento e a partir de agora, irão receber apenas 0,5% de cada financiamento.

Essa economia será repassada aos consumidores que poderão contar com taxas de juros mais reduzidas, além de terem um poder de compra um pouco maior do que antes. No grupo 1, as taxas são de 4,75% ao ano, mas podem chegar a 4,25% para as famílias que residem nas regiões do Norte e Nordeste, que são as mais beneficiadas.

O novo programa está dando uma atenção especial para as famílias do Norte e Nordeste brasileiros, pois geralmente são as que mais são prejudicadas com o déficit habitacional. Com as novas regras, terão um maior poder de compra e poderão realizar o sonho da casa própria através do Casa Verde e Amarela.

Quem pode contratar o financiamento

O financiamento habitacional através do Casa Verde e Amarela pode ser contratado por grande parte dos brasileiros, mas para isso, é necessário se enquadrar em todos os requisitos do programa. O principal requisito é o de renda e os interessados devem se enquadrar em um dos grupos para poder dar entrada no financiamento.

É indicado também que você não possua nenhum outro imóvel em seu nome, possua carteira de trabalho assinada e não tenha utilizado os recursos do FGTS nos últimos 2 anos. Se você atende a esses requisitos, está apto para dar entrada no financiamento da casa própria.

Veja como dar entrada no financiamento do Casa Verde e Amarela

Para dar entrada no financiamento do Casa Verde e Amarela, a primeira etapa é a de simulação da linha de crédito. A Caixa libera essa simulação de forma online através do seu site, onde você pode colocar seus dados pessoais e os dados do imóvel, para obter detalhes sobre as prestações, os prazos e demais condições do financiamento.

Depois dessa etapa, você pode reunir seus documentos e os documentos do imóvel, e ir até uma agência. Falando com o atendente, você será capaz de obter mais detalhes sobre o uso do FGTS, subsídios e demais condições que se aplicam ao seu perfil de consumidor. O imóvel escolhido também precisará passar por uma inspeção da equipe de Engenharia da Caixa.

Somente depois disso e se tudo estiver certo, o contrato é assinado. Parece muita coisa, mas acredite, todo o processo é muito rápido e logo você consegue se mudar para a casa escolhida. Se você der entrada no procedimento nas próximas semanas, poderá já ter a sua casa própria no início do próximo semestre.

Siga todas as recomendações e vá atrás da sua casa própria. Se ainda restar dúvidas, não deixe de entrar em contato com a Caixa.

redator
redator

Diariamente publicamos conteúdo em nosso site relacionadas a empresas de todos os portes, desde micro empresas a multinacionais.