@adstage/web-sdk 2.5.3 → 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.
- package/README.md +59 -0
- package/dist/index.cjs.js +2073 -1045
- package/dist/index.d.ts +55 -12
- package/dist/index.esm.js +2073 -1045
- package/dist/index.standalone.js +2073 -1045
- package/package.json +1 -1
- package/src/constants/endpoints.ts +0 -1
- package/src/core/{AdStage.ts → adstage.ts} +36 -8
- package/src/index.ts +9 -3
- package/src/managers/ads/advertisement-event-tracker.ts +15 -11
- package/src/managers/ads/carousel-slider-manager.ts +90 -12
- package/src/managers/ads/slider-event-tracker.ts +57 -0
- package/src/managers/ads/text-transition-manager.ts +91 -26
- package/src/modules/ads/ad-renderer.ts +259 -0
- package/src/modules/ads/{AdsModule.ts → ads-module.ts} +202 -21
- package/src/modules/ads/interfaces/i-ad-renderer.ts +77 -0
- package/src/modules/ads/renderers/banner-ad-renderer.ts +414 -0
- package/src/modules/ads/renderers/base-ad-renderer.ts +340 -0
- package/src/modules/ads/renderers/interstitial-ad-renderer.ts +256 -0
- package/src/modules/ads/renderers/native-ad-renderer.ts +154 -0
- package/src/modules/ads/renderers/text-ad-renderer.ts +120 -0
- package/src/modules/ads/renderers/video-ad-renderer.ts +433 -0
- package/src/modules/config/{ConfigModule.ts → config-module.ts} +1 -5
- package/src/react/{AdStageProvider.tsx → ad-stage-provider.tsx} +1 -1
- package/src/react/index.ts +2 -2
- package/src/types/config.ts +2 -184
- package/src/utils/ad-click-handler.ts +155 -0
- package/src/utils/text-ad-utils.ts +37 -0
- package/src/dummy/ads_dummy.json +0 -84
- package/src/modules/ads/AdRenderer.ts +0 -735
- package/src/renderers/banner-renderer.ts +0 -35
- package/src/renderers/base-renderer.ts +0 -209
- package/src/renderers/index.ts +0 -71
- package/src/renderers/interstitial-renderer.ts +0 -70
- package/src/renderers/native-renderer.ts +0 -35
- package/src/renderers/text-renderer.ts +0 -94
- package/src/renderers/video-renderer.ts +0 -63
- /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
|
-
/**
|
|
23
|
-
|
|
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 {
|