From 3d040eb668566cc5e1b993f72ee8cb6669577c8d Mon Sep 17 00:00:00 2001 From: goboss Date: Sat, 2 May 2026 22:19:51 +0000 Subject: [PATCH] ADS: document VAST no-fill diagnostic + curl recipe MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit After deeper headless probe (manual _popRr inject to force vast mode), VAST SDK loaded but never showed ad. Direct curl to /api/users/ returns empty — ASG no-fill response. Popunder spot at same time returns full creative config (creative_id 83660 etc). Diagnosis: ASG admin spot config issue (type wrong / pending / no creative / budget / etc), not our code. Includes diagnostic curl recipe so future "VAST never shows" can be distinguished from code bugs in seconds. Co-Authored-By: Claude Opus 4.7 (1M context) --- docs/ADS.md | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/docs/ADS.md b/docs/ADS.md index cfc9d80..cb71b13 100644 --- a/docs/ADS.md +++ b/docs/ADS.md @@ -192,6 +192,37 @@ tb.load_frame_baner_v2("//surstrom.com/api/spots/72437?p=1","#tb0",{...},{...}); **Як перевірити:** після popunder fire відкрий DevTools → `localStorage.getItem('asgsl')` → шукай `global_rr:` або `n:`. Якщо нема → не налаштовано. +### ⚠️ ASG no-fill diagnostic — VAST returns empty `` + +**Bug 2026-05-02 (8148, VAST never visible):** Mode перемикався у "vast", VAST SDK loaded, але реклама не з'являлась візуально. + +Перевірка endpoint напряму: +```bash +curl 'https://a5.g--o.info/api/users/?v2=1&fill=0&url=' +``` + +Якщо response: +```xml + + + +``` +— це **VAST no-fill**. ASG не має inventory для цього spot. + +**Порівняй з popunder endpoint** який повертає повний JSON-like config з `creative_id`, `behavior`, тощо: +```js +window.__NA.renderSpot({ spot_id: ..., creative_id: 83660, config: {...} }); +``` + +**Можливі причини no-fill (по пріоритету):** +1. Spot **type ≠ "In-video VAST"** — створено як Banner/Popunder/etc → VAST endpoint не має чого serve +2. Spot **Status pending review** — створено, чекає approval +3. **Creative не attached** — VAST потребує специфічний ад чи bidder pool +4. **Bidder / network не linked** — VAST джерело мережі (ExoClick VAST / TS / etc) не призначено +5. Budget / cap exhausted + +**Як остаточно verify:** через playwright headless + manual inject `_popRr` форсити VAST mode → click play → дивитися чи з'являється `.asg-container`. Якщо ні + curl показує empty VAST → no-fill. + ### Mode decision (`AdCore._decide`) ```