@smoud/playable-sdk 1.0.19 → 1.0.20

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 CHANGED
@@ -39,6 +39,8 @@ It's powerful, unified SDK that seamlessly integrates multiple ad network SDKs,
39
39
  - Chartboost
40
40
  - AdColony
41
41
  - MyTarget
42
+ - Smadex
43
+ - Adikteev
42
44
 
43
45
  ### Protocol Support
44
46
 
@@ -162,6 +164,8 @@ Supported **Ad Networks**:
162
164
  - `pangle`
163
165
  - `mytarget`
164
166
  - `liftoff`
167
+ - `smadex`
168
+ - `adikteev`
165
169
 
166
170
  See more details in [`GitHub repository.`](https://github.com/smoudjs/playable-scripts?tab=readme-ov-file#installation)
167
171
 
@@ -382,11 +386,13 @@ Get started quickly with our template projects:
382
386
  - [IronSource - DAPI requirements](https://developers.is.com/ironsource-mobile/general/dapi-requirements/#step-1)
383
387
  - [Unity Ads Documentation](https://docs.unity.com/acquire/en-us/manual/playable-ads-specifications)
384
388
  - [Chartboost Integration](https://docs.chartboost.com/en/advertising/creatives/creative-assets/)
389
+ - [Adikteev specifications for external creatives](https://help.adikteev.com/hc/en-us/articles/10549028250130-Specifications-for-external-creatives)
385
390
 
386
391
  #### Proprietary Networks
387
392
 
388
393
  - [Google HTML5 / Playable Ads](https://support.google.com/google-ads/answer/9981650?hl=en)
389
394
  - [Meta (Facebook) Playable Ads](https://www.facebook.com/business/help/412951382532338)
395
+ - [Moloco Requirements](https://help.moloco.com/hc/en-us/articles/24124525963799-Playable-and-Interactive-End-Card-IEC-creative-guide)
390
396
  - [Mintegral Integration](https://www.playturbo.com/review/doc)
391
397
 
392
398
  ### Testing Tools
package/defines.d.ts CHANGED
@@ -41,6 +41,7 @@ declare const NUC: {
41
41
  };
42
42
 
43
43
  declare const FbPlayableAd: { onCTAClick: () => void };
44
+ declare const smxTracking: { redirect: () => void };
44
45
  declare const ExitApi: { exit: () => void };
45
46
 
46
47
  declare const AD_NETWORK:
@@ -61,7 +62,10 @@ declare const AD_NETWORK:
61
62
  | 'chartboost'
62
63
  | 'pangle'
63
64
  | 'mytarget'
64
- | 'liftoff';
65
+ | 'liftoff'
66
+ | 'smadex'
67
+ | 'adikteev';
68
+
65
69
  declare const AD_PROTOCOL: 'mraid' | 'dapi' | 'nucleo' | 'none';
66
70
  declare const GOOGLE_PLAY_URL: string;
67
71
  declare const APP_STORE_URL: string;
package/dist/esm/index.js CHANGED
@@ -51,6 +51,7 @@ var GOOGLE = uid++;
51
51
  var MINTEGRAL = uid++;
52
52
  var TAPJOY = uid++;
53
53
  var TIKTOK = uid++;
54
+ var SMADEX = uid++;
54
55
  var actualProtocol = NONE;
55
56
  function isMraid() {
56
57
  return actualProtocol === MRAID;
@@ -64,6 +65,9 @@ function isNucleo() {
64
65
  function isFacebook() {
65
66
  return actualProtocol === FACEBOOK;
66
67
  }
68
+ function isSmadex() {
69
+ return actualProtocol === SMADEX;
70
+ }
67
71
  function isGoogle() {
68
72
  return actualProtocol === GOOGLE;
69
73
  }
@@ -105,6 +109,11 @@ function ensureProtocol() {
105
109
  if (window.TJ_API) actualProtocol = TAPJOY;
106
110
  } else if ("tiktok" === AD_NETWORK) {
107
111
  if (window.openAppStore) actualProtocol = TIKTOK;
112
+ } else if ("smadex" === AD_NETWORK) {
113
+ try {
114
+ if (smxTracking) actualProtocol = SMADEX;
115
+ } catch (error) {
116
+ }
108
117
  }
109
118
  }
110
119
 
@@ -466,6 +475,8 @@ var _sdk = class _sdk {
466
475
  NUC.trigger.convert(destinationUrl);
467
476
  } else if ("facebook" == AD_NETWORK && isFacebook()) {
468
477
  FbPlayableAd.onCTAClick();
478
+ } else if ("smadex" == AD_NETWORK && isSmadex()) {
479
+ smxTracking.redirect();
469
480
  } else if ("vungle" == AD_NETWORK) {
470
481
  parent.postMessage("download", "*");
471
482
  } else if ("google" == AD_NETWORK && isGoogle()) {
@@ -580,7 +591,7 @@ var _sdk = class _sdk {
580
591
  }
581
592
  };
582
593
  /** Current version of the SDK */
583
- _sdk.version = "1.0.19";
594
+ _sdk.version = "1.0.20";
584
595
  /** Current maximum width of the playable ad container in pixels */
585
596
  _sdk.maxWidth = Math.floor(window.innerWidth);
586
597
  /** Current maximum height of the playable ad container in pixels */
@@ -53,6 +53,7 @@
53
53
  var MINTEGRAL = uid++;
54
54
  var TAPJOY = uid++;
55
55
  var TIKTOK = uid++;
56
+ var SMADEX = uid++;
56
57
  var actualProtocol = NONE;
57
58
  function isMraid() {
58
59
  return actualProtocol === MRAID;
@@ -66,6 +67,9 @@
66
67
  function isFacebook() {
67
68
  return actualProtocol === FACEBOOK;
68
69
  }
70
+ function isSmadex() {
71
+ return actualProtocol === SMADEX;
72
+ }
69
73
  function isGoogle() {
70
74
  return actualProtocol === GOOGLE;
71
75
  }
@@ -107,6 +111,11 @@
107
111
  if (window.TJ_API) actualProtocol = TAPJOY;
108
112
  } else if ("tiktok" === AD_NETWORK) {
109
113
  if (window.openAppStore) actualProtocol = TIKTOK;
114
+ } else if ("smadex" === AD_NETWORK) {
115
+ try {
116
+ if (smxTracking) actualProtocol = SMADEX;
117
+ } catch (error) {
118
+ }
110
119
  }
111
120
  }
112
121
 
@@ -468,6 +477,8 @@
468
477
  NUC.trigger.convert(destinationUrl);
469
478
  } else if ("facebook" == AD_NETWORK && isFacebook()) {
470
479
  FbPlayableAd.onCTAClick();
480
+ } else if ("smadex" == AD_NETWORK && isSmadex()) {
481
+ smxTracking.redirect();
471
482
  } else if ("vungle" == AD_NETWORK) {
472
483
  parent.postMessage("download", "*");
473
484
  } else if ("google" == AD_NETWORK && isGoogle()) {
@@ -582,7 +593,7 @@
582
593
  }
583
594
  };
584
595
  /** Current version of the SDK */
585
- _sdk.version = "1.0.19";
596
+ _sdk.version = "1.0.20";
586
597
  /** Current maximum width of the playable ad container in pixels */
587
598
  _sdk.maxWidth = Math.floor(window.innerWidth);
588
599
  /** Current maximum height of the playable ad container in pixels */
package/dist/index.js CHANGED
@@ -78,6 +78,7 @@ var GOOGLE = uid++;
78
78
  var MINTEGRAL = uid++;
79
79
  var TAPJOY = uid++;
80
80
  var TIKTOK = uid++;
81
+ var SMADEX = uid++;
81
82
  var actualProtocol = NONE;
82
83
  function isMraid() {
83
84
  return actualProtocol === MRAID;
@@ -91,6 +92,9 @@ function isNucleo() {
91
92
  function isFacebook() {
92
93
  return actualProtocol === FACEBOOK;
93
94
  }
95
+ function isSmadex() {
96
+ return actualProtocol === SMADEX;
97
+ }
94
98
  function isGoogle() {
95
99
  return actualProtocol === GOOGLE;
96
100
  }
@@ -132,6 +136,11 @@ function ensureProtocol() {
132
136
  if (window.TJ_API) actualProtocol = TAPJOY;
133
137
  } else if ("tiktok" === AD_NETWORK) {
134
138
  if (window.openAppStore) actualProtocol = TIKTOK;
139
+ } else if ("smadex" === AD_NETWORK) {
140
+ try {
141
+ if (smxTracking) actualProtocol = SMADEX;
142
+ } catch (error) {
143
+ }
135
144
  }
136
145
  }
137
146
 
@@ -493,6 +502,8 @@ var _sdk = class _sdk {
493
502
  NUC.trigger.convert(destinationUrl);
494
503
  } else if ("facebook" == AD_NETWORK && isFacebook()) {
495
504
  FbPlayableAd.onCTAClick();
505
+ } else if ("smadex" == AD_NETWORK && isSmadex()) {
506
+ smxTracking.redirect();
496
507
  } else if ("vungle" == AD_NETWORK) {
497
508
  parent.postMessage("download", "*");
498
509
  } else if ("google" == AD_NETWORK && isGoogle()) {
@@ -607,7 +618,7 @@ var _sdk = class _sdk {
607
618
  }
608
619
  };
609
620
  /** Current version of the SDK */
610
- _sdk.version = "1.0.19";
621
+ _sdk.version = "1.0.20";
611
622
  /** Current maximum width of the playable ad container in pixels */
612
623
  _sdk.maxWidth = Math.floor(window.innerWidth);
613
624
  /** Current maximum height of the playable ad container in pixels */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smoud/playable-sdk",
3
- "version": "1.0.19",
3
+ "version": "1.0.20",
4
4
  "description": "It's unified Playable SDK that supports MRAID, Google, Facebook, Vungle, and many more Ad Networks, simplifying playable ad development with a standardized interface for seamless cross-network compatibility.",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/esm/index.js",