
╔═══════════════════════════════════════════════════════════════════════════╗
║                                                                           ║
║              ADHUB - GUIDA INTEGRAZIONE SEMPLIFICATA                     ║
║              Site: legacy_adhubmedia                                      ║
║                                                                           ║
╚═══════════════════════════════════════════════════════════════════════════╝

Build Date: 2025-11-17 11:38:32
Bundle Version: 2.0.0 (GDPR/TCF 2.2 + Video Ads + Playlists)

═══════════════════════════════════════════════════════════════════════════
  1. INTEGRAZIONE SCRIPT
═══════════════════════════════════════════════════════════════════════════

Aggiungi SOLO questo script nel <head> del tuo sito:

┌───────────────────────────────────────────────────────────────────────────┐
│ <script src="https://lib.adhubmedia.com/dist/legacy_adhubmedia/adhub-legacy_adhubmedia.min.js"></script>
└───────────────────────────────────────────────────────────────────────────┘

⚠️  IMPORTANTE:
   • Il bundle include TUTTO: Prebid.js, GAM, CMP, Video, Analytics
   • Il CSS viene caricato automaticamente dal bundle (nessun file CSS esterno)
   • Gli ad units si attivano automaticamente dopo il consenso GDPR

🔧 Per debug/development usa il bundle esteso:
   <script src="https://lib.adhubmedia.com/dist/legacy_adhubmedia/adhub-legacy_adhubmedia.js"></script>


═══════════════════════════════════════════════════════════════════════════
  2. PLACEHOLDER AD UNITS (Display Ads)
═══════════════════════════════════════════════════════════════════════════

Aggiungi questi div nel <body> dove vuoi mostrare gli annunci display:

<div id="adhub-top-banner"></div>
<div id="adhub-sidebar"></div>
<div id="adhub-in-article"></div>
<div id="adhub-sticky-bottom"></div>
<div id="adhub-728x90-banner"></div>
<div id="adhub-300x250-top"></div>
<div id="adhub-300x250-mid"></div>
<div id="adhub-300x250-bottom"></div>
<div id="adhub-in-article-1"></div>
<div id="adhub-in-article-2"></div>
<div id="adhub-in-article-3"></div>

💡 Gli ad units verranno stilizzati automaticamente dal CSS dinamico nel bundle.


═══════════════════════════════════════════════════════════════════════════
  3. VIDEO PLAYER (Single Video Ad) - AUTO-INIT
═══════════════════════════════════════════════════════════════════════════

✨ INIZIALIZZAZIONE AUTOMATICA - Aggiungi SOLO il div con attributo data-adhub-video:

┌─── STICKY LEFT (Automatico) ──────────────────────────────────────────────┐
│ <div data-adhub-video="sticky-left"></div>                               │
└───────────────────────────────────────────────────────────────────────────┘

┌─── STICKY RIGHT (Automatico) ─────────────────────────────────────────────┐
│ <div data-adhub-video="sticky-right"></div>                              │
└───────────────────────────────────────────────────────────────────────────┘

┌─── IN-ARTICLE (Automatico) ───────────────────────────────────────────────┐
│ <div id="my-video" data-adhub-video="in-article"></div>                  │
└───────────────────────────────────────────────────────────────────────────┘

⚙️ INIZIALIZZAZIONE MANUALE (Opzionale, per controllo avanzato):

<script>
  window.addEventListener('adhub:ready', function() {
    AdHubVideo.showStickyVideo('left');          // Sticky left
    // AdHubVideo.showStickyVideo('right');      // Sticky right
    // AdHubVideo.showInArticleVideo('my-video'); // In-article
  });
</script>

💡 L'auto-init è RACCOMANDATO - zero JavaScript necessario!


═══════════════════════════════════════════════════════════════════════════
  4. VIDEO PLAYLISTS (Continuous Video Content + Ads) - AUTO-INIT
═══════════════════════════════════════════════════════════════════════════

Le playlists alternano video content e video ads automaticamente.

✨ INIZIALIZZAZIONE AUTOMATICA - Aggiungi SOLO il div con attributi data-*:

┌─── STICKY PLAYLIST LEFT (Automatico) ─────────────────────────────────────┐
│ <div data-adhub-playlist="sticky-left" data-playlist-code="viral"></div> │
└───────────────────────────────────────────────────────────────────────────┘

┌─── STICKY PLAYLIST RIGHT (Automatico) ────────────────────────────────────┐
│ <div data-adhub-playlist="sticky-right" data-playlist-code="news"></div> │
└───────────────────────────────────────────────────────────────────────────┘

┌─── IN-CONTENT PLAYLIST (Automatico) ──────────────────────────────────────┐
│ <div id="my-playlist"                                                     │
│      data-adhub-playlist="in-content"                                     │
│      data-playlist-code="gossip"                                          │
│      data-enable-ads="true"></div>                                        │
└───────────────────────────────────────────────────────────────────────────┘

Attributi disponibili:
  • data-adhub-playlist    → Posizione: sticky-left, sticky-right, in-content
  • data-playlist-code     → Playlist: viral, news, gossip, donnemagazine, actualidad
  • data-enable-ads        → Ads: true (default) o false

🔄 RETROCOMPATIBILITÀ (vecchia sintassi ancora supportata):
  • <div id="adhub-player" playlist="donnemagazine"></div>  → Funziona ancora!
  • Posizione dedotta automaticamente dall'ID (sticky-left, sticky-right, o in-content)

⚙️ INIZIALIZZAZIONE MANUALE (Opzionale, per controllo avanzato):

