@playcraft/adsdk 1.0.2-2.beta.1
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/LICENSE +21 -0
- package/defines.d.ts +130 -0
- package/dist/esm/index.js +1635 -0
- package/dist/iife/index.js +1864 -0
- package/dist/index.d.mts +385 -0
- package/dist/index.d.ts +385 -0
- package/dist/index.js +1665 -0
- package/package.json +56 -0
|
@@ -0,0 +1,1635 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __defProps = Object.defineProperties;
|
|
3
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
4
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
7
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
|
+
var __spreadValues = (a, b) => {
|
|
9
|
+
for (var prop in b || (b = {}))
|
|
10
|
+
if (__hasOwnProp.call(b, prop))
|
|
11
|
+
__defNormalProp(a, prop, b[prop]);
|
|
12
|
+
if (__getOwnPropSymbols)
|
|
13
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
14
|
+
if (__propIsEnum.call(b, prop))
|
|
15
|
+
__defNormalProp(a, prop, b[prop]);
|
|
16
|
+
}
|
|
17
|
+
return a;
|
|
18
|
+
};
|
|
19
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
20
|
+
|
|
21
|
+
// src/events.ts
|
|
22
|
+
var registeredEvents = {};
|
|
23
|
+
function onEvent(event, fn, context, once) {
|
|
24
|
+
let listeners = registeredEvents[event];
|
|
25
|
+
if (!listeners) {
|
|
26
|
+
listeners = registeredEvents[event] = [];
|
|
27
|
+
}
|
|
28
|
+
listeners.push(fn, context || null, once || false);
|
|
29
|
+
}
|
|
30
|
+
function offEvent(event, fn, context) {
|
|
31
|
+
const listeners = registeredEvents[event];
|
|
32
|
+
if (!listeners) return;
|
|
33
|
+
if (!fn) {
|
|
34
|
+
delete registeredEvents[event];
|
|
35
|
+
} else {
|
|
36
|
+
const events = [];
|
|
37
|
+
for (let i = 0; i < listeners.length; i += 3) {
|
|
38
|
+
if (listeners[i] !== fn || context !== void 0 && listeners[i + 1] !== context) {
|
|
39
|
+
events.push(listeners[i], listeners[i + 1], listeners[i + 2]);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
if (events.length === 0) delete registeredEvents[event];
|
|
43
|
+
else registeredEvents[event] = events;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
function emitEvent(event, a1, a2, a3) {
|
|
47
|
+
const listeners = registeredEvents[event];
|
|
48
|
+
if (!listeners || listeners.length === 0) return;
|
|
49
|
+
const len = arguments.length;
|
|
50
|
+
const listenersLen = listeners.length;
|
|
51
|
+
let fn, ctx;
|
|
52
|
+
for (let i = 0; i < listenersLen; i += 3) {
|
|
53
|
+
fn = listeners[i];
|
|
54
|
+
ctx = listeners[i + 1];
|
|
55
|
+
if (listeners[i + 2]) offEvent(event, fn, ctx);
|
|
56
|
+
if (len <= 1) fn.call(ctx);
|
|
57
|
+
else if (len == 2) fn.call(ctx, a1);
|
|
58
|
+
else if (len == 3) fn.call(ctx, a1, a2);
|
|
59
|
+
else fn.call(ctx, a1, a2, a3);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
// src/protocols.ts
|
|
64
|
+
var uid = 0;
|
|
65
|
+
var NONE = uid++;
|
|
66
|
+
var MRAID = uid++;
|
|
67
|
+
var DAPI = uid++;
|
|
68
|
+
var NUCLEO = uid++;
|
|
69
|
+
var FACEBOOK = uid++;
|
|
70
|
+
var GOOGLE = uid++;
|
|
71
|
+
var MINTEGRAL = uid++;
|
|
72
|
+
var TAPJOY = uid++;
|
|
73
|
+
var TIKTOK = uid++;
|
|
74
|
+
var SMADEX = uid++;
|
|
75
|
+
var SNAPCHAT = uid++;
|
|
76
|
+
var BIGOADS = uid++;
|
|
77
|
+
var ADIKTEEV = uid++;
|
|
78
|
+
var actualProtocol = NONE;
|
|
79
|
+
function isMraid() {
|
|
80
|
+
console.log("actualProtocol", actualProtocol);
|
|
81
|
+
return actualProtocol === MRAID;
|
|
82
|
+
}
|
|
83
|
+
function isDapi() {
|
|
84
|
+
return actualProtocol === DAPI;
|
|
85
|
+
}
|
|
86
|
+
function isNucleo() {
|
|
87
|
+
return actualProtocol === NUCLEO;
|
|
88
|
+
}
|
|
89
|
+
function isFacebook() {
|
|
90
|
+
return actualProtocol === FACEBOOK;
|
|
91
|
+
}
|
|
92
|
+
function isSmadex() {
|
|
93
|
+
return actualProtocol === SMADEX;
|
|
94
|
+
}
|
|
95
|
+
function isGoogle() {
|
|
96
|
+
return actualProtocol === GOOGLE;
|
|
97
|
+
}
|
|
98
|
+
function isMintegral() {
|
|
99
|
+
return actualProtocol === MINTEGRAL;
|
|
100
|
+
}
|
|
101
|
+
function isTapjoy() {
|
|
102
|
+
return actualProtocol === TAPJOY;
|
|
103
|
+
}
|
|
104
|
+
function isTikTok() {
|
|
105
|
+
return actualProtocol === TIKTOK;
|
|
106
|
+
}
|
|
107
|
+
function isSnapchat() {
|
|
108
|
+
return actualProtocol === SNAPCHAT;
|
|
109
|
+
}
|
|
110
|
+
function isBigoAds() {
|
|
111
|
+
return actualProtocol === BIGOADS;
|
|
112
|
+
}
|
|
113
|
+
function isAdikteev() {
|
|
114
|
+
return actualProtocol === ADIKTEEV;
|
|
115
|
+
}
|
|
116
|
+
function isCanAutoInstall() {
|
|
117
|
+
return !["applovin", "ironsource", "unity", "mintegral"].includes(AD_NETWORK);
|
|
118
|
+
}
|
|
119
|
+
function isDisableFirstClickToOpenApp() {
|
|
120
|
+
return ["applovin", "unity"].includes(AD_NETWORK);
|
|
121
|
+
}
|
|
122
|
+
function isWechat() {
|
|
123
|
+
const ua = navigator.userAgent.toLowerCase();
|
|
124
|
+
const isWechat2 = /micromessenger/.test(ua);
|
|
125
|
+
const isIOS = /iphone|ipad|ipod/.test(ua);
|
|
126
|
+
return isWechat2 && isIOS;
|
|
127
|
+
}
|
|
128
|
+
function ensureProtocol() {
|
|
129
|
+
if ("mraid" === AD_PROTOCOL) {
|
|
130
|
+
try {
|
|
131
|
+
mraid.getState();
|
|
132
|
+
actualProtocol = MRAID;
|
|
133
|
+
} catch (error) {
|
|
134
|
+
}
|
|
135
|
+
} else if ("dapi" === AD_PROTOCOL) {
|
|
136
|
+
try {
|
|
137
|
+
dapi.isReady();
|
|
138
|
+
actualProtocol = DAPI;
|
|
139
|
+
} catch (error) {
|
|
140
|
+
}
|
|
141
|
+
} else if ("bigoads" === AD_NETWORK) {
|
|
142
|
+
if (window.BGY_MRAID) actualProtocol = BIGOADS;
|
|
143
|
+
} else if ("facebook" === AD_NETWORK) {
|
|
144
|
+
try {
|
|
145
|
+
if (FbPlayableAd) actualProtocol = FACEBOOK;
|
|
146
|
+
} catch (error) {
|
|
147
|
+
}
|
|
148
|
+
} else if ("google" === AD_NETWORK) {
|
|
149
|
+
try {
|
|
150
|
+
if (ExitApi) actualProtocol = GOOGLE;
|
|
151
|
+
} catch (error) {
|
|
152
|
+
}
|
|
153
|
+
} else if ("mintegral" === AD_NETWORK) {
|
|
154
|
+
if (window.gameReady) actualProtocol = MINTEGRAL;
|
|
155
|
+
} else if ("tapjoy" === AD_NETWORK) {
|
|
156
|
+
if (window.TJ_API) actualProtocol = TAPJOY;
|
|
157
|
+
} else if ("tiktok" === AD_NETWORK) {
|
|
158
|
+
if (window.openAppStore) actualProtocol = TIKTOK;
|
|
159
|
+
} else if ("smadex" === AD_NETWORK) {
|
|
160
|
+
try {
|
|
161
|
+
if (smxTracking) actualProtocol = SMADEX;
|
|
162
|
+
} catch (error) {
|
|
163
|
+
}
|
|
164
|
+
} else if ("snapchat" === AD_NETWORK) {
|
|
165
|
+
try {
|
|
166
|
+
if (ScPlayableAd) actualProtocol = SNAPCHAT;
|
|
167
|
+
} catch (error) {
|
|
168
|
+
console.warn("[Snapchat] ScPlayableAd not available");
|
|
169
|
+
}
|
|
170
|
+
} else if ("adikteev" === AD_NETWORK) {
|
|
171
|
+
try {
|
|
172
|
+
mraid.getState();
|
|
173
|
+
actualProtocol = ADIKTEEV;
|
|
174
|
+
} catch (error) {
|
|
175
|
+
console.warn("[Adikteev] MRAID not available");
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
// src/tracking-init.ts
|
|
181
|
+
import { tracking } from "@playcraft/ads-tracking";
|
|
182
|
+
function initTrackingProtocols() {
|
|
183
|
+
const supportedNetworks = ["bigabid", "inmobi", "applovin"];
|
|
184
|
+
if (!supportedNetworks.includes(AD_NETWORK)) {
|
|
185
|
+
return;
|
|
186
|
+
}
|
|
187
|
+
sdk.once("playcraftInit", tracking.onPlaycraftTrackingInit);
|
|
188
|
+
sdk.once("playcraftStart", tracking.onPlaycraftTrackingLoading);
|
|
189
|
+
sdk.once("playcraftInteractive", tracking.onPlaycraftTrackingLoaded);
|
|
190
|
+
sdk.on("playcraftChallengeStart", tracking.onPlaycraftChallengeStart);
|
|
191
|
+
sdk.on("playcraftChallengeProgress", tracking.onPlaycraftChallengeProgress);
|
|
192
|
+
sdk.once("playcraftFinish", tracking.onPlaycraftChallengeFinish);
|
|
193
|
+
sdk.on("playcraftInstall", tracking.onPlaycraftInstall);
|
|
194
|
+
sdk.once("playcraftRetry", tracking.onPlaycraftRetry);
|
|
195
|
+
sdk.on("playcraftChallengeSuccess", tracking.onPlaycraftChallengeSuccess);
|
|
196
|
+
sdk.on("playcraftChallengeFailed", tracking.onPlaycraftChallengeFailed);
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
// src/assets/images.ts
|
|
200
|
+
var APPSTORE_PRO = "data:image/webp;base64,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";
|
|
201
|
+
var ARROW_PRO = "data:image/webp;base64,UklGRkhwAABXRUJQVlA4WAoAAAAQAAAA5wMASwMAQUxQSAo/AAAB/yckSPD/eGtEpO5hjdq2ZVOq675fhilAulMxsLExsLeK3Y2dYOfedm67c9sJdoFiF9vEwABpFINuZub73ve5rx8gzHzf+4XP8yei/xMAL1IUAGSFGkWqURTp8rI8wnHF8oJGFxH9e/lbiIgEV4oW/7rhwfvvPO+ss88+65xTjh68607bbL3t5mus2XfNdq1Wa12FRhUAENUoUlWV5QMorPVKPUka/7a+vqG+YenceX/9OfmDkW+NuOuWm6499YRjdtp++5037NqpXbvKytpKAGiGVRYR0eVFdHlZYTiku3xFmhmXTzJJfcKscdWTJbPnzpn/65hvPn7/peEP3H3NtTdccOLRhxyyzx79+/ffpHfHjp3bNovQyKIa6QplJUMcweF/MDGSNCPNLDFLnK3YuYxzLnHO2IhJXbahfvacX7757rtvRj359P/uuuTSc04/7cADDjzgoL03XK9f7z6927RrVxE1R6OLCiCqKqIqKwxZBG1HM+bfGl19whXHNItp/FtboXPOzDmamSMTrrQzsn7x0rq6umX1MydNmTJ12qSPXhr+0MO3DBl6wrE777DjDjsNWGudfn179erTpmUrQASNKaJ/KysZiihOMNrfOZfN8u8tpjG2v2lcW6FbMclMlo1qXLZoyqTJkyZPmjBh0uiRb48c+dJzD1x22RVDTt5/73132Gbbbfqt1bN3u+ra2pbN0KgiAtFIVWX5YAO4jwlX1pi/Zkba37oVmzlHGv/W+LfGOJt1NvuvmVMmTpz8xZvvvvvGS6+89Mp9l1992eWnH3LQoC22Xrdjp1bNmldWVkVoZFleV16WDxcEbR6gW6mUNjPnzJxzZs45ZzSuonFlM8v+/Ouv2d/8/71Rz957+x133XjJpVcM2WeP3TZdf8Me7du3q4iaRZE2EzS2aKTLy4qDgtqXmaRfo9pKOxe75c0sU5dweSPNSEcjyfql9YumT/tm9OhhD99/62233XHhSSefeOIJJw0etOeee+45aN/+a/Ts2q1rq5atIzSuACKiKysr9uugOJdWkJrSzCzOJC6bzThHyzKuz3Bl4yRx8YKFK1y8eMnixYvnTx03YcKE8e+MeOreO049evCuA7fZett1+qyxet/VKgUQNL5otLyuUFboswn6fMuk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";
|
|
202
|
+
var FINGER_HOVERING = "data:image/webp;base64,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";
|
|
203
|
+
var FINGER_PRESSING = "data:image/webp;base64,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";
|
|
204
|
+
|
|
205
|
+
// src/wechat-guide.ts
|
|
206
|
+
var guideOverlay = null;
|
|
207
|
+
function showWechatGuide() {
|
|
208
|
+
if (guideOverlay) {
|
|
209
|
+
guideOverlay.style.display = "flex";
|
|
210
|
+
return;
|
|
211
|
+
}
|
|
212
|
+
guideOverlay = document.createElement("div");
|
|
213
|
+
guideOverlay.id = "wechat-guide-overlay";
|
|
214
|
+
Object.assign(guideOverlay.style, {
|
|
215
|
+
position: "fixed",
|
|
216
|
+
top: "0",
|
|
217
|
+
left: "0",
|
|
218
|
+
width: "100%",
|
|
219
|
+
height: "100%",
|
|
220
|
+
backgroundColor: "rgba(0, 0, 0, 0.8)",
|
|
221
|
+
zIndex: "999999",
|
|
222
|
+
display: "flex",
|
|
223
|
+
flexDirection: "column",
|
|
224
|
+
justifyContent: "center",
|
|
225
|
+
alignItems: "center",
|
|
226
|
+
boxSizing: "border-box",
|
|
227
|
+
fontFamily: '-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "PingFang SC", "Microsoft YaHei", sans-serif'
|
|
228
|
+
});
|
|
229
|
+
guideOverlay.innerHTML = `
|
|
230
|
+
<div style="
|
|
231
|
+
position: relative;
|
|
232
|
+
width: 100%;
|
|
233
|
+
max-width: 400px;
|
|
234
|
+
height: 100%;
|
|
235
|
+
display: flex;
|
|
236
|
+
flex-direction: column;
|
|
237
|
+
align-items: center;
|
|
238
|
+
justify-content: center;
|
|
239
|
+
padding: 40px 20px;
|
|
240
|
+
">
|
|
241
|
+
<!-- \u9876\u90E8\uFF1A\u52A0\u8F7D\u52A8\u753B\u56FE\u6807 -->
|
|
242
|
+
<div style="
|
|
243
|
+
width: 40px;
|
|
244
|
+
height: 40px;
|
|
245
|
+
position: relative;
|
|
246
|
+
margin-bottom: 12px;
|
|
247
|
+
margin-left: -40px;
|
|
248
|
+
">
|
|
249
|
+
<div style="
|
|
250
|
+
position: absolute;
|
|
251
|
+
width: 100%;
|
|
252
|
+
height: 100%;
|
|
253
|
+
">
|
|
254
|
+
<div style="
|
|
255
|
+
position: absolute;
|
|
256
|
+
width: 5px;
|
|
257
|
+
height: 5px;
|
|
258
|
+
background: #FDB515;
|
|
259
|
+
border-radius: 50%;
|
|
260
|
+
top: 0;
|
|
261
|
+
left: 50%;
|
|
262
|
+
transform: translateX(-50%);
|
|
263
|
+
animation: pulse 1.5s ease-in-out infinite;
|
|
264
|
+
"></div>
|
|
265
|
+
<div style="
|
|
266
|
+
position: absolute;
|
|
267
|
+
width: 5px;
|
|
268
|
+
height: 5px;
|
|
269
|
+
background: #FDB515;
|
|
270
|
+
border-radius: 50%;
|
|
271
|
+
top: 50%;
|
|
272
|
+
right: 0;
|
|
273
|
+
transform: translateY(-50%);
|
|
274
|
+
animation: pulse 1.5s ease-in-out 0.2s infinite;
|
|
275
|
+
"></div>
|
|
276
|
+
<div style="
|
|
277
|
+
position: absolute;
|
|
278
|
+
width: 5px;
|
|
279
|
+
height: 5px;
|
|
280
|
+
background: #FDB515;
|
|
281
|
+
border-radius: 50%;
|
|
282
|
+
bottom: 0;
|
|
283
|
+
left: 50%;
|
|
284
|
+
transform: translateX(-50%);
|
|
285
|
+
animation: pulse 1.5s ease-in-out 0.4s infinite;
|
|
286
|
+
"></div>
|
|
287
|
+
<div style="
|
|
288
|
+
position: absolute;
|
|
289
|
+
width: 5px;
|
|
290
|
+
height: 5px;
|
|
291
|
+
background: #FDB515;
|
|
292
|
+
border-radius: 50%;
|
|
293
|
+
top: 50%;
|
|
294
|
+
left: 0;
|
|
295
|
+
transform: translateY(-50%);
|
|
296
|
+
animation: pulse 1.5s ease-in-out 0.6s infinite;
|
|
297
|
+
"></div>
|
|
298
|
+
<div style="
|
|
299
|
+
position: absolute;
|
|
300
|
+
width: 5px;
|
|
301
|
+
height: 5px;
|
|
302
|
+
background: #FDB515;
|
|
303
|
+
border-radius: 50%;
|
|
304
|
+
top: 15%;
|
|
305
|
+
right: 15%;
|
|
306
|
+
animation: pulse 1.5s ease-in-out 0.8s infinite;
|
|
307
|
+
"></div>
|
|
308
|
+
<div style="
|
|
309
|
+
position: absolute;
|
|
310
|
+
width: 5px;
|
|
311
|
+
height: 5px;
|
|
312
|
+
background: #FDB515;
|
|
313
|
+
border-radius: 50%;
|
|
314
|
+
bottom: 15%;
|
|
315
|
+
right: 15%;
|
|
316
|
+
animation: pulse 1.5s ease-in-out 1s infinite;
|
|
317
|
+
"></div>
|
|
318
|
+
<div style="
|
|
319
|
+
position: absolute;
|
|
320
|
+
width: 5px;
|
|
321
|
+
height: 5px;
|
|
322
|
+
background: #FDB515;
|
|
323
|
+
border-radius: 50%;
|
|
324
|
+
bottom: 15%;
|
|
325
|
+
left: 15%;
|
|
326
|
+
animation: pulse 1.5s ease-in-out 1.2s infinite;
|
|
327
|
+
"></div>
|
|
328
|
+
<div style="
|
|
329
|
+
position: absolute;
|
|
330
|
+
width: 5px;
|
|
331
|
+
height: 5px;
|
|
332
|
+
background: #FDB515;
|
|
333
|
+
border-radius: 50%;
|
|
334
|
+
top: 15%;
|
|
335
|
+
left: 15%;
|
|
336
|
+
animation: pulse 1.5s ease-in-out 1.4s infinite;
|
|
337
|
+
"></div>
|
|
338
|
+
</div>
|
|
339
|
+
</div>
|
|
340
|
+
|
|
341
|
+
<!-- \u6587\u5B57\uFF1A1.\u70B9\u51FB\u53F3\u4E0A\u89D2 -->
|
|
342
|
+
<div style="
|
|
343
|
+
color: #fff;
|
|
344
|
+
font-size: 16px;
|
|
345
|
+
margin-bottom: 20px;
|
|
346
|
+
text-align: center;
|
|
347
|
+
">1.\u70B9\u51FB\u53F3\u4E0A\u89D2</div>
|
|
348
|
+
|
|
349
|
+
<!-- \u53F3\u4E0A\u89D2\u7BAD\u5934\uFF08\u7EDD\u5BF9\u5B9A\u4F4D\uFF09 -->
|
|
350
|
+
<img src="${ARROW_PRO}" style="
|
|
351
|
+
position: absolute;
|
|
352
|
+
top: 60px;
|
|
353
|
+
right: 80px;
|
|
354
|
+
width: 80px;
|
|
355
|
+
height: 80px;
|
|
356
|
+
animation: bounce 1.5s ease-in-out infinite;
|
|
357
|
+
" />
|
|
358
|
+
|
|
359
|
+
<!-- SVG \u865A\u7EBF\u66F2\u7EBF\uFF08\u5411\u5DE6\u5F2F\u66F2\uFF09 -->
|
|
360
|
+
<svg width="100%" height="300" style="
|
|
361
|
+
margin: 20px 0;
|
|
362
|
+
overflow: visible;
|
|
363
|
+
">
|
|
364
|
+
<path
|
|
365
|
+
d="M 200 20 Q 120 80, 140 160 Q 160 240, 200 280"
|
|
366
|
+
stroke="#6699CC"
|
|
367
|
+
stroke-width="2"
|
|
368
|
+
stroke-dasharray="8,6"
|
|
369
|
+
fill="none"
|
|
370
|
+
/>
|
|
371
|
+
<!-- \u8D77\u70B9\u5C0F\u5706\u70B9 -->
|
|
372
|
+
<circle cx="200" cy="20" r="4" fill="#6699CC" />
|
|
373
|
+
<!-- \u7EC8\u70B9\u5C0F\u5706\u70B9 -->
|
|
374
|
+
<circle cx="200" cy="280" r="4" fill="#6699CC" />
|
|
375
|
+
</svg>
|
|
376
|
+
|
|
377
|
+
<!-- \u5E95\u90E8\uFF1ASafari\u56FE\u6807 + \u5706\u5F62\u8FB9\u6846 -->
|
|
378
|
+
<!-- \u6587\u5B57\uFF1A2.\u5728\u83DC\u5355\u4E2D\u70B9\u51FB \u6253\u5F00 -->
|
|
379
|
+
<div style="display: flex; align-items: center;">
|
|
380
|
+
<div style="
|
|
381
|
+
display: flex;
|
|
382
|
+
align-items: center;
|
|
383
|
+
justify-content: center;
|
|
384
|
+
flex-wrap: wrap;
|
|
385
|
+
text-align: center;
|
|
386
|
+
">
|
|
387
|
+
<span style="
|
|
388
|
+
color: #fff;
|
|
389
|
+
font-size: 16px;
|
|
390
|
+
">2.\u5728\u83DC\u5355\u4E2D\u70B9\u51FB</span>
|
|
391
|
+
|
|
392
|
+
<span style="
|
|
393
|
+
color: #fff;
|
|
394
|
+
font-size: 16px;
|
|
395
|
+
">\u6253\u5F00</span>
|
|
396
|
+
</div>
|
|
397
|
+
<div style="
|
|
398
|
+
position: relative;
|
|
399
|
+
width: 110px;
|
|
400
|
+
height: 110px;
|
|
401
|
+
display: flex;
|
|
402
|
+
align-items: center;
|
|
403
|
+
justify-content: center;
|
|
404
|
+
margin-bottom: 20px;
|
|
405
|
+
">
|
|
406
|
+
|
|
407
|
+
<!-- Safari \u56FE\u6807 -->
|
|
408
|
+
<img src="${APPSTORE_PRO}" style="
|
|
409
|
+
width: 70px;
|
|
410
|
+
height: 70px;
|
|
411
|
+
position: relative;
|
|
412
|
+
z-index: 1;
|
|
413
|
+
" />
|
|
414
|
+
</div>
|
|
415
|
+
</div>
|
|
416
|
+
</div>
|
|
417
|
+
|
|
418
|
+
<style>
|
|
419
|
+
@keyframes pulse {
|
|
420
|
+
0%, 100% {
|
|
421
|
+
opacity: 1;
|
|
422
|
+
transform: scale(1);
|
|
423
|
+
}
|
|
424
|
+
50% {
|
|
425
|
+
opacity: 0.4;
|
|
426
|
+
transform: scale(0.8);
|
|
427
|
+
}
|
|
428
|
+
}
|
|
429
|
+
|
|
430
|
+
@keyframes rotate {
|
|
431
|
+
from {
|
|
432
|
+
transform: rotate(0deg);
|
|
433
|
+
}
|
|
434
|
+
to {
|
|
435
|
+
transform: rotate(360deg);
|
|
436
|
+
}
|
|
437
|
+
}
|
|
438
|
+
|
|
439
|
+
@keyframes bounce {
|
|
440
|
+
0%, 100% {
|
|
441
|
+
transform: translateY(0);
|
|
442
|
+
}
|
|
443
|
+
50% {
|
|
444
|
+
transform: translateY(-10px);
|
|
445
|
+
}
|
|
446
|
+
}
|
|
447
|
+
</style>
|
|
448
|
+
`;
|
|
449
|
+
document.body.appendChild(guideOverlay);
|
|
450
|
+
guideOverlay.addEventListener("click", () => {
|
|
451
|
+
hideWechatGuide();
|
|
452
|
+
});
|
|
453
|
+
}
|
|
454
|
+
function hideWechatGuide() {
|
|
455
|
+
if (guideOverlay) {
|
|
456
|
+
guideOverlay.style.display = "none";
|
|
457
|
+
}
|
|
458
|
+
}
|
|
459
|
+
function removeWechatGuide() {
|
|
460
|
+
if (guideOverlay && guideOverlay.parentNode) {
|
|
461
|
+
guideOverlay.parentNode.removeChild(guideOverlay);
|
|
462
|
+
guideOverlay = null;
|
|
463
|
+
}
|
|
464
|
+
}
|
|
465
|
+
|
|
466
|
+
// src/language.ts
|
|
467
|
+
function readQuerystring(key) {
|
|
468
|
+
try {
|
|
469
|
+
if (typeof window === "undefined" || !window.location) return void 0;
|
|
470
|
+
const search = window.location.search || "";
|
|
471
|
+
if (!search) return void 0;
|
|
472
|
+
if (typeof URLSearchParams !== "undefined") {
|
|
473
|
+
const params = new URLSearchParams(search);
|
|
474
|
+
return params.get(key) || void 0;
|
|
475
|
+
}
|
|
476
|
+
const re = new RegExp("[?&]" + key.replace(/[.*+?^${}()|[\]\\]/g, "\\$&") + "=([^&#]*)");
|
|
477
|
+
const m = re.exec(search);
|
|
478
|
+
return m ? decodeURIComponent(m[1]) : void 0;
|
|
479
|
+
} catch (e) {
|
|
480
|
+
return void 0;
|
|
481
|
+
}
|
|
482
|
+
}
|
|
483
|
+
function readLocalStorage(key) {
|
|
484
|
+
try {
|
|
485
|
+
if (typeof localStorage === "undefined") return void 0;
|
|
486
|
+
return localStorage.getItem(key) || void 0;
|
|
487
|
+
} catch (e) {
|
|
488
|
+
return void 0;
|
|
489
|
+
}
|
|
490
|
+
}
|
|
491
|
+
function readCookie(name) {
|
|
492
|
+
try {
|
|
493
|
+
if (typeof document === "undefined" || !document.cookie) return void 0;
|
|
494
|
+
const re = new RegExp("(?:^|; )" + name.replace(/[.*+?^${}()|[\]\\]/g, "\\$&") + "=([^;]*)");
|
|
495
|
+
const m = re.exec(document.cookie);
|
|
496
|
+
return m ? decodeURIComponent(m[1]) : void 0;
|
|
497
|
+
} catch (e) {
|
|
498
|
+
return void 0;
|
|
499
|
+
}
|
|
500
|
+
}
|
|
501
|
+
function readNavigatorLanguages() {
|
|
502
|
+
try {
|
|
503
|
+
if (typeof navigator === "undefined") return [];
|
|
504
|
+
const list = [];
|
|
505
|
+
const langs = navigator.languages;
|
|
506
|
+
if (Array.isArray(langs)) list.push(...langs);
|
|
507
|
+
if (navigator.language) list.push(navigator.language);
|
|
508
|
+
const userLang = navigator.userLanguage || navigator.browserLanguage;
|
|
509
|
+
if (userLang) list.push(userLang);
|
|
510
|
+
return list.filter(Boolean);
|
|
511
|
+
} catch (e) {
|
|
512
|
+
return [];
|
|
513
|
+
}
|
|
514
|
+
}
|
|
515
|
+
function readHtmlTag() {
|
|
516
|
+
try {
|
|
517
|
+
if (typeof document === "undefined" || !document.documentElement) return void 0;
|
|
518
|
+
return document.documentElement.lang || void 0;
|
|
519
|
+
} catch (e) {
|
|
520
|
+
return void 0;
|
|
521
|
+
}
|
|
522
|
+
}
|
|
523
|
+
function detectCandidates() {
|
|
524
|
+
return [
|
|
525
|
+
readQuerystring("lng"),
|
|
526
|
+
readLocalStorage("i18nextLng"),
|
|
527
|
+
readCookie("i18next"),
|
|
528
|
+
...readNavigatorLanguages(),
|
|
529
|
+
readHtmlTag()
|
|
530
|
+
];
|
|
531
|
+
}
|
|
532
|
+
var SUPPORTED_LANG_CODES = [
|
|
533
|
+
"en",
|
|
534
|
+
"zh",
|
|
535
|
+
"zh-TW",
|
|
536
|
+
"ja",
|
|
537
|
+
"ko",
|
|
538
|
+
"de",
|
|
539
|
+
"fr",
|
|
540
|
+
"es",
|
|
541
|
+
"pt",
|
|
542
|
+
"it",
|
|
543
|
+
"hi",
|
|
544
|
+
"bn",
|
|
545
|
+
"ur",
|
|
546
|
+
"ar",
|
|
547
|
+
"tr",
|
|
548
|
+
"ru",
|
|
549
|
+
"ms",
|
|
550
|
+
"id"
|
|
551
|
+
];
|
|
552
|
+
var LANG_TAG_TO_I18N_CODE = {
|
|
553
|
+
// 简体中文 → zh
|
|
554
|
+
"zh": "zh",
|
|
555
|
+
"zh-cn": "zh",
|
|
556
|
+
"zh-sg": "zh",
|
|
557
|
+
"zh-my": "zh",
|
|
558
|
+
"zh-hans": "zh",
|
|
559
|
+
"zh-hans-cn": "zh",
|
|
560
|
+
"zh-hans-sg": "zh",
|
|
561
|
+
"zh-hans-my": "zh",
|
|
562
|
+
// 繁体中文 → zh-TW
|
|
563
|
+
"zh-tw": "zh-TW",
|
|
564
|
+
"zh-hk": "zh-TW",
|
|
565
|
+
"zh-mo": "zh-TW",
|
|
566
|
+
"zh-hant": "zh-TW",
|
|
567
|
+
"zh-hant-tw": "zh-TW",
|
|
568
|
+
"zh-hant-hk": "zh-TW",
|
|
569
|
+
"zh-hant-mo": "zh-TW"
|
|
570
|
+
};
|
|
571
|
+
function normalizeLangTag(tag) {
|
|
572
|
+
if (!tag || typeof tag !== "string") return void 0;
|
|
573
|
+
const lower = tag.toLowerCase();
|
|
574
|
+
const mapped = LANG_TAG_TO_I18N_CODE[lower];
|
|
575
|
+
if (mapped) return mapped;
|
|
576
|
+
const primary = lower.split(/[-_]/)[0];
|
|
577
|
+
return SUPPORTED_LANG_CODES.indexOf(primary) >= 0 ? primary : void 0;
|
|
578
|
+
}
|
|
579
|
+
function getLanguageCode() {
|
|
580
|
+
const candidates = detectCandidates();
|
|
581
|
+
for (const tag of candidates) {
|
|
582
|
+
const code = normalizeLangTag(tag);
|
|
583
|
+
if (code) return code;
|
|
584
|
+
}
|
|
585
|
+
return "en";
|
|
586
|
+
}
|
|
587
|
+
|
|
588
|
+
// src/theme-config.ts
|
|
589
|
+
function extractDefaultsFromSchema(schema) {
|
|
590
|
+
if (!schema || typeof schema !== "object") return void 0;
|
|
591
|
+
if (schema.type === "object" && schema.properties) {
|
|
592
|
+
const result = {};
|
|
593
|
+
for (const [key, propSchema] of Object.entries(schema.properties)) {
|
|
594
|
+
const val = extractDefaultsFromSchema(propSchema);
|
|
595
|
+
if (val !== void 0) {
|
|
596
|
+
result[key] = val;
|
|
597
|
+
}
|
|
598
|
+
}
|
|
599
|
+
return Object.keys(result).length > 0 ? result : void 0;
|
|
600
|
+
}
|
|
601
|
+
if ("default" in schema) {
|
|
602
|
+
return schema.default;
|
|
603
|
+
}
|
|
604
|
+
return void 0;
|
|
605
|
+
}
|
|
606
|
+
var LANG_FALLBACK_MAP = {
|
|
607
|
+
// 繁体中文:优先查专用键,没有则回退通用简体,最后回退 en
|
|
608
|
+
"zh-TW": ["zh-TW", "zh", "en"]
|
|
609
|
+
};
|
|
610
|
+
function lookupI18nRuntime(runtime, key, langCode) {
|
|
611
|
+
var _a;
|
|
612
|
+
const map = runtime[key];
|
|
613
|
+
if (!map || typeof map !== "object") return void 0;
|
|
614
|
+
const fallbackChain = (_a = LANG_FALLBACK_MAP[langCode]) != null ? _a : [langCode, "en"];
|
|
615
|
+
for (const code of fallbackChain) {
|
|
616
|
+
const val = map[code];
|
|
617
|
+
if (typeof val === "string") return val;
|
|
618
|
+
}
|
|
619
|
+
return Object.values(map).find((v) => typeof v === "string");
|
|
620
|
+
}
|
|
621
|
+
function mergeI18nRuntimes(runtimes) {
|
|
622
|
+
const merged = {};
|
|
623
|
+
for (const runtime of runtimes) {
|
|
624
|
+
if (!runtime) continue;
|
|
625
|
+
for (const [key, langMap] of Object.entries(runtime)) {
|
|
626
|
+
if (!merged[key]) {
|
|
627
|
+
merged[key] = __spreadValues({}, langMap);
|
|
628
|
+
} else {
|
|
629
|
+
merged[key] = __spreadValues(__spreadValues({}, merged[key]), langMap);
|
|
630
|
+
}
|
|
631
|
+
}
|
|
632
|
+
}
|
|
633
|
+
return merged;
|
|
634
|
+
}
|
|
635
|
+
function resolveI18nRefs(config, i18nRecord, langCode) {
|
|
636
|
+
var _a;
|
|
637
|
+
if (!config || typeof config !== "object" || Array.isArray(config)) return;
|
|
638
|
+
const runtime = (_a = i18nRecord.runtime) != null ? _a : {};
|
|
639
|
+
for (const key of Object.keys(config)) {
|
|
640
|
+
const value = config[key];
|
|
641
|
+
if (typeof value === "string") {
|
|
642
|
+
if (value.startsWith("i18n.runtime.")) {
|
|
643
|
+
const i18nKey = value.slice("i18n.runtime.".length);
|
|
644
|
+
const resolved = lookupI18nRuntime(runtime, i18nKey, langCode);
|
|
645
|
+
if (resolved !== void 0) {
|
|
646
|
+
config[key] = resolved;
|
|
647
|
+
} else {
|
|
648
|
+
console.warn(`[i18n] Missing translation for key "${i18nKey}" (lang: ${langCode}), using key name as fallback.`);
|
|
649
|
+
config[key] = i18nKey;
|
|
650
|
+
}
|
|
651
|
+
}
|
|
652
|
+
} else if (value !== null && typeof value === "object" && !Array.isArray(value)) {
|
|
653
|
+
resolveI18nRefs(value, i18nRecord, langCode);
|
|
654
|
+
}
|
|
655
|
+
}
|
|
656
|
+
}
|
|
657
|
+
function resolveImagePaths(config, assetRecordByPath) {
|
|
658
|
+
if (!assetRecordByPath || !config || typeof config !== "object") return;
|
|
659
|
+
for (const key of Object.keys(config)) {
|
|
660
|
+
const value = config[key];
|
|
661
|
+
if (typeof value === "string") {
|
|
662
|
+
if (assetRecordByPath[value]) {
|
|
663
|
+
config[key] = assetRecordByPath[value];
|
|
664
|
+
}
|
|
665
|
+
} else if (value !== null && typeof value === "object" && !Array.isArray(value)) {
|
|
666
|
+
resolveImagePaths(value, assetRecordByPath);
|
|
667
|
+
}
|
|
668
|
+
}
|
|
669
|
+
}
|
|
670
|
+
var _cachedConfig = null;
|
|
671
|
+
function deepMerge(target, source) {
|
|
672
|
+
for (const key of Object.keys(source)) {
|
|
673
|
+
const srcVal = source[key];
|
|
674
|
+
const tgtVal = target[key];
|
|
675
|
+
if (srcVal !== null && typeof srcVal === "object" && !Array.isArray(srcVal) && tgtVal !== null && typeof tgtVal === "object" && !Array.isArray(tgtVal)) {
|
|
676
|
+
deepMerge(tgtVal, srcVal);
|
|
677
|
+
} else if (srcVal !== void 0) {
|
|
678
|
+
target[key] = srcVal;
|
|
679
|
+
}
|
|
680
|
+
}
|
|
681
|
+
return target;
|
|
682
|
+
}
|
|
683
|
+
function setConfig(configList, config) {
|
|
684
|
+
var _a;
|
|
685
|
+
const { assetRecordByPath, i18nRecord } = config;
|
|
686
|
+
const resolvedConfigs = configList.map((item) => {
|
|
687
|
+
var _a2;
|
|
688
|
+
if (!item) return {};
|
|
689
|
+
return item.$schema ? (_a2 = extractDefaultsFromSchema(item)) != null ? _a2 : {} : item;
|
|
690
|
+
});
|
|
691
|
+
const [first, ...rest] = resolvedConfigs;
|
|
692
|
+
const mergedConfig = JSON.parse(JSON.stringify(first));
|
|
693
|
+
for (const data of rest) {
|
|
694
|
+
deepMerge(mergedConfig, data);
|
|
695
|
+
}
|
|
696
|
+
if (i18nRecord) {
|
|
697
|
+
const langCode = getLanguageCode();
|
|
698
|
+
console.log("detect target langCode", langCode);
|
|
699
|
+
const runtime = Array.isArray(i18nRecord.runtime) ? mergeI18nRuntimes(i18nRecord.runtime) : (_a = i18nRecord.runtime) != null ? _a : {};
|
|
700
|
+
resolveI18nRefs(mergedConfig, __spreadProps(__spreadValues({}, i18nRecord), { runtime }), langCode);
|
|
701
|
+
}
|
|
702
|
+
resolveImagePaths(mergedConfig, assetRecordByPath);
|
|
703
|
+
_cachedConfig = mergedConfig;
|
|
704
|
+
}
|
|
705
|
+
function getConfig() {
|
|
706
|
+
if (!_cachedConfig) {
|
|
707
|
+
console.warn("[PlayableSDK] Theme config not initialized. Call setConfig() first.");
|
|
708
|
+
return {};
|
|
709
|
+
}
|
|
710
|
+
return _cachedConfig;
|
|
711
|
+
}
|
|
712
|
+
|
|
713
|
+
// src/cursor.ts
|
|
714
|
+
var cleanup = null;
|
|
715
|
+
function toCursor(src, size) {
|
|
716
|
+
const hotspot = Math.round(size / 8);
|
|
717
|
+
return new Promise((resolve, reject) => {
|
|
718
|
+
const img = new Image();
|
|
719
|
+
img.onload = () => {
|
|
720
|
+
const c = document.createElement("canvas");
|
|
721
|
+
c.width = size;
|
|
722
|
+
c.height = size;
|
|
723
|
+
const ctx = c.getContext("2d");
|
|
724
|
+
if (!ctx) {
|
|
725
|
+
reject(new Error("[PlayableSDK] Failed to get 2d context for cursor"));
|
|
726
|
+
return;
|
|
727
|
+
}
|
|
728
|
+
ctx.drawImage(img, 0, 0, size, size);
|
|
729
|
+
resolve(`url(${c.toDataURL("image/png")}) ${hotspot} ${hotspot}, pointer`);
|
|
730
|
+
};
|
|
731
|
+
img.onerror = () => reject(new Error("[PlayableSDK] Failed to load cursor image"));
|
|
732
|
+
img.src = src;
|
|
733
|
+
});
|
|
734
|
+
}
|
|
735
|
+
function enableCustomCursor(opts = {}) {
|
|
736
|
+
var _a, _b, _c;
|
|
737
|
+
cleanup == null ? void 0 : cleanup();
|
|
738
|
+
cleanup = null;
|
|
739
|
+
if (typeof document === "undefined") return () => {
|
|
740
|
+
};
|
|
741
|
+
const target = (_a = opts.target) != null ? _a : document.body;
|
|
742
|
+
if (!target) {
|
|
743
|
+
console.warn("[PlayableSDK] enableCustomCursor: target not found");
|
|
744
|
+
return () => {
|
|
745
|
+
};
|
|
746
|
+
}
|
|
747
|
+
const size = (_b = opts.size) != null ? _b : 64;
|
|
748
|
+
const prevCursor = target.style.cursor;
|
|
749
|
+
let disposed = false;
|
|
750
|
+
let down = null;
|
|
751
|
+
let up = null;
|
|
752
|
+
const dispose = () => {
|
|
753
|
+
if (disposed) return;
|
|
754
|
+
disposed = true;
|
|
755
|
+
target.style.cursor = prevCursor;
|
|
756
|
+
if (down) target.removeEventListener("pointerdown", down);
|
|
757
|
+
if (up) {
|
|
758
|
+
target.removeEventListener("pointerup", up);
|
|
759
|
+
target.removeEventListener("pointercancel", up);
|
|
760
|
+
}
|
|
761
|
+
if (cleanup === dispose) cleanup = null;
|
|
762
|
+
};
|
|
763
|
+
cleanup = dispose;
|
|
764
|
+
const hoverSrc = opts.hoverImage;
|
|
765
|
+
const pressSrc = (_c = opts.pressImage) != null ? _c : opts.hoverImage;
|
|
766
|
+
const cursorPromises = hoverSrc ? [toCursor(hoverSrc, size), pressSrc ? toCursor(pressSrc, size) : toCursor(hoverSrc, size)] : [toCursor(FINGER_HOVERING, size), toCursor(FINGER_PRESSING, size)];
|
|
767
|
+
Promise.all(cursorPromises).then(([hover, press]) => {
|
|
768
|
+
if (disposed) return;
|
|
769
|
+
target.style.cursor = hover;
|
|
770
|
+
down = () => {
|
|
771
|
+
target.style.cursor = press;
|
|
772
|
+
};
|
|
773
|
+
up = () => {
|
|
774
|
+
target.style.cursor = hover;
|
|
775
|
+
};
|
|
776
|
+
target.addEventListener("pointerdown", down);
|
|
777
|
+
target.addEventListener("pointerup", up);
|
|
778
|
+
target.addEventListener("pointercancel", up);
|
|
779
|
+
}).catch((err) => {
|
|
780
|
+
console.warn("[PlayableSDK] enableCustomCursor failed:", err);
|
|
781
|
+
dispose();
|
|
782
|
+
});
|
|
783
|
+
return dispose;
|
|
784
|
+
}
|
|
785
|
+
function disableCustomCursor() {
|
|
786
|
+
cleanup == null ? void 0 : cleanup();
|
|
787
|
+
cleanup = null;
|
|
788
|
+
}
|
|
789
|
+
|
|
790
|
+
// src/core.ts
|
|
791
|
+
var destinationUrl = "";
|
|
792
|
+
var isSDKInitialized = false;
|
|
793
|
+
var isProtocolInitialized = false;
|
|
794
|
+
var isForcePaused = false;
|
|
795
|
+
var isInstallClicked = false;
|
|
796
|
+
var actualVolume = 1;
|
|
797
|
+
var initCallback = () => {
|
|
798
|
+
};
|
|
799
|
+
function bootAd() {
|
|
800
|
+
if (sdk.isReady) return;
|
|
801
|
+
emitEvent("playcraftInit");
|
|
802
|
+
document.body.oncontextmenu = function() {
|
|
803
|
+
return false;
|
|
804
|
+
};
|
|
805
|
+
initCallback(sdk.maxWidth, sdk.maxHeight);
|
|
806
|
+
emitEvent("playcraftReady");
|
|
807
|
+
sdk.isReady = true;
|
|
808
|
+
}
|
|
809
|
+
function fireVolumeChange(value) {
|
|
810
|
+
emitEvent("playcraftVolume", value);
|
|
811
|
+
}
|
|
812
|
+
function changeVolume(value) {
|
|
813
|
+
sdk.volume = value;
|
|
814
|
+
fireVolumeChange(value);
|
|
815
|
+
}
|
|
816
|
+
function handleVolumeChange(value) {
|
|
817
|
+
actualVolume = value;
|
|
818
|
+
if (!sdk.isPaused) changeVolume(actualVolume);
|
|
819
|
+
}
|
|
820
|
+
function handlePause() {
|
|
821
|
+
changeVolume(0);
|
|
822
|
+
sdk.isPaused = true;
|
|
823
|
+
emitEvent("playcraftPause");
|
|
824
|
+
}
|
|
825
|
+
function handleResume() {
|
|
826
|
+
if (isForcePaused) return;
|
|
827
|
+
changeVolume(actualVolume);
|
|
828
|
+
sdk.isPaused = false;
|
|
829
|
+
emitEvent("playcraftResume");
|
|
830
|
+
}
|
|
831
|
+
function fireResizeEvent(width, height) {
|
|
832
|
+
handleResize(width, height);
|
|
833
|
+
}
|
|
834
|
+
function startMraidProtocol() {
|
|
835
|
+
if ("mraid" !== AD_PROTOCOL) return;
|
|
836
|
+
if (isProtocolInitialized) return;
|
|
837
|
+
mraid.removeEventListener("ready", startMraidProtocol);
|
|
838
|
+
function mraidStateChanged(viewable) {
|
|
839
|
+
if (viewable) {
|
|
840
|
+
handleResume();
|
|
841
|
+
if (!sdk.isReady) {
|
|
842
|
+
const maxSize = mraid.getMaxSize();
|
|
843
|
+
sdk.maxWidth = Math.floor(maxSize.width);
|
|
844
|
+
sdk.maxHeight = Math.floor(maxSize.height);
|
|
845
|
+
bootAd();
|
|
846
|
+
}
|
|
847
|
+
} else {
|
|
848
|
+
handlePause();
|
|
849
|
+
}
|
|
850
|
+
}
|
|
851
|
+
function isViewable() {
|
|
852
|
+
return mraid.isViewable() && "hidden" !== mraid.getState();
|
|
853
|
+
}
|
|
854
|
+
function stateChanged() {
|
|
855
|
+
mraidStateChanged(isViewable());
|
|
856
|
+
}
|
|
857
|
+
mraid.addEventListener("viewableChange", stateChanged);
|
|
858
|
+
if (AD_NETWORK !== "unity") {
|
|
859
|
+
mraid.addEventListener("stateChange", stateChanged);
|
|
860
|
+
}
|
|
861
|
+
if (isViewable()) {
|
|
862
|
+
mraidStateChanged(true);
|
|
863
|
+
}
|
|
864
|
+
if (AD_NETWORK !== "unity") {
|
|
865
|
+
if (mraid.getAudioVolume) {
|
|
866
|
+
const isAudioEnabled = mraid.getAudioVolume();
|
|
867
|
+
if (isAudioEnabled) {
|
|
868
|
+
handleVolumeChange(1);
|
|
869
|
+
} else {
|
|
870
|
+
handleVolumeChange(0);
|
|
871
|
+
}
|
|
872
|
+
}
|
|
873
|
+
mraid.addEventListener("audioVolumeChange", function(newVolume) {
|
|
874
|
+
if (newVolume !== null) {
|
|
875
|
+
if (newVolume > 0) {
|
|
876
|
+
handleVolumeChange(1);
|
|
877
|
+
} else {
|
|
878
|
+
handleVolumeChange(0);
|
|
879
|
+
}
|
|
880
|
+
}
|
|
881
|
+
});
|
|
882
|
+
}
|
|
883
|
+
mraid.addEventListener("error", function(t, e) {
|
|
884
|
+
console.log("mraid error: " + t + " action: " + e);
|
|
885
|
+
});
|
|
886
|
+
mraid.addEventListener("sizeChange", function() {
|
|
887
|
+
const maxSize = mraid.getMaxSize();
|
|
888
|
+
fireResizeEvent(maxSize.width, maxSize.height);
|
|
889
|
+
});
|
|
890
|
+
mraid.addEventListener("orientationChange", function() {
|
|
891
|
+
console.log("[MRAID] orientationChange event fired");
|
|
892
|
+
});
|
|
893
|
+
mraid.addEventListener("resize", function() {
|
|
894
|
+
console.log("[MRAID] resize event fired");
|
|
895
|
+
});
|
|
896
|
+
isProtocolInitialized = true;
|
|
897
|
+
}
|
|
898
|
+
function startDapiProtocol() {
|
|
899
|
+
if ("dapi" !== AD_PROTOCOL) return;
|
|
900
|
+
if (isProtocolInitialized) return;
|
|
901
|
+
function dapiIsViewable(event) {
|
|
902
|
+
if (event.isViewable) {
|
|
903
|
+
handleResume();
|
|
904
|
+
if (!sdk.isReady) {
|
|
905
|
+
const screenSize = dapi.getScreenSize();
|
|
906
|
+
screenSize.width = Math.floor(screenSize.width);
|
|
907
|
+
screenSize.height = Math.floor(screenSize.height);
|
|
908
|
+
bootAd();
|
|
909
|
+
}
|
|
910
|
+
} else {
|
|
911
|
+
handlePause();
|
|
912
|
+
}
|
|
913
|
+
}
|
|
914
|
+
dapi.removeEventListener("ready", startDapiProtocol);
|
|
915
|
+
const isAudioEnabled = dapi.getAudioVolume();
|
|
916
|
+
if (isAudioEnabled) {
|
|
917
|
+
handleVolumeChange(1);
|
|
918
|
+
} else {
|
|
919
|
+
handleVolumeChange(0);
|
|
920
|
+
}
|
|
921
|
+
dapi.addEventListener("audioVolumeChange", function(volume) {
|
|
922
|
+
const isAudioEnabled2 = !!volume;
|
|
923
|
+
if (isAudioEnabled2) {
|
|
924
|
+
handleVolumeChange(1);
|
|
925
|
+
} else {
|
|
926
|
+
handleVolumeChange(0);
|
|
927
|
+
}
|
|
928
|
+
});
|
|
929
|
+
dapi.addEventListener("adResized", function(event) {
|
|
930
|
+
const maxSize = dapi.getScreenSize();
|
|
931
|
+
fireResizeEvent(event.width || maxSize.width, event.height || maxSize.height);
|
|
932
|
+
});
|
|
933
|
+
if (dapi.isViewable()) {
|
|
934
|
+
dapiIsViewable({ isViewable: true });
|
|
935
|
+
}
|
|
936
|
+
dapi.addEventListener("viewableChange", dapiIsViewable);
|
|
937
|
+
isProtocolInitialized = true;
|
|
938
|
+
}
|
|
939
|
+
function startBigoAdsProtocol() {
|
|
940
|
+
if ("bigoads" !== AD_NETWORK) return;
|
|
941
|
+
if (isProtocolInitialized) return;
|
|
942
|
+
function bigoAdsViewableChange(isViewable) {
|
|
943
|
+
if (isViewable) {
|
|
944
|
+
handleResume();
|
|
945
|
+
if (!sdk.isReady) {
|
|
946
|
+
bootAd();
|
|
947
|
+
}
|
|
948
|
+
} else {
|
|
949
|
+
handlePause();
|
|
950
|
+
}
|
|
951
|
+
}
|
|
952
|
+
if (window.BGY_MRAID && window.BGY_MRAID.addEventListener) {
|
|
953
|
+
window.BGY_MRAID.addEventListener("viewableChange", function(viewable) {
|
|
954
|
+
bigoAdsViewableChange(viewable);
|
|
955
|
+
});
|
|
956
|
+
}
|
|
957
|
+
if (window.BGY_MRAID && window.BGY_MRAID.isViewable) {
|
|
958
|
+
const isViewable = window.BGY_MRAID.isViewable();
|
|
959
|
+
if (isViewable) {
|
|
960
|
+
bigoAdsViewableChange(true);
|
|
961
|
+
}
|
|
962
|
+
} else {
|
|
963
|
+
if (document.readyState === "complete") {
|
|
964
|
+
bigoAdsViewableChange(true);
|
|
965
|
+
} else {
|
|
966
|
+
window.addEventListener("load", function() {
|
|
967
|
+
bigoAdsViewableChange(true);
|
|
968
|
+
});
|
|
969
|
+
}
|
|
970
|
+
}
|
|
971
|
+
window.addEventListener("resize", function() {
|
|
972
|
+
handleResize();
|
|
973
|
+
});
|
|
974
|
+
isProtocolInitialized = true;
|
|
975
|
+
}
|
|
976
|
+
function startDefaultProtocol() {
|
|
977
|
+
if (isProtocolInitialized) return;
|
|
978
|
+
if ("mintegral" === AD_NETWORK) {
|
|
979
|
+
window.mintGameStart = function() {
|
|
980
|
+
handleResume();
|
|
981
|
+
handleResize(sdk.maxWidth, sdk.maxHeight);
|
|
982
|
+
};
|
|
983
|
+
window.mintGameClose = function() {
|
|
984
|
+
handlePause();
|
|
985
|
+
};
|
|
986
|
+
}
|
|
987
|
+
document.addEventListener("visibilitychange", () => {
|
|
988
|
+
if (document.visibilityState === "visible") {
|
|
989
|
+
handleResume();
|
|
990
|
+
if (!sdk.isReady && document.readyState === "complete") {
|
|
991
|
+
bootAd();
|
|
992
|
+
}
|
|
993
|
+
} else {
|
|
994
|
+
handlePause();
|
|
995
|
+
}
|
|
996
|
+
});
|
|
997
|
+
function documentIsReady() {
|
|
998
|
+
if (document.visibilityState === "visible") bootAd();
|
|
999
|
+
}
|
|
1000
|
+
if (document.readyState === "complete") {
|
|
1001
|
+
documentIsReady();
|
|
1002
|
+
} else {
|
|
1003
|
+
window.addEventListener("load", documentIsReady);
|
|
1004
|
+
}
|
|
1005
|
+
window.addEventListener("resize", function() {
|
|
1006
|
+
handleResize();
|
|
1007
|
+
});
|
|
1008
|
+
if ("tapjoy" === AD_NETWORK && isTapjoy()) {
|
|
1009
|
+
const tapjoyApi = {
|
|
1010
|
+
skipAd: function() {
|
|
1011
|
+
try {
|
|
1012
|
+
sdk.playcraftFinish();
|
|
1013
|
+
} catch (e) {
|
|
1014
|
+
console.warn("Could not skip ad! | " + e);
|
|
1015
|
+
}
|
|
1016
|
+
}
|
|
1017
|
+
};
|
|
1018
|
+
window.TJ_API.setPlayableAPI && window.TJ_API.setPlayableAPI(tapjoyApi);
|
|
1019
|
+
}
|
|
1020
|
+
isProtocolInitialized = true;
|
|
1021
|
+
}
|
|
1022
|
+
function finishTapjoy() {
|
|
1023
|
+
window.TJ_API.objectiveComplete && window.TJ_API.objectiveComplete();
|
|
1024
|
+
window.TJ_API.playableFinished && window.TJ_API.playableFinished();
|
|
1025
|
+
window.TJ_API.gameplayFinished && window.TJ_API.gameplayFinished();
|
|
1026
|
+
}
|
|
1027
|
+
function handleResize(width, height) {
|
|
1028
|
+
sdk.maxWidth = Math.floor(width || window.innerWidth);
|
|
1029
|
+
sdk.maxHeight = Math.floor(height || window.innerHeight);
|
|
1030
|
+
sdk.isLandscape = sdk.maxWidth > sdk.maxHeight;
|
|
1031
|
+
emitEvent("playcraftResize", sdk.maxWidth, sdk.maxHeight);
|
|
1032
|
+
}
|
|
1033
|
+
var isListeningToTouchEvents = false;
|
|
1034
|
+
var isTouchEventRegistered = false;
|
|
1035
|
+
function onUserInteraction(event) {
|
|
1036
|
+
if (typeof TouchEvent !== "undefined" && event instanceof TouchEvent) {
|
|
1037
|
+
isListeningToTouchEvents = true;
|
|
1038
|
+
}
|
|
1039
|
+
if (isListeningToTouchEvents && event instanceof MouseEvent) return;
|
|
1040
|
+
sdk.interactions += 1;
|
|
1041
|
+
emitEvent("playcraftInteraction", sdk.interactions);
|
|
1042
|
+
}
|
|
1043
|
+
function registerTouchHandlers() {
|
|
1044
|
+
if (!isTouchEventRegistered) {
|
|
1045
|
+
document.addEventListener("mousedown", onUserInteraction);
|
|
1046
|
+
document.addEventListener("touchstart", onUserInteraction);
|
|
1047
|
+
isTouchEventRegistered = true;
|
|
1048
|
+
}
|
|
1049
|
+
}
|
|
1050
|
+
function initSDK() {
|
|
1051
|
+
destinationUrl = /android/i.test(navigator.userAgent) ? GOOGLE_PLAY_URL : APP_STORE_URL;
|
|
1052
|
+
console.log("[SDK DEBUG] destinationUrl set to:", destinationUrl, "length:", destinationUrl.length);
|
|
1053
|
+
ensureProtocol();
|
|
1054
|
+
document.addEventListener("visibilitychange", function lockScreenAudioHandler() {
|
|
1055
|
+
if (document.visibilityState === "hidden") {
|
|
1056
|
+
changeVolume(0);
|
|
1057
|
+
} else if (document.visibilityState === "visible") {
|
|
1058
|
+
if (!sdk.isPaused) {
|
|
1059
|
+
changeVolume(actualVolume);
|
|
1060
|
+
}
|
|
1061
|
+
}
|
|
1062
|
+
});
|
|
1063
|
+
if ("mraid" === AD_PROTOCOL && typeof mraid === "undefined") {
|
|
1064
|
+
console.warn("[SDK] MRAID protocol detected but mraid.js not loaded, creating fallback mock (MRAID 2.0)");
|
|
1065
|
+
window.mraid = {
|
|
1066
|
+
getState: function() {
|
|
1067
|
+
console.log('[MRAID Mock] getState() called, returning "ready"');
|
|
1068
|
+
return "ready";
|
|
1069
|
+
},
|
|
1070
|
+
getVersion: function() {
|
|
1071
|
+
console.log('[MRAID Mock] getVersion() called, returning "2.0"');
|
|
1072
|
+
return "2.0";
|
|
1073
|
+
},
|
|
1074
|
+
isReady: function() {
|
|
1075
|
+
console.log("[MRAID Mock] isReady() called, returning true");
|
|
1076
|
+
return true;
|
|
1077
|
+
},
|
|
1078
|
+
isViewable: function() {
|
|
1079
|
+
console.log("[MRAID Mock] isViewable() called, returning true");
|
|
1080
|
+
return true;
|
|
1081
|
+
},
|
|
1082
|
+
getMaxSize: function() {
|
|
1083
|
+
const size = { width: window.innerWidth, height: window.innerHeight };
|
|
1084
|
+
console.log("[MRAID Mock] getMaxSize() called, returning", size);
|
|
1085
|
+
return size;
|
|
1086
|
+
},
|
|
1087
|
+
// getAudioVolume 是 MRAID 3.0 特性,为避免 Unity 等平台检测失败,已移除
|
|
1088
|
+
// getAudioVolume: function() {
|
|
1089
|
+
// console.log('[MRAID Mock] getAudioVolume() called, returning 1');
|
|
1090
|
+
// return 1;
|
|
1091
|
+
// },
|
|
1092
|
+
open: function(url) {
|
|
1093
|
+
console.log("[MRAID Mock] open() called with URL:", url);
|
|
1094
|
+
window.open(url, "_blank");
|
|
1095
|
+
},
|
|
1096
|
+
close: function() {
|
|
1097
|
+
console.log("[MRAID Mock] close() called (no-op in mock)");
|
|
1098
|
+
},
|
|
1099
|
+
addEventListener: function(event, callback) {
|
|
1100
|
+
console.log("[MRAID Mock] addEventListener() called for event:", event);
|
|
1101
|
+
if (event === "ready") {
|
|
1102
|
+
setTimeout(() => {
|
|
1103
|
+
console.log("[MRAID Mock] Triggering ready callback");
|
|
1104
|
+
callback();
|
|
1105
|
+
}, 0);
|
|
1106
|
+
}
|
|
1107
|
+
},
|
|
1108
|
+
removeEventListener: function(event, callback) {
|
|
1109
|
+
console.log("[MRAID Mock] removeEventListener() called for event:", event);
|
|
1110
|
+
},
|
|
1111
|
+
fireTrackingEvent: function(event) {
|
|
1112
|
+
console.log("[MRAID Mock] fireTrackingEvent() called with event:", event);
|
|
1113
|
+
}
|
|
1114
|
+
};
|
|
1115
|
+
window.mraidVersion = "2.0";
|
|
1116
|
+
console.log('[SDK] MRAID 2.0 mock initialized, mraidVersion set to "2.0"');
|
|
1117
|
+
}
|
|
1118
|
+
if ("mraid" === AD_PROTOCOL && isMraid()) {
|
|
1119
|
+
mraid.getState() === "loading" ? mraid.addEventListener("ready", startMraidProtocol) : startMraidProtocol();
|
|
1120
|
+
} else if ("dapi" === AD_PROTOCOL && isDapi()) {
|
|
1121
|
+
dapi.isReady() ? startDapiProtocol() : dapi.addEventListener("ready", startDapiProtocol);
|
|
1122
|
+
} else if ("bigoads" === AD_NETWORK && isBigoAds()) {
|
|
1123
|
+
startBigoAdsProtocol();
|
|
1124
|
+
} else {
|
|
1125
|
+
startDefaultProtocol();
|
|
1126
|
+
}
|
|
1127
|
+
}
|
|
1128
|
+
var _sdk = class _sdk {
|
|
1129
|
+
/**
|
|
1130
|
+
* Initializes the SDK and sets up protocol-specific handlers.
|
|
1131
|
+
* This must be called as earlier as possible.
|
|
1132
|
+
*
|
|
1133
|
+
* @param callback Optional function called when ad container is ready
|
|
1134
|
+
* @param options Optional configuration options
|
|
1135
|
+
* @example
|
|
1136
|
+
* // Basic initialization
|
|
1137
|
+
* sdk.playcraftInit();
|
|
1138
|
+
*
|
|
1139
|
+
* // Initialization with callback
|
|
1140
|
+
* sdk.playcraftInit((width, height) => {
|
|
1141
|
+
* new App(width, height)
|
|
1142
|
+
* });
|
|
1143
|
+
*
|
|
1144
|
+
* @fires playcraftInit When SDK initialization starts
|
|
1145
|
+
* @fires playcraftReady When game instance is created and ready to load resources
|
|
1146
|
+
*/
|
|
1147
|
+
static playcraftInit(callback, options) {
|
|
1148
|
+
if (isSDKInitialized) return;
|
|
1149
|
+
if (callback) initCallback = callback;
|
|
1150
|
+
initTrackingProtocols();
|
|
1151
|
+
document.readyState === "loading" ? window.addEventListener("DOMContentLoaded", initSDK) : initSDK();
|
|
1152
|
+
isSDKInitialized = true;
|
|
1153
|
+
try {
|
|
1154
|
+
parent.postMessage({ type: "playcraftInit", timestamp: Date.now() }, "*");
|
|
1155
|
+
} catch (e) {
|
|
1156
|
+
console.warn("[SDK] Failed to postMessage to parent window", e);
|
|
1157
|
+
}
|
|
1158
|
+
const customCursor = options == null ? void 0 : options.customCursor;
|
|
1159
|
+
if (customCursor !== false) {
|
|
1160
|
+
enableCustomCursor(typeof customCursor === "object" ? customCursor : void 0);
|
|
1161
|
+
}
|
|
1162
|
+
}
|
|
1163
|
+
/**
|
|
1164
|
+
* Starts the playable ad experience.
|
|
1165
|
+
* Should be called after all resources are loaded and first frame is rendered.
|
|
1166
|
+
*
|
|
1167
|
+
* @example
|
|
1168
|
+
* sdk.playcraftStart();
|
|
1169
|
+
*
|
|
1170
|
+
* @fires playcraftStart When the playable ad starts
|
|
1171
|
+
* @fires playcraftResize When the ad container is initially sized
|
|
1172
|
+
*/
|
|
1173
|
+
static playcraftStart() {
|
|
1174
|
+
if (_sdk.isStarted) return;
|
|
1175
|
+
_sdk.isStarted = true;
|
|
1176
|
+
emitEvent("playcraftStart");
|
|
1177
|
+
registerTouchHandlers();
|
|
1178
|
+
if ("mintegral" === AD_NETWORK && isMintegral()) {
|
|
1179
|
+
_sdk.playcraftResize();
|
|
1180
|
+
handlePause();
|
|
1181
|
+
window.gameReady && window.gameReady();
|
|
1182
|
+
} else if ("bigoads" === AD_NETWORK && isBigoAds()) {
|
|
1183
|
+
window.BGY_MRAID && window.BGY_MRAID.gameReady && window.BGY_MRAID.gameReady();
|
|
1184
|
+
fireVolumeChange(_sdk.volume);
|
|
1185
|
+
_sdk.playcraftResize();
|
|
1186
|
+
} else {
|
|
1187
|
+
if ("tapjoy" === AD_NETWORK && isTapjoy()) {
|
|
1188
|
+
window.TJ_API.setPlayableBuild({
|
|
1189
|
+
orientation: this.isLandscape ? "landscape" : "portrait",
|
|
1190
|
+
buildID: BUILD_HASH
|
|
1191
|
+
});
|
|
1192
|
+
}
|
|
1193
|
+
fireVolumeChange(_sdk.volume);
|
|
1194
|
+
_sdk.playcraftResize();
|
|
1195
|
+
}
|
|
1196
|
+
}
|
|
1197
|
+
/**
|
|
1198
|
+
* Marks the main scene as fully loaded and ready for user interaction.
|
|
1199
|
+
* Should be called at the end of your main game scene's create() method.
|
|
1200
|
+
*
|
|
1201
|
+
* @example
|
|
1202
|
+
* create() {
|
|
1203
|
+
* // ... all initialization code ...
|
|
1204
|
+
* sdk.playcraftInteractive();
|
|
1205
|
+
* }
|
|
1206
|
+
*
|
|
1207
|
+
* @fires playcraftInteractive When the main scene is ready for user interaction
|
|
1208
|
+
*/
|
|
1209
|
+
static playcraftInteractive() {
|
|
1210
|
+
emitEvent("playcraftInteractive");
|
|
1211
|
+
}
|
|
1212
|
+
/**
|
|
1213
|
+
* Marks the challenge as started.
|
|
1214
|
+
* Should be called by business logic when the user actually starts playing.
|
|
1215
|
+
*
|
|
1216
|
+
* @example
|
|
1217
|
+
* onFirstClick() {
|
|
1218
|
+
* sdk.playcraftChallengeStart();
|
|
1219
|
+
* }
|
|
1220
|
+
*
|
|
1221
|
+
* @fires playcraftChallengeStart When the challenge starts
|
|
1222
|
+
*/
|
|
1223
|
+
static playcraftChallengeStart() {
|
|
1224
|
+
emitEvent("playcraftChallengeStart");
|
|
1225
|
+
}
|
|
1226
|
+
/**
|
|
1227
|
+
* Marks the playable ad as finished.
|
|
1228
|
+
*
|
|
1229
|
+
* @example
|
|
1230
|
+
* sdk.playcraftFinish();
|
|
1231
|
+
*
|
|
1232
|
+
* @fires playcraftFinish When the playable ad is marked as finished
|
|
1233
|
+
*/
|
|
1234
|
+
static playcraftFinish() {
|
|
1235
|
+
_sdk.isFinished = true;
|
|
1236
|
+
if ("tapjoy" === AD_NETWORK && isTapjoy()) {
|
|
1237
|
+
finishTapjoy();
|
|
1238
|
+
} else if ("mintegral" === AD_NETWORK && isMintegral()) {
|
|
1239
|
+
window.gameEnd && window.gameEnd();
|
|
1240
|
+
} else if ("vungle" === AD_NETWORK) {
|
|
1241
|
+
parent.postMessage("complete", "*");
|
|
1242
|
+
} else if ("bigoads" === AD_NETWORK && isBigoAds()) {
|
|
1243
|
+
setTimeout(() => {
|
|
1244
|
+
}, 300);
|
|
1245
|
+
} else if ("mraid" === AD_PROTOCOL && isMraid()) {
|
|
1246
|
+
try {
|
|
1247
|
+
if (typeof mraid !== "undefined" && mraid.close) {
|
|
1248
|
+
mraid.close();
|
|
1249
|
+
}
|
|
1250
|
+
} catch (e) {
|
|
1251
|
+
console.warn("Could not call mraid.close():", e);
|
|
1252
|
+
}
|
|
1253
|
+
}
|
|
1254
|
+
emitEvent("playcraftFinish");
|
|
1255
|
+
try {
|
|
1256
|
+
parent.postMessage({ type: "playcraftFinish", timestamp: Date.now() }, "*");
|
|
1257
|
+
} catch (e) {
|
|
1258
|
+
console.warn("[SDK] Failed to postMessage to parent window", e);
|
|
1259
|
+
}
|
|
1260
|
+
}
|
|
1261
|
+
/**
|
|
1262
|
+
* Triggers a retry/restart of the playable ad.
|
|
1263
|
+
*
|
|
1264
|
+
* @example
|
|
1265
|
+
* retryButton.onclick = () => sdk.playcraftRetry();
|
|
1266
|
+
*
|
|
1267
|
+
* @fires playcraftRetry When a retry is triggered
|
|
1268
|
+
*/
|
|
1269
|
+
static playcraftRetry() {
|
|
1270
|
+
if ("mintegral" === AD_NETWORK && isMintegral()) {
|
|
1271
|
+
window.gameRetry && window.gameRetry();
|
|
1272
|
+
} else if ("nucleo" === AD_PROTOCOL && isNucleo()) {
|
|
1273
|
+
NUC.trigger.tryAgain();
|
|
1274
|
+
}
|
|
1275
|
+
emitEvent("playcraftRetry");
|
|
1276
|
+
}
|
|
1277
|
+
/**
|
|
1278
|
+
* Triggers the install/download action for the advertised app.
|
|
1279
|
+
*
|
|
1280
|
+
* @example
|
|
1281
|
+
* installButton.onclick = () => sdk.playcraftInstall();
|
|
1282
|
+
*
|
|
1283
|
+
* @fires playcraftFinish If the ad hasn't been marked as finished
|
|
1284
|
+
* @fires playcraftInstall When the install action is triggered
|
|
1285
|
+
*/
|
|
1286
|
+
static playcraftInstall(params) {
|
|
1287
|
+
console.log("[SDK] playcraftInstall() called, interactions:", _sdk.interactions, "isFinished:", _sdk.isFinished, "isInstallClicked:", isInstallClicked);
|
|
1288
|
+
if (_sdk.interactions < 1 && isDisableFirstClickToOpenApp()) {
|
|
1289
|
+
console.log("[SDK] \u9996\u6B21\u70B9\u51FB\u4FDD\u62A4\uFF0C\u76F4\u63A5\u8FD4\u56DE");
|
|
1290
|
+
return;
|
|
1291
|
+
}
|
|
1292
|
+
if ((params == null ? void 0 : params.action_type) === "auto") {
|
|
1293
|
+
if (!isCanAutoInstall()) {
|
|
1294
|
+
return;
|
|
1295
|
+
}
|
|
1296
|
+
const timeout = setTimeout(function() {
|
|
1297
|
+
_sdk.playcraftInstall();
|
|
1298
|
+
clearTimeout(timeout);
|
|
1299
|
+
}, params.timeout || 3e3);
|
|
1300
|
+
return;
|
|
1301
|
+
}
|
|
1302
|
+
if (!_sdk.isFinished) {
|
|
1303
|
+
console.log("[SDK] \u9996\u6B21\u6267\u884C playcraftInstall\uFF0C\u89E6\u53D1 playcraftFinish \u4E8B\u4EF6");
|
|
1304
|
+
_sdk.isFinished = true;
|
|
1305
|
+
let timeout = 0;
|
|
1306
|
+
if ("tapjoy" === AD_NETWORK && isTapjoy()) {
|
|
1307
|
+
finishTapjoy();
|
|
1308
|
+
timeout = 300;
|
|
1309
|
+
}
|
|
1310
|
+
emitEvent("playcraftFinish");
|
|
1311
|
+
setTimeout(function() {
|
|
1312
|
+
console.log("[SDK] \u5F02\u6B65\u9012\u5F52\u8C03\u7528 playcraftInstall()");
|
|
1313
|
+
_sdk.playcraftInstall();
|
|
1314
|
+
}, timeout);
|
|
1315
|
+
return;
|
|
1316
|
+
}
|
|
1317
|
+
if (isInstallClicked) {
|
|
1318
|
+
console.log("[SDK] \u9632\u6296\u62E6\u622A\uFF08500ms \u5185\u91CD\u590D\u70B9\u51FB\uFF09");
|
|
1319
|
+
return;
|
|
1320
|
+
}
|
|
1321
|
+
isInstallClicked = true;
|
|
1322
|
+
setTimeout(function() {
|
|
1323
|
+
isInstallClicked = false;
|
|
1324
|
+
console.log("[SDK] \u9632\u6296\u89E3\u9501");
|
|
1325
|
+
}, 500);
|
|
1326
|
+
emitEvent("playcraftInstall");
|
|
1327
|
+
console.log("Ad_Protocal: ", AD_PROTOCOL);
|
|
1328
|
+
if ("mraid" === AD_PROTOCOL && isMraid()) {
|
|
1329
|
+
try {
|
|
1330
|
+
console.log("[MRAID] Opening store URL via mraid.open():", destinationUrl);
|
|
1331
|
+
mraid.open(destinationUrl);
|
|
1332
|
+
} catch (error) {
|
|
1333
|
+
console.error("[MRAID] mraid.open() failed, fallback to window.open():", error);
|
|
1334
|
+
window.open(destinationUrl, "_blank");
|
|
1335
|
+
}
|
|
1336
|
+
} else if ("dapi" === AD_PROTOCOL && isDapi()) {
|
|
1337
|
+
dapi.openStoreUrl();
|
|
1338
|
+
} else if ("nucleo" === AD_PROTOCOL && isNucleo()) {
|
|
1339
|
+
NUC.trigger.convert(destinationUrl);
|
|
1340
|
+
} else if ("adikteev" === AD_NETWORK && isAdikteev()) {
|
|
1341
|
+
console.log("[Adikteev] Opening destination URL via mraid.open()");
|
|
1342
|
+
const adikteevUrl = typeof window.AK_CLICK_DESTINATION_URL !== "undefined" ? window.AK_CLICK_DESTINATION_URL : destinationUrl;
|
|
1343
|
+
try {
|
|
1344
|
+
mraid.open(adikteevUrl);
|
|
1345
|
+
} catch (error) {
|
|
1346
|
+
console.error("[Adikteev] mraid.open() failed, fallback to window.open():", error);
|
|
1347
|
+
window.open(adikteevUrl, "_blank");
|
|
1348
|
+
}
|
|
1349
|
+
if (typeof window.AK_CLICK_PIXEL_URL !== "undefined" && window.AK_CLICK_PIXEL_URL) {
|
|
1350
|
+
const img = new Image();
|
|
1351
|
+
img.src = window.AK_CLICK_PIXEL_URL;
|
|
1352
|
+
}
|
|
1353
|
+
} else if ("bigoads" === AD_NETWORK && isBigoAds()) {
|
|
1354
|
+
console.log("window.BGY_MRAID.open()", window.BGY_MRAID);
|
|
1355
|
+
if (!window.ADS_MRAID_CONFIG) {
|
|
1356
|
+
window.ADS_MRAID_CONFIG = window.ADS_MRAID_CONFIG || {
|
|
1357
|
+
landUrl: destinationUrl,
|
|
1358
|
+
orientation: 0
|
|
1359
|
+
};
|
|
1360
|
+
}
|
|
1361
|
+
window.BGY_MRAID && window.BGY_MRAID.open && window.BGY_MRAID.open();
|
|
1362
|
+
} else if ("facebook" == AD_NETWORK && isFacebook()) {
|
|
1363
|
+
FbPlayableAd.onCTAClick();
|
|
1364
|
+
} else if ("snapchat" == AD_NETWORK && isSnapchat()) {
|
|
1365
|
+
ScPlayableAd.onCTAClick();
|
|
1366
|
+
} else if ("smadex" == AD_NETWORK && isSmadex()) {
|
|
1367
|
+
smxTracking.redirect();
|
|
1368
|
+
} else if ("vungle" == AD_NETWORK) {
|
|
1369
|
+
parent.postMessage("download", "*");
|
|
1370
|
+
} else if ("google" == AD_NETWORK && isGoogle()) {
|
|
1371
|
+
ExitApi.exit();
|
|
1372
|
+
} else if ("mintegral" === AD_NETWORK && isMintegral()) {
|
|
1373
|
+
window.install && window.install();
|
|
1374
|
+
} else if ("tapjoy" === AD_NETWORK && isTapjoy()) {
|
|
1375
|
+
window.TJ_API.click();
|
|
1376
|
+
} else if ("tiktok" === AD_NETWORK && isTikTok()) {
|
|
1377
|
+
window.openAppStore();
|
|
1378
|
+
} else {
|
|
1379
|
+
console.log("[SDK] \u5FAE\u4FE1\u73AF\u5883\u68C0\u6D4B\u5230\uFF0C\u663E\u793A\u6D4F\u89C8\u5668\u5F15\u5BFC");
|
|
1380
|
+
if (AD_NETWORK === "preview" && isWechat()) {
|
|
1381
|
+
console.log("[SDK] \u5FAE\u4FE1\u73AF\u5883\u68C0\u6D4B\u5230\uFF0C\u663E\u793A\u6D4F\u89C8\u5668\u5F15\u5BFC");
|
|
1382
|
+
showWechatGuide();
|
|
1383
|
+
} else {
|
|
1384
|
+
window.open(destinationUrl);
|
|
1385
|
+
}
|
|
1386
|
+
}
|
|
1387
|
+
}
|
|
1388
|
+
/**
|
|
1389
|
+
* Trigger force resize event
|
|
1390
|
+
*
|
|
1391
|
+
* @example
|
|
1392
|
+
* sdk.playcraftResize();
|
|
1393
|
+
*
|
|
1394
|
+
* @fires playcraftResize With current maxWidth and maxHeight
|
|
1395
|
+
*/
|
|
1396
|
+
static playcraftResize() {
|
|
1397
|
+
handleResize(_sdk.maxWidth, _sdk.maxHeight);
|
|
1398
|
+
}
|
|
1399
|
+
/**
|
|
1400
|
+
* Records playable ad challenge progress (0-100).
|
|
1401
|
+
* Triggers channel-specific milestone events based on the progress value.
|
|
1402
|
+
* Milestones are not re-triggered once fired.
|
|
1403
|
+
*
|
|
1404
|
+
* @param percent Progress percentage (0-100)
|
|
1405
|
+
*
|
|
1406
|
+
* @example
|
|
1407
|
+
* // Report 50% progress
|
|
1408
|
+
* sdk.recordPlaycraftChallengeProgress(50);
|
|
1409
|
+
*
|
|
1410
|
+
* @fires playcraftChallengeProgress With the progress percentage value
|
|
1411
|
+
*/
|
|
1412
|
+
static recordPlaycraftChallengeProgress(percent) {
|
|
1413
|
+
emitEvent("playcraftChallengeProgress", percent);
|
|
1414
|
+
}
|
|
1415
|
+
/**
|
|
1416
|
+
* Records a game success/completion event.
|
|
1417
|
+
* Sends platform-specific success tracking events:
|
|
1418
|
+
* - AppLovin: CHALLENGE_SOLVED
|
|
1419
|
+
* - Bigabid: complete
|
|
1420
|
+
* - InMobi: Gameplay_Complete
|
|
1421
|
+
*
|
|
1422
|
+
* @example
|
|
1423
|
+
* onLevelComplete() {
|
|
1424
|
+
* sdk.playcraftRecordSuccess();
|
|
1425
|
+
* }
|
|
1426
|
+
*/
|
|
1427
|
+
static playcraftRecordSuccess() {
|
|
1428
|
+
emitEvent("playcraftChallengeSuccess");
|
|
1429
|
+
}
|
|
1430
|
+
/**
|
|
1431
|
+
* Records a game failure event.
|
|
1432
|
+
* Sends platform-specific failure tracking events:
|
|
1433
|
+
* - AppLovin: CHALLENGE_FAILED
|
|
1434
|
+
*
|
|
1435
|
+
* @example
|
|
1436
|
+
* onLevelFailed() {
|
|
1437
|
+
* sdk.playcraftRecordFailed();
|
|
1438
|
+
* }
|
|
1439
|
+
*/
|
|
1440
|
+
static playcraftRecordFailed() {
|
|
1441
|
+
emitEvent("playcraftChallengeFailed");
|
|
1442
|
+
}
|
|
1443
|
+
/**
|
|
1444
|
+
* Forces the playable ad into a paused state.
|
|
1445
|
+
*
|
|
1446
|
+
* @example
|
|
1447
|
+
* pauseButton.onclick = () => sdk.playcraftPause();
|
|
1448
|
+
*
|
|
1449
|
+
* @fires playcraftPause When the ad enters paused state
|
|
1450
|
+
*/
|
|
1451
|
+
static playcraftPause() {
|
|
1452
|
+
if (!isForcePaused) {
|
|
1453
|
+
isForcePaused = true;
|
|
1454
|
+
handlePause();
|
|
1455
|
+
}
|
|
1456
|
+
}
|
|
1457
|
+
/**
|
|
1458
|
+
* Resumes the playable ad from a forced pause state.
|
|
1459
|
+
*
|
|
1460
|
+
* @example
|
|
1461
|
+
* resumeButton.onclick = () => sdk.playcraftResume();
|
|
1462
|
+
*
|
|
1463
|
+
* @fires playcraftResume When the ad resumes from pause
|
|
1464
|
+
*/
|
|
1465
|
+
static playcraftResume() {
|
|
1466
|
+
if (isForcePaused) {
|
|
1467
|
+
isForcePaused = false;
|
|
1468
|
+
handleResume();
|
|
1469
|
+
}
|
|
1470
|
+
}
|
|
1471
|
+
/**
|
|
1472
|
+
* Registers an event listener.
|
|
1473
|
+
*
|
|
1474
|
+
* @param event Name of the event to listen for
|
|
1475
|
+
* @param fn Callback function to execute when event occurs
|
|
1476
|
+
* @param context Optional 'this' context for the callback
|
|
1477
|
+
*
|
|
1478
|
+
* @example
|
|
1479
|
+
* sdk.on('playcraftInteraction', (count) => {
|
|
1480
|
+
* console.log(`User interaction #${count}`);
|
|
1481
|
+
* });
|
|
1482
|
+
*/
|
|
1483
|
+
static on(event, fn, context) {
|
|
1484
|
+
onEvent(event, fn, context);
|
|
1485
|
+
}
|
|
1486
|
+
/**
|
|
1487
|
+
* Registers a one-time event listener that removes itself after execution.
|
|
1488
|
+
*
|
|
1489
|
+
* @param event Name of the event to listen for
|
|
1490
|
+
* @param fn Callback function to execute when event occurs
|
|
1491
|
+
* @param context Optional 'this' context for the callback
|
|
1492
|
+
*
|
|
1493
|
+
* @example
|
|
1494
|
+
* sdk.once('playcraftInteraction', () => {
|
|
1495
|
+
* console.log('First user interaction occurred!');
|
|
1496
|
+
* });
|
|
1497
|
+
*/
|
|
1498
|
+
static once(event, fn, context) {
|
|
1499
|
+
onEvent(event, fn, context, true);
|
|
1500
|
+
}
|
|
1501
|
+
/**
|
|
1502
|
+
* Removes an event listener.
|
|
1503
|
+
*
|
|
1504
|
+
* @param event Name of the event to stop listening for
|
|
1505
|
+
* @param fn Optional callback function to remove
|
|
1506
|
+
* @param context Optional 'this' context to match when removing
|
|
1507
|
+
*
|
|
1508
|
+
* @example
|
|
1509
|
+
* sdk.off('playcraftInteraction', handler);
|
|
1510
|
+
*/
|
|
1511
|
+
static off(event, fn, context) {
|
|
1512
|
+
offEvent(event, fn, context);
|
|
1513
|
+
}
|
|
1514
|
+
/**
|
|
1515
|
+
* @returns 当前渠道
|
|
1516
|
+
*/
|
|
1517
|
+
static getCurChannel() {
|
|
1518
|
+
return AD_NETWORK;
|
|
1519
|
+
}
|
|
1520
|
+
/**
|
|
1521
|
+
* 判断是否是 Google
|
|
1522
|
+
*/
|
|
1523
|
+
static isGoogle() {
|
|
1524
|
+
return _sdk.getCurChannel() === "google";
|
|
1525
|
+
}
|
|
1526
|
+
/**
|
|
1527
|
+
* 获取当前用户语言的 i18n 简码。
|
|
1528
|
+
* 多源探测(querystring → localStorage → cookie → navigator → html tag)。
|
|
1529
|
+
*
|
|
1530
|
+
* @returns i18n 简码:en | zh | ja | ko | de | fr | es | pt | it | hi | bn | ur | ar | tr | ru | ms | id,默认 'en'
|
|
1531
|
+
*
|
|
1532
|
+
* @example
|
|
1533
|
+
* const langCode = sdk.getLanguageCode(); // 'zh'
|
|
1534
|
+
*/
|
|
1535
|
+
static getLanguageCode() {
|
|
1536
|
+
return getLanguageCode();
|
|
1537
|
+
}
|
|
1538
|
+
/**
|
|
1539
|
+
* 设置主题配置,支持传入多份 JSON5 配置。
|
|
1540
|
+
* 每一份配置都可以是 JSON Schema(带 $schema 字段),会自动提取其中的 default 值。
|
|
1541
|
+
* 所有配置按顺序依次深度合并,后面的优先级更高。
|
|
1542
|
+
*
|
|
1543
|
+
* @param configList - 配置数组,每一项可以是:
|
|
1544
|
+
* - JSON Schema(带 $schema 字段):自动提取 default 值后参与合并
|
|
1545
|
+
* - 普通配置对象:直接参与合并
|
|
1546
|
+
* @param config - 额外配置项
|
|
1547
|
+
* - config.assetRecordByPath: 相对路径到已解析 URL 的映射
|
|
1548
|
+
*
|
|
1549
|
+
* @example
|
|
1550
|
+
* sdk.setConfig(
|
|
1551
|
+
* [schemaA, schemaB, themeData],
|
|
1552
|
+
* { assetRecordByPath: imageAssets }
|
|
1553
|
+
* );
|
|
1554
|
+
*/
|
|
1555
|
+
static setConfig(configList, config) {
|
|
1556
|
+
setConfig(configList, config);
|
|
1557
|
+
}
|
|
1558
|
+
/**
|
|
1559
|
+
* 获取合并后的主题配置。
|
|
1560
|
+
* 返回 schema 默认值与用户主题数据深度合并后的结果。
|
|
1561
|
+
* 必须先调用 sdk.setConfig() 才能使用此方法。
|
|
1562
|
+
*
|
|
1563
|
+
* @returns 合并后的主题配置对象
|
|
1564
|
+
*
|
|
1565
|
+
* @example
|
|
1566
|
+
* const config = sdk.getConfig();
|
|
1567
|
+
* console.log(config.primaryColor); // '#ff0000'
|
|
1568
|
+
*/
|
|
1569
|
+
static getConfig() {
|
|
1570
|
+
return getConfig();
|
|
1571
|
+
}
|
|
1572
|
+
/**
|
|
1573
|
+
* 启用自定义鼠标指针。默认挂载到 `document.body`,作用于整个页面。
|
|
1574
|
+
* 悬浮显示手指图标,按下时切换为按压态图标。
|
|
1575
|
+
* 多次调用会先清理上一次的状态再重新绑定。
|
|
1576
|
+
*
|
|
1577
|
+
* @param opts 可选配置
|
|
1578
|
+
* - opts.target: 目标元素,未传则默认 document.body
|
|
1579
|
+
* - opts.size: 光标尺寸(像素),默认 64,热点固定为 size 的 1/8
|
|
1580
|
+
* @returns 清理函数,调用后会恢复默认光标并解除事件监听
|
|
1581
|
+
*
|
|
1582
|
+
* @example
|
|
1583
|
+
* sdk.enableCustomCursor();
|
|
1584
|
+
* sdk.enableCustomCursor({ size: 96 });
|
|
1585
|
+
*/
|
|
1586
|
+
static enableCustomCursor(opts) {
|
|
1587
|
+
return enableCustomCursor(opts);
|
|
1588
|
+
}
|
|
1589
|
+
/**
|
|
1590
|
+
* 关闭自定义鼠标指针,恢复默认光标。
|
|
1591
|
+
*
|
|
1592
|
+
* @example
|
|
1593
|
+
* sdk.disableCustomCursor();
|
|
1594
|
+
*/
|
|
1595
|
+
static disableCustomCursor() {
|
|
1596
|
+
disableCustomCursor();
|
|
1597
|
+
}
|
|
1598
|
+
};
|
|
1599
|
+
/** Current version of the SDK */
|
|
1600
|
+
_sdk.version = "1.0.22.beta.1";
|
|
1601
|
+
/** Current maximum width of the playable ad container in pixels */
|
|
1602
|
+
_sdk.maxWidth = Math.floor(window.innerWidth);
|
|
1603
|
+
/** Current maximum height of the playable ad container in pixels */
|
|
1604
|
+
_sdk.maxHeight = Math.floor(window.innerHeight);
|
|
1605
|
+
/** Indicates if the current orientation is landscape (width > height) */
|
|
1606
|
+
_sdk.isLandscape = window.innerWidth > window.innerHeight;
|
|
1607
|
+
/** Indicates if the Ad Network is ready and playable ad can be initialized */
|
|
1608
|
+
_sdk.isReady = false;
|
|
1609
|
+
/** Indicates if all playable ad resources are loaded and gameplay has started */
|
|
1610
|
+
_sdk.isStarted = false;
|
|
1611
|
+
/** Indicates if the playable ad is currently paused */
|
|
1612
|
+
_sdk.isPaused = false;
|
|
1613
|
+
/** Indicates if the playable ad has finished */
|
|
1614
|
+
_sdk.isFinished = false;
|
|
1615
|
+
/** Current volume level (0-1) */
|
|
1616
|
+
_sdk.volume = actualVolume;
|
|
1617
|
+
/** Number of user interactions with the playable ad (auto-incremented on each touch/click) */
|
|
1618
|
+
_sdk.interactions = 0;
|
|
1619
|
+
var sdk = _sdk;
|
|
1620
|
+
window["console"].log(
|
|
1621
|
+
`%c @playcraft/adsdk %c v${sdk.version} `,
|
|
1622
|
+
"background: #007acc; color: #fff; font-size: 14px; padding: 4px 8px; border-top-left-radius: 4px; border-bottom-left-radius: 4px;",
|
|
1623
|
+
"background: #e1e4e8; color: #333; font-size: 14px; padding: 4px 8px; border-top-right-radius: 4px; border-bottom-right-radius: 4px;"
|
|
1624
|
+
);
|
|
1625
|
+
window.PlayableSDK = sdk;
|
|
1626
|
+
export {
|
|
1627
|
+
sdk as default,
|
|
1628
|
+
disableCustomCursor,
|
|
1629
|
+
enableCustomCursor,
|
|
1630
|
+
getLanguageCode,
|
|
1631
|
+
hideWechatGuide,
|
|
1632
|
+
removeWechatGuide,
|
|
1633
|
+
sdk,
|
|
1634
|
+
showWechatGuide
|
|
1635
|
+
};
|