import { shouldServeAds } from '@/lib/ads' import { AdSenseScript } from './AdSenseScript' /** * Google AdSense: etiqueta de verificación de la cuenta + script de anuncios * («Auto ads»: se pega en todas las páginas y Google decide dónde colocarlos). * * TRES interruptores: * * 1. `ADSENSE_CLIENT_ID` en el .env. Vacío o sin poner = no se emite nada. Es el * interruptor del administrador. No lleva prefijo NEXT_PUBLIC_ a propósito: * esto se renderiza en el servidor (el layout ya es dinámico porque
* lee la sesión), así que no hace falta exponerlo al bundle del cliente ni * rebuildear para activarlo o desactivarlo. * 2. El filtro común de publicidad (`shouldServeAds`, ver lib/ads.ts): fuera para * admins y para quien sea rango 2+ o haya pagado alguna vez. * 3. El consentimiento «Marketing» del visitante, pero SOLO para el script, en * (cliente). La se queda fuera del banner a propósito: * es un identificador estático de la cuenta, no carga nada ni escribe cookies, * y Google la quiere presente para poder verificar el sitio aunque el visitante * rechace los anuncios. */ export async function AdSense() { const client = process.env.ADSENSE_CLIENT_ID if (!client) return null if (!(await shouldServeAds())) return null return ( <> ) }