<script>
  window.addEventListener('adhub:ready', function() {
    // Sticky playlist
    Legacy_adhubmediaPlaylist.showStickyPlaylist('left', {
      playlist: 'viral',
      enableAds: true
    });

    // O in-content playlist
    // Legacy_adhubmediaPlaylist.showInContentPlaylist('my-playlist', {
    //   playlist: 'gossip',
    //   enableAds: true
    // });
  });
</script>

🎬 PLAYLIST DISPONIBILI:
   • viral       - Lifestyle: acne, ansia, capelli, dormire
   • news        - News: avvocato incidenti, difesa, multe
   • gossip      - Spettacolo: off camera interviste
   • donnemagazine - Donna: chirurgo botox, psicologa
   • actualidad  - Actualidad: vari temi (ES)

💡 Le playlist vengono stilizzate automaticamente (player controls, progress bar,
   close button, next button, video counter, etc.)


═══════════════════════════════════════════════════════════════════════════
  5. CSS AUTOMATICO
═══════════════════════════════════════════════════════════════════════════

✅ Il bundle carica automaticamente tutti gli stili CSS necessari:
   • Ad containers responsive
   • Video player (sticky + in-content)
   • Video playlists (sticky + in-content)
   • Controls, buttons, overlays
   • Mobile responsive breakpoints

❌ NON devi aggiungere nessun CSS manualmente!

Il modulo AdHubCSS inietta dinamicamente ~9KB di stili ottimizzati nel <head>.


═══════════════════════════════════════════════════════════════════════════
  6. DEBUG & API
═══════════════════════════════════════════════════════════════════════════

Apri la console JavaScript per accedere alle API di debug:

┌─── GAM ───────────────────────────────────────────────────────────────────┐
│ AdHubGAM.getState()          // Stato sistema GAM                        │
│ AdHubGAM.getSlotCodes()      // Lista slot configurati                   │
│ AdHubGAM.refreshSlots([...]) // Refresh specifici slot                   │
└───────────────────────────────────────────────────────────────────────────┘

┌─── PREBID ────────────────────────────────────────────────────────────────┐
│ pbjs.getBidResponses()       // Risposte bid                             │
│ pbjs.getAdserverTargeting()  // Targeting GAM                            │
└───────────────────────────────────────────────────────────────────────────┘

┌─── CONSENT (GDPR) ────────────────────────────────────────────────────────┐
│ AdHubCMP.getState()          // Stato consenso                           │
│ AdHubCMP.checkConsent()      // Verifica consenso                        │
└───────────────────────────────────────────────────────────────────────────┘

┌─── SITE CONFIG ───────────────────────────────────────────────────────────┐
│ Legacy_adhubmediaDebug.getConfig()        // Config sito                          │
│ Legacy_adhubmediaDebug.getBids()          // Bids Prebid                          │
│ Legacy_adhubmediaDebug.showSSPConfig()    // Config SSP                           │
└───────────────────────────────────────────────────────────────────────────┘

┌─── VIDEO PLAYLISTS ───────────────────────────────────────────────────────┐
│ Legacy_adhubmediaPlaylist.listPlaylists() // Lista playlist disponibili           │
│ Legacy_adhubmediaPlaylist.getConfig()     // Config playlist                      │
└───────────────────────────────────────────────────────────────────────────┘

┌─── CSS ───────────────────────────────────────────────────────────────────┐
│ AdHubCSS.loaded              // Verifica se CSS è caricato               │
│ AdHubCSS.reload()            // Ricarica CSS (per debug)                 │
└───────────────────────────────────────────────────────────────────────────┘


═══════════════════════════════════════════════════════════════════════════
  7. DEBUG URL PARAMETERS
═══════════════════════════════════════════════════════════════════════════

Aggiungi questi parametri all'URL per attivare debug mode:

?debug=1            → Debug generale AdHub
?debug=cmp          → Debug sistema consenso GDPR
?debug=ssp          → Debug configurazione SSP
?debug=prebid       → Debug Prebid.js
?debug=playlist     → Debug video playlists
?pbjs_debug=true    → Debug Prebid dettagliato


═══════════════════════════════════════════════════════════════════════════
  8. FILE GENERATI
═══════════════════════════════════════════════════════════════════════════

📦 Bundle JavaScript:
   • dist/legacy_adhubmedia/adhub-legacy_adhubmedia.js          (extended, con logs)
   • dist/legacy_adhubmedia/adhub-legacy_adhubmedia.min.js      (minified, production)

📄 Altri file:
   • dist/legacy_adhubmedia/ads.txt                    (da caricare in root dominio)
   • dist/legacy_adhubmedia/integration-guide.txt     (questo file)

⚠️  IMPORTANTE: Carica ads.txt nella root del tuo dominio!
   Esempio: https://tuodominio.com/ads.txt


═══════════════════════════════════════════════════════════════════════════
  9. CHECKLIST INTEGRAZIONE
═══════════════════════════════════════════════════════════════════════════

□ Script bundle incluso nel <head>
□ Placeholder div aggiunti al <body>
□ ads.txt caricato nella root del dominio
□ Console JavaScript senza errori
□ AdHubGAM.getState() mostra initialized: true
□ AdHubCMP.getState() mostra consenso valido
□ AdHubCSS.loaded ritorna true
□ Annunci display visibili nei container
□ Video player/playlist funzionanti (se implementati)


═══════════════════════════════════════════════════════════════════════════

🎉 Setup completato! Il tuo sito è pronto per monetizzare con AdHub.

Build by: AdHub Bundle Builder v2.0.0
Date:     2025-11-17 11:38:32

═══════════════════════════════════════════════════════════════════════════
