UNPKG

@adstage/web-sdk

Version:

AdStage Web SDK - Production-ready marketing platform SDK with React Provider support for seamless integration

48 lines (40 loc) 1.33 kB
/** * 단순한 VIEWABLE 이벤트 중복 방지 관리 클래스 * - 세션당 동일 광고 1회만 VIEWABLE 이벤트 허용 * - 메모리 기반 추적으로 단순화 */ export class ViewableEventTracker { private static viewableTracker = new Set<string>(); /** * 중복 viewable 이벤트 여부 확인 */ static isDuplicateViewable(adId: string, slotId: string, debug = false): boolean { const key = `${adId}_${slotId}`; // 이미 VIEWABLE 이벤트가 발생한 광고인지 확인 if (ViewableEventTracker.viewableTracker.has(key)) { if (debug) { console.log(`Duplicate viewable blocked for ad ${adId} in slot ${slotId}`); } return true; } // 새로운 VIEWABLE 이벤트 기록 ViewableEventTracker.viewableTracker.add(key); if (debug) { console.log(`✅ New viewable recorded for ad ${adId} in slot ${slotId}`); } return false; } /** * 모든 추적 데이터 정리 (디버그용) */ static clear(): void { ViewableEventTracker.viewableTracker.clear(); } /** * 특정 광고의 viewable 추적 초기화 (디버그용) */ static clearAdViewable(adId: string, slotId: string): void { const key = `${adId}_${slotId}`; ViewableEventTracker.viewableTracker.delete(key); } }