@adstage/web-sdk 2.5.2 → 2.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/README.md +59 -0
  2. package/dist/index.cjs.js +2073 -1050
  3. package/dist/index.d.ts +55 -12
  4. package/dist/index.esm.js +2073 -1050
  5. package/dist/index.standalone.js +2073 -1050
  6. package/package.json +1 -1
  7. package/src/constants/endpoints.ts +0 -1
  8. package/src/core/{AdStage.ts → adstage.ts} +36 -8
  9. package/src/index.ts +9 -3
  10. package/src/managers/ads/advertisement-event-tracker.ts +15 -11
  11. package/src/managers/ads/carousel-slider-manager.ts +91 -19
  12. package/src/managers/ads/slider-event-tracker.ts +57 -0
  13. package/src/managers/ads/text-transition-manager.ts +91 -26
  14. package/src/modules/ads/ad-renderer.ts +259 -0
  15. package/src/modules/ads/{AdsModule.ts → ads-module.ts} +202 -21
  16. package/src/modules/ads/interfaces/i-ad-renderer.ts +77 -0
  17. package/src/modules/ads/renderers/banner-ad-renderer.ts +414 -0
  18. package/src/modules/ads/renderers/base-ad-renderer.ts +340 -0
  19. package/src/modules/ads/renderers/interstitial-ad-renderer.ts +256 -0
  20. package/src/modules/ads/renderers/native-ad-renderer.ts +154 -0
  21. package/src/modules/ads/renderers/text-ad-renderer.ts +120 -0
  22. package/src/modules/ads/renderers/video-ad-renderer.ts +433 -0
  23. package/src/modules/config/{ConfigModule.ts → config-module.ts} +1 -5
  24. package/src/react/{AdStageProvider.tsx → ad-stage-provider.tsx} +1 -1
  25. package/src/react/index.ts +2 -2
  26. package/src/types/config.ts +2 -184
  27. package/src/utils/ad-click-handler.ts +155 -0
  28. package/src/utils/text-ad-utils.ts +37 -0
  29. package/src/dummy/ads_dummy.json +0 -84
  30. package/src/modules/ads/AdRenderer.ts +0 -735
  31. package/src/renderers/banner-renderer.ts +0 -35
  32. package/src/renderers/base-renderer.ts +0 -209
  33. package/src/renderers/index.ts +0 -71
  34. package/src/renderers/interstitial-renderer.ts +0 -70
  35. package/src/renderers/native-renderer.ts +0 -35
  36. package/src/renderers/text-renderer.ts +0 -94
  37. package/src/renderers/video-renderer.ts +0 -63
  38. /package/src/modules/events/{EventsModule.ts → events-module.ts} +0 -0
package/dist/index.d.ts CHANGED
@@ -19,14 +19,8 @@ interface AdStageConfig {
19
19
  modules?: ModuleName[];
20
20
  /** 요청 타임아웃 (ms) */
21
21
  timeout?: number;
22
- /** 초기화시 API 검증 여부 (기본값: false) */
23
- validateOnInit?: boolean;
24
- /** 네트워크 오류시 fallback 모드 사용 (기본값: true) */
25
- fallbackMode?: boolean;
26
- /** 오프라인 모드 (기본값: false) */
27
- offlineMode?: boolean;
28
- /** 프로덕션 모드 (엄격한 검증, 기본값: false) */
29
- productionMode?: boolean;
22
+ /** 플레이스홀더 스타일 모드 (기본값: 'subtle') */
23
+ placeholderMode?: 'invisible' | 'transparent' | 'subtle' | 'minimal' | 'debug' | 'legacy';
30
24
  }
31
25
  /**
32
26
  * 모듈 기본 인터페이스
@@ -219,6 +213,19 @@ interface AdOptions {
219
213
  style?: string;
220
214
  autoplay?: boolean;
221
215
  muted?: boolean;
216
+ loop?: boolean;
217
+ playsinline?: boolean;
218
+ controls?: boolean;
219
+ hideControls?: boolean;
220
+ customControls?: {
221
+ hidePlayButton?: boolean;
222
+ hideProgressBar?: boolean;
223
+ hideCurrentTime?: boolean;
224
+ hideRemainingTime?: boolean;
225
+ hideVolumeSlider?: boolean;
226
+ hideMuteButton?: boolean;
227
+ hideFullscreenButton?: boolean;
228
+ };
222
229
  onClick?: (adData: any) => void;
223
230
  adId?: string;
224
231
  language?: 'ko' | 'en' | 'ja' | 'zh';
@@ -231,6 +238,7 @@ declare class AdsModule implements BaseModule {
231
238
  private slots;
232
239
  private advertisementEventTracker;
233
240
  private adRenderer;
241
+ private mutationObserver;
234
242
  /**
235
243
  * Ads 모듈 초기화 (동기)
236
244
  */
@@ -246,15 +254,15 @@ declare class AdsModule implements BaseModule {
246
254
  /**
247
255
  * 배너 광고 생성 (동기)
248
256
  */
249
- banner(containerId: string, options?: AdOptions): string;
257
+ banner(containerId: string | HTMLElement, options?: AdOptions): string;
250
258
  /**
251
259
  * 텍스트 광고 생성 (동기)
252
260
  */
253
- text(containerId: string, options?: AdOptions): string;
261
+ text(containerId: string | HTMLElement, options?: AdOptions): string;
254
262
  /**
255
- * 비디오 광고 생성 (동기)
263
+ * 비디오 광고 생성 (동기) - 단일 비디오만 지원
256
264
  */
257
- video(containerId: string, options?: AdOptions): string;
265
+ video(containerId: string | HTMLElement, options?: AdOptions): string;
258
266
  /**
259
267
  * 네이티브 광고 생성 (동기)
260
268
  */
@@ -283,6 +291,8 @@ declare class AdsModule implements BaseModule {
283
291
  * 광고 생성 내부 메소드 (동기 + Lazy 로딩)
284
292
  */
285
293
  private createAd;
294
+ private createAdWithRetry;
295
+ private createAdInternal;
286
296
  /**
287
297
  * 백그라운드에서 광고 콘텐츠 로드
288
298
  */
@@ -310,6 +320,22 @@ declare class AdsModule implements BaseModule {
310
320
  * 모듈 준비 상태 확인
311
321
  */
312
322
  private ensureReady;
323
+ /**
324
+ * DOM 변화 감지를 통한 자동 정리 설정
325
+ */
326
+ private setupAutoCleanup;
327
+ /**
328
+ * 제거된 요소에서 광고 슬롯 정리
329
+ */
330
+ private handleRemovedElement;
331
+ /**
332
+ * 자동 정리 (로그 없이 조용히 정리)
333
+ */
334
+ private autoDestroy;
335
+ /**
336
+ * 모듈 종료 시 정리
337
+ */
338
+ destroyModule(): void;
313
339
  }
314
340
 
315
341
  /**
@@ -461,6 +487,23 @@ declare class AdStage {
461
487
  * SDK 리셋 (테스트용)
462
488
  */
463
489
  static reset(): void;
490
+ /**
491
+ * 디버그용 메서드들
492
+ */
493
+ static debug: {
494
+ /**
495
+ * 모든 viewable 추적 데이터 초기화
496
+ */
497
+ clearAllViewable: () => void;
498
+ /**
499
+ * 특정 광고의 viewable 추적 초기화
500
+ */
501
+ clearAdViewable: (adId: string, slotId: string) => void;
502
+ /**
503
+ * 현재 추적 중인 viewable 상태 확인
504
+ */
505
+ getViewableStatus: () => void;
506
+ };
464
507
  }
465
508
 
466
509
  interface AdStageContextType {