ADS: document VAST no-fill diagnostic + curl recipe

After deeper headless probe (manual _popRr inject to force vast mode),
VAST SDK loaded but never showed ad. Direct curl to
/api/users/<vast_spot> returns empty <VAST version="3.0"></VAST> — 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) <noreply@anthropic.com>
This commit is contained in:
goboss
2026-05-02 22:19:51 +00:00
parent a2f51bac2a
commit 3d040eb668

View File

@@ -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:`. Якщо нема → не налаштовано. **Як перевірити:** після popunder fire відкрий DevTools → `localStorage.getItem('asgsl')` → шукай `global_rr:` або `n:`. Якщо нема → не налаштовано.
### ⚠️ ASG no-fill diagnostic — VAST returns empty `<VAST/>`
**Bug 2026-05-02 (8148, VAST never visible):** Mode перемикався у "vast", VAST SDK loaded, але реклама не з'являлась візуально.
Перевірка endpoint напряму:
```bash
curl 'https://a5.g--o.info/api/users/<vast_spot>?v2=1&fill=0&url=<page-url>'
```
Якщо response:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<VAST version="3.0">
</VAST>
```
— це **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`) ### Mode decision (`AdCore._decide`)
``` ```