╔═══════════════════════════════════════════════════════════════════════════╗
║                                                                           ║
║              ADHUB - GUIDA INTEGRAZIONE PER legacy_adhubmedia (NO CMP)
║                                                                           ║
╚═══════════════════════════════════════════════════════════════════════════╝

Build Date: 2025-11-17 12:38:32
Bundle Version: 2.0.0 (WITHOUT CMP)

⚠️  WARNING: This bundle DOES NOT include Consent Management Platform (CMP)
    Use only for:
    - Sites not operating in EU/EEA
    - Sites with external CMP solution
    - Sites not requiring GDPR/TCF compliance

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

🎯  NOVITÀ: Il bundle carica automaticamente Prebid.js e Google Ad Manager!
    Devi includere SOLO 1 script + i div placeholder.

Aggiungi questo script nel <head> del tuo sito, PRIMA del tag </head>:

<!-- ========== INTEGRAZIONE MINIMA (SOLO 1 SCRIPT!) ========== -->
<!-- Il bundle carica automaticamente Prebid.js e Google Ad Manager -->

<script src="https://lib.adhubmedia.com/dist/legacy_adhubmedia/adhub-legacy_adhubmedia-no-cmp.min.js"></script>


ALTERNATIVA (per debug/development):
<!-- Usa bundle esteso invece di minificato -->
<script src="https://lib.adhubmedia.com/dist/legacy_adhubmedia/adhub-legacy_adhubmedia-no-cmp.js"></script>


═══════════════════════════════════════════════════════════════════════════
  2. PLACEHOLDER AD UNITS
═══════════════════════════════════════════════════════════════════════════

Aggiungi questi div nel <body> del tuo sito, nelle posizioni dove vuoi
mostrare gli annunci:


<!-- ========== ADHUB-TOP-BANNER ========== -->
<div id="adhub-top-banner"></div>
<!-- Sizes supportate: 970x250
728x90
320x100
320x50 -->


<!-- ========== ADHUB-SIDEBAR ========== -->
<div id="adhub-sidebar"></div>
<!-- Sizes supportate: 300x250
300x600 -->


<!-- ========== ADHUB-IN-ARTICLE ========== -->
<div id="adhub-in-article"></div>
<!-- Sizes supportate: 300x250
336x280 -->


<!-- ========== ADHUB-STICKY-BOTTOM ========== -->
<div id="adhub-sticky-bottom"></div>
<!-- Sizes supportate: 728x90
320x50 -->


<!-- ========== ADHUB-728X90-BANNER ========== -->
<div id="adhub-728x90-banner"></div>
<!-- Sizes supportate: 728x90
300x250 -->


<!-- ========== ADHUB-300X250-TOP ========== -->
<div id="adhub-300x250-top"></div>
<!-- Sizes supportate: 300x250 -->


<!-- ========== ADHUB-300X250-MID ========== -->
<div id="adhub-300x250-mid"></div>
<!-- Sizes supportate: 300x250 -->


<!-- ========== ADHUB-300X250-BOTTOM ========== -->
<div id="adhub-300x250-bottom"></div>
<!-- Sizes supportate: 300x250 -->


<!-- ========== ADHUB-IN-ARTICLE-1 ========== -->
<div id="adhub-in-article-1"></div>
<!-- Sizes supportate: 300x250
336x280 -->


<!-- ========== ADHUB-IN-ARTICLE-2 ========== -->
<div id="adhub-in-article-2"></div>
<!-- Sizes supportate: 300x250
336x280 -->


<!-- ========== ADHUB-IN-ARTICLE-3 ========== -->
<div id="adhub-in-article-3"></div>
<!-- Sizes supportate: 300x250
336x280 -->


═══════════════════════════════════════════════════════════════════════════
  3. CSS OPZIONALE (RESPONSIVE)
═══════════════════════════════════════════════════════════════════════════

Aggiungi questo CSS per gestire la visualizzazione responsive degli ad units:

<style>
/* Ad containers base */
[id^="adhub-"] {
    margin: 20px auto;
    text-align: center;
    min-height: 50px;
}

/* Top Banner */
#adhub-top-banner {
    max-width: 970px;
}

/* Sidebar */
#adhub-sidebar {
    max-width: 300px;
}

/* In-Article */
#adhub-in-article {
    max-width: 336px;
    margin: 30px auto;
}

/* Sticky Bottom (mobile) */
#adhub-sticky-bottom {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    background: #fff;
    box-shadow: 0 -2px 5px rgba(0,0,0,0.1);
}

/* Nascondi sticky su desktop */
@media (min-width: 768px) {
    #adhub-sticky-bottom {
        display: none;
    }
}

/* Nascondi sidebar su mobile */
@media (max-width: 767px) {
    #adhub-sidebar {
        display: none;
    }
}
</style>


═══════════════════════════════════════════════════════════════════════════
  4. GOOGLE AD MANAGER (GAM) INTEGRATION
═══════════════════════════════════════════════════════════════════════════

Il bundle include l'integrazione automatica con Google Ad Manager (GAM).

INIZIALIZZAZIONE AUTOMATICA:
Il sistema GAM si inizializza automaticamente:
1. Prebid.js si configura
2. GAM definisce gli slot
3. Auction Prebid si avvia
4. Annunci vengono mostrati

VERIFICA STATO GAM:
// Stato sistema GAM
AdHubGAM.getState()
// Output: { initialized: true, slotsCreated: true, adsRequested: true, slotsCount: 4 }

// Configurazione GAM attiva
AdHubGAM.config
// Output: { networkCode: '131207395', sitePrefix: 'legacy_adhubmedia', slots: [...] }

// Lista slot configurati
AdHubGAM.getSlotCodes()
// Output: ['adhub-top-banner', 'adhub-sidebar', 'adhub-in-article', 'adhub-sticky-bottom']


API GAM DISPONIBILI:
// Refresh manuale di uno slot
AdHubGAM.refreshSlots('adhub-top-banner')

// Refresh multipli slot
AdHubGAM.refreshSlots(['adhub-top-banner', 'adhub-sidebar'])

// Refresh tutti gli slot
AdHubGAM.requestAds()

// Display slot specifico
AdHubGAM.displaySlot('adhub-sidebar')

// Distruggi slot (per SPA)
AdHubGAM.destroySlots()


CONFIGURAZIONE CUSTOM (OPZIONALE):
Se hai bisogno di slot GAM personalizzati, crea il file:
sites/legacy_adhubmedia/gam-slots.js

window.AdHubGAMConfig = {
  networkCode: '131207395',
  sitePrefix: 'legacy_adhubmedia',
  slots: [
    {
      code: 'adhub-top-banner',
      adUnit: '/131207395/legacy_adhubmedia-top-banner',
      sizes: [[970, 250], [728, 90]],
      targeting: { position: 'top' }
    }
    // ... altri slot
  ]
};

Poi rebuilda il bundle:
./tools/build/build-site-bundle-no-cmp.sh legacy_adhubmedia


═══════════════════════════════════════════════════════════════════════════
  5. DEBUG & TESTING
═══════════════════════════════════════════════════════════════════════════

Per testare l'integrazione, apri la console del browser e usa:

// === GAM ===
AdHubGAM.getState()
AdHubGAM.getSlotCodes()
AdHubGAM.config

// === Prebid ===
pbjs.getBidResponses()
pbjs.getAdserverTargeting()

// === Configurazione Sito ===
window.legacy_adhubmediaDebug.getConfig()
window.legacy_adhubmediaDebug.testBidder('appnexus')
window.legacy_adhubmediaDebug.showSSPConfig()


═══════════════════════════════════════════════════════════════════════════
  6. URL PARAMETERS PER DEBUG
═══════════════════════════════════════════════════════════════════════════

?debug=1         → Attiva debug AdHub
?debug=ssp       → Mostra debug configurazione SSP
?debug=prebid    → Attiva debug Prebid.js (console)
?pbjs_debug=true → Debug Prebid dettagliato


═══════════════════════════════════════════════════════════════════════════
  7. VERIFICA INTEGRAZIONE
═══════════════════════════════════════════════════════════════════════════

Checklist:
□ Script bundle caricato correttamente (no errori console)
□ Prebid.js caricato
□ Google Publisher Tag caricato
□ Placeholder div presenti nel HTML
□ AdHubGAM.getState() mostra initialized: true
□ pbjs.getBidResponses() ritorna bid
□ Annunci visualizzati nei container


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

Bundle esteso (debug):     dist/legacy_adhubmedia/adhub-legacy_adhubmedia-no-cmp.js
Bundle minificato (prod):  dist/legacy_adhubmedia/adhub-legacy_adhubmedia-no-cmp.min.js
Guida integrazione:        dist/legacy_adhubmedia/integration-guide-no-cmp.txt
ads.txt per publisher:     dist/legacy_adhubmedia/ads.txt

⚠️  IMPORTANTE: Il file ads.txt DEVE essere caricato nella root del dominio!
   Esempio: https://tuodominio.it/ads.txt

   Il file ads.txt contiene 735 entry certificate per i network SSP autorizzati.
   Serve a prevenire frodi pubblicitarie e proteggere i ricavi del publisher.


═══════════════════════════════════════════════════════════════════════════
  9. ADS.TXT - AUTORIZZAZIONE SELLER DIGITALI
═══════════════════════════════════════════════════════════════════════════

Il file ads.txt è OBBLIGATORIO per la monetizzazione pubblicitaria.

COSA FARE:
1. Scarica il file: dist/legacy_adhubmedia/ads.txt
2. Carica nella ROOT del tuo dominio: https://tuodominio.it/ads.txt
3. Verifica accessibilità: curl https://tuodominio.it/ads.txt

Il file contiene:
- 735 entry certificate di network SSP autorizzati
- Entry DIRECT per Google Ad Manager (con il tuo Network Code)
- Entry DIRECT per 4W Marketplace, Rich Network, E-volution, etc.
- Entry RESELLER per tutti i partner SSP

VALIDAZIONE:
- Test online: https://adstxtvalidator.com/
- Google validator: https://www.google.com/webmasters/tools/ads-txt-validator

Per maggiori info: /docs/ADS-TXT-MANAGEMENT.md


═══════════════════════════════════════════════════════════════════════════
  10. SUPPORTO E DOCUMENTAZIONE
═══════════════════════════════════════════════════════════════════════════

Per problemi o domande:
- Guida GAM: /GAM-INTEGRATION.md
- Quick start GAM: /README-GAM.md
- Guida ads.txt: /docs/ADS-TXT-MANAGEMENT.md
- Quick start ads.txt: /README-ADS-TXT.md
- Stato sviluppo: /STATO-SVILUPPO.md
- Verifica GAM: ./tools/verify-gam-integration.sh legacy_adhubmedia
- Setup GAM manuale: /SETUP-GAM-MANUALE.md


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

Build by: AdHub Bundle Builder v2.0.0 (NO CMP)
Date:     2025-11-17 12:38:32

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