'; $html .= '
'; $html .= ' Configura Google AdSense y Analytics con ubicaciones visuales'; $html .= '
'; $html .= 'Slots por tipo de anuncio:
'; // Slots con descripciones claras $html .= 'Anuncios fijos en los margenes del viewport. Solo en pantallas muy anchas.
'; // Master switch $railEnabled = $this->renderer->getFieldValue($cid, 'behavior', 'rail_ads_enabled', false); $html .= $this->buildSwitch($cid . 'RailAdsEnabled', 'Activar Rail Ads', $railEnabled, 'bi-power'); // Left/Right toggles $html .= 'Anuncios fijos en el borde superior o inferior de la pantalla.
'; // Master switch $anchorEnabled = $this->renderer->getFieldValue($cid, 'anchor_ads', 'anchor_enabled', false); $html .= $this->buildSwitch($cid . 'AnchorEnabled', 'Activar Anchor Ads', $anchorEnabled, 'bi-power'); // Posicion $anchorPosition = $this->renderer->getFieldValue($cid, 'anchor_ads', 'anchor_position', 'bottom'); $html .= $this->buildSelect($cid . 'AnchorPosition', 'Posicion del anuncio', $anchorPosition, [ 'top' => 'Solo en la parte superior', 'bottom' => 'Solo en la parte inferior', 'both' => 'Superior e inferior' ] ); // Altura $anchorHeight = $this->renderer->getFieldValue($cid, 'anchor_ads', 'anchor_height', '90'); $html .= $this->buildSelect($cid . 'AnchorHeight', 'Altura del anchor', $anchorHeight, ['50' => '50px', '90' => '90px', '100' => '100px', '120' => '120px'] ); // Collapsible toggle $collapsible = $this->renderer->getFieldValue($cid, 'anchor_ads', 'anchor_collapsible_enabled', true); $html .= $this->buildSwitch($cid . 'AnchorCollapsibleEnabled', 'Permitir minimizar', $collapsible, 'bi-arrows-collapse'); $html .= 'Usuario puede minimizar en lugar de cerrar'; // Pantallas $html .= 'Anuncios que ocupan toda la pantalla, aparecen segun el trigger configurado.
'; // Master switch $vignetteEnabled = $this->renderer->getFieldValue($cid, 'vignette_ads', 'vignette_enabled', false); $html .= $this->buildSwitch($cid . 'VignetteEnabled', 'Activar Vignette Ads', $vignetteEnabled, 'bi-power'); // Trigger $vignetteTrigger = $this->renderer->getFieldValue($cid, 'vignette_ads', 'vignette_trigger', 'pageview'); $html .= $this->buildSelect($cid . 'VignetteTrigger', 'Cuando mostrar', (string)$vignetteTrigger, [ 'pageview' => 'Al cargar la pagina', 'scroll_50' => 'Al scrollear 50%', 'scroll_75' => 'Al scrollear 75%', 'exit_intent' => 'Al intentar salir', 'time_delay' => 'Despues de X segundos' ] ); // Delay inicial $triggerDelay = $this->renderer->getFieldValue($cid, 'vignette_ads', 'vignette_trigger_delay', '5'); $html .= $this->buildTextInput($cid . 'VignetteTriggerDelay', 'Delay inicial (segundos)', (string)$triggerDelay, '5'); // Tamano y opacidad $html .= 'Reaparicion
'; $reshowEnabled = $this->renderer->getFieldValue($cid, 'vignette_ads', 'vignette_reshow_enabled', true); $html .= $this->buildSwitch($cid . 'VignetteReshowEnabled', 'Permitir reaparicion', $reshowEnabled); $html .= 'Insertar anuncios en los resultados del buscador de Analisis de Precios Unitarios.
'; // Master switch $searchAdsEnabled = $this->renderer->getFieldValue($cid, 'search_results', 'search_ads_enabled', false); $html .= $this->buildSwitch($cid . 'SearchAdsEnabled', 'Activar ads en busqueda', $searchAdsEnabled, 'bi-power'); // Anuncio superior $html .= 'Rendimiento:
'; $delayEnabled = $this->renderer->getFieldValue($cid, 'forms', 'delay_enabled', true); $html .= $this->buildSwitch($cid . 'DelayEnabled', 'Retrasar carga (mejor PageSpeed)', $delayEnabled, 'bi-hourglass-split'); $delayTimeout = $this->renderer->getFieldValue($cid, 'forms', 'delay_timeout', '5000'); $html .= $this->buildTextInput($cid . 'DelayTimeout', 'Timeout de delay (ms)', $delayTimeout); $html .= '