@playcraft/adsdk 1.0.8 → 1.0.9

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.
@@ -160,6 +160,14 @@
160
160
  }
161
161
 
162
162
  // src/tracking.ts
163
+ function getCurrentAdNetwork(adNetwork) {
164
+ const network = adNetwork || (typeof AD_NETWORK !== "undefined" ? AD_NETWORK : "");
165
+ const supportedNetworks = ["bigabid", "inmobi", "applovin"];
166
+ if (supportedNetworks.includes(network)) {
167
+ return network;
168
+ }
169
+ return null;
170
+ }
163
171
  function trackURL(url) {
164
172
  if (url) {
165
173
  const trackingPixel = new Image();
@@ -184,39 +192,46 @@
184
192
  window.ALPlayableAnalytics.trackEvent(event);
185
193
  }
186
194
  }
187
- var totalInteractions = 0;
188
- var progressMilestones = [];
189
- function setTotalInteractions(total) {
190
- totalInteractions = total;
191
- }
192
- function trackChallengeSuccess() {
193
- if (AD_NETWORK === "applovin") {
194
- trackApplovinEvent("CHALLENGE_SOLVED");
195
- }
196
- if (AD_NETWORK === "bigabid") {
197
- trackBigabidComplete();
195
+ var bigabidCompleteTriggered = false;
196
+ function trackBigabidComplete() {
197
+ if (!bigabidCompleteTriggered) {
198
+ trackBigabidEvent("complete");
199
+ bigabidCompleteTriggered = true;
198
200
  }
199
- if (AD_NETWORK === "inmobi") {
200
- trackInMobiEvent("Gameplay_Complete");
201
+ }
202
+ var inmobiTimers = [];
203
+ function startInMobiDurationTracking() {
204
+ const durations = [5, 10, 15, 20, 25, 30];
205
+ for (const sec of durations) {
206
+ const timer = setTimeout(() => trackInMobiEvent(`Spent_${sec}_Seconds`), sec * 1e3);
207
+ inmobiTimers.push(timer);
201
208
  }
202
209
  }
203
- function trackChallengeFailed() {
204
- if (AD_NETWORK === "applovin") {
205
- trackApplovinEvent("CHALLENGE_FAILED");
210
+ function clearInMobiDurationTracking() {
211
+ for (const timer of inmobiTimers) {
212
+ clearTimeout(timer);
206
213
  }
214
+ inmobiTimers = [];
215
+ }
216
+ var totalInteractions = 0;
217
+ var progressMilestones = [];
218
+ function setTotalInteractions(total) {
219
+ totalInteractions = total;
207
220
  }
208
- function initProgressMilestones() {
221
+ function initProgressMilestones(adNetwork) {
209
222
  if (totalInteractions <= 0) return;
210
- if (AD_NETWORK === "applovin") {
223
+ const network = getCurrentAdNetwork(adNetwork);
224
+ if (!network) return;
225
+ if (network === "applovin") {
211
226
  progressMilestones = [
212
227
  { percent: 25, triggered: false, callback: () => trackApplovinEvent("CHALLENGE_PASS_25") },
213
228
  { percent: 50, triggered: false, callback: () => trackApplovinEvent("CHALLENGE_PASS_50") },
214
229
  { percent: 75, triggered: false, callback: () => trackApplovinEvent("CHALLENGE_PASS_75") },
215
- { percent: 100, triggered: false, callback: () => trackChallengeSuccess() }
230
+ { percent: 100, triggered: false, callback: () => _trackChallengeSuccess(adNetwork) }
216
231
  ];
217
- } else if (AD_NETWORK === "bigabid") {
232
+ } else if (network === "bigabid") {
218
233
  progressMilestones = [
219
- { percent: 100, triggered: false, callback: () => trackChallengeSuccess() }
234
+ { percent: 100, triggered: false, callback: () => _trackChallengeSuccess(adNetwork) }
220
235
  ];
221
236
  }
222
237
  }
@@ -230,104 +245,189 @@
230
245
  }
231
246
  }
232
247
  }
233
- var bigabidCompleteTriggered = false;
234
- function trackBigabidComplete() {
235
- if (!bigabidCompleteTriggered) {
236
- trackBigabidEvent("complete");
237
- bigabidCompleteTriggered = true;
248
+ function _onInit(adNetwork) {
249
+ initProgressMilestones(adNetwork);
250
+ const network = getCurrentAdNetwork(adNetwork);
251
+ if (!network) return;
252
+ if (network === "bigabid") {
253
+ trackBigabidEvent("mraid_viewable");
254
+ }
255
+ if (network === "inmobi") {
256
+ trackInMobiEvent("Ad_Load_Start");
257
+ }
258
+ if (network === "applovin") {
259
+ trackApplovinEvent("LOADING");
238
260
  }
239
261
  }
240
- var inmobiTimers = [];
241
- function startInMobiDurationTracking() {
242
- const durations = [5, 10, 15, 20, 25, 30];
243
- for (const sec of durations) {
244
- const timer = setTimeout(() => trackInMobiEvent(`Spent_${sec}_Seconds`), sec * 1e3);
245
- inmobiTimers.push(timer);
262
+ function _onStart(adNetwork) {
263
+ const network = getCurrentAdNetwork(adNetwork);
264
+ if (!network) return;
265
+ if (network === "bigabid") {
266
+ trackBigabidEvent("game_viewable");
267
+ }
268
+ if (network === "inmobi") {
269
+ trackInMobiEvent("Ad_Viewable");
270
+ startInMobiDurationTracking();
271
+ }
272
+ if (network === "applovin") {
273
+ trackApplovinEvent("LOADED");
246
274
  }
247
275
  }
248
- function clearInMobiDurationTracking() {
249
- for (const timer of inmobiTimers) {
250
- clearTimeout(timer);
276
+ function _onInteractive(adNetwork) {
277
+ const network = getCurrentAdNetwork(adNetwork);
278
+ if (!network) return;
279
+ if (network === "applovin") {
280
+ trackApplovinEvent("DISPLAYED");
251
281
  }
252
- inmobiTimers = [];
253
282
  }
283
+ function _onInteraction(adNetwork) {
284
+ const network = getCurrentAdNetwork(adNetwork);
285
+ if (!network) return;
286
+ if (network === "bigabid") {
287
+ trackBigabidEvent("engagement");
288
+ }
289
+ if (network === "inmobi") {
290
+ trackInMobiEvent("First_Engagement");
291
+ }
292
+ if (network === "applovin") {
293
+ trackApplovinEvent("CHALLENGE_STARTED");
294
+ }
295
+ }
296
+ function _onSuccess(successCount) {
297
+ checkInteractionProgress(successCount);
298
+ }
299
+ function _onFinish(adNetwork) {
300
+ const network = getCurrentAdNetwork(adNetwork);
301
+ if (!network) return;
302
+ if (network === "bigabid") {
303
+ trackBigabidComplete();
304
+ }
305
+ if (network === "inmobi") {
306
+ trackInMobiEvent("Gameplay_Complete");
307
+ clearInMobiDurationTracking();
308
+ }
309
+ if (network === "applovin") {
310
+ trackApplovinEvent("ENDCARD_SHOWN");
311
+ }
312
+ }
313
+ function _onInstall(adNetwork) {
314
+ const network = getCurrentAdNetwork(adNetwork);
315
+ if (!network) return;
316
+ if (network === "bigabid") {
317
+ trackBigabidEvent("click");
318
+ }
319
+ if (network === "inmobi") {
320
+ trackInMobiEvent("DSP_Click");
321
+ clearInMobiDurationTracking();
322
+ }
323
+ if (network === "applovin") {
324
+ trackApplovinEvent("CTA_CLICKED");
325
+ }
326
+ }
327
+ function _onRetry(adNetwork) {
328
+ const network = getCurrentAdNetwork(adNetwork);
329
+ if (!network) return;
330
+ if (network === "applovin") {
331
+ trackApplovinEvent("CHALLENGE_RETRY");
332
+ }
333
+ }
334
+ function _trackChallengeSuccess(adNetwork) {
335
+ const network = getCurrentAdNetwork(adNetwork);
336
+ if (!network) return;
337
+ if (network === "applovin") {
338
+ trackApplovinEvent("CHALLENGE_SOLVED");
339
+ }
340
+ if (network === "bigabid") {
341
+ trackBigabidComplete();
342
+ }
343
+ if (network === "inmobi") {
344
+ trackInMobiEvent("Gameplay_Complete");
345
+ }
346
+ }
347
+ function _trackChallengeFailed(adNetwork) {
348
+ const network = getCurrentAdNetwork(adNetwork);
349
+ if (!network) return;
350
+ if (network === "applovin") {
351
+ trackApplovinEvent("CHALLENGE_FAILED");
352
+ }
353
+ }
354
+ var tracking = {
355
+ /**
356
+ * SDK 初始化开始
357
+ * @param adNetwork - 可选的广告渠道名称
358
+ */
359
+ onInit: _onInit,
360
+ /**
361
+ * 游戏资源加载完成
362
+ * @param adNetwork - 可选的广告渠道名称
363
+ */
364
+ onStart: _onStart,
365
+ /**
366
+ * 主场景就绪,用户可交互
367
+ * @param adNetwork - 可选的广告渠道名称
368
+ */
369
+ onInteractive: _onInteractive,
370
+ /**
371
+ * 首次交互
372
+ * @param adNetwork - 可选的广告渠道名称
373
+ */
374
+ onInteraction: _onInteraction,
375
+ /**
376
+ * 成功计数(用于进度百分比追踪)
377
+ * @param successCount - 当前成功次数
378
+ */
379
+ onSuccess: _onSuccess,
380
+ /**
381
+ * 游戏结束
382
+ * @param adNetwork - 可选的广告渠道名称
383
+ */
384
+ onFinish: _onFinish,
385
+ /**
386
+ * 点击安装
387
+ * @param adNetwork - 可选的广告渠道名称
388
+ */
389
+ onInstall: _onInstall,
390
+ /**
391
+ * 重试游戏
392
+ * @param adNetwork - 可选的广告渠道名称
393
+ */
394
+ onRetry: _onRetry,
395
+ /**
396
+ * 设置交互总数(用于进度百分比计算)
397
+ * @param total - 交互总数
398
+ */
399
+ setTotalInteractions,
400
+ /**
401
+ * 检查交互进度
402
+ * @param currentInteractions - 当前交互次数
403
+ */
404
+ checkInteractionProgress,
405
+ /**
406
+ * 触发游戏成功事件
407
+ * @param adNetwork - 可选的广告渠道名称
408
+ */
409
+ trackChallengeSuccess: _trackChallengeSuccess,
410
+ /**
411
+ * 触发游戏失败事件
412
+ * @param adNetwork - 可选的广告渠道名称
413
+ */
414
+ trackChallengeFailed: _trackChallengeFailed
415
+ };
416
+
417
+ // src/tracking-init.ts
254
418
  function initTrackingProtocols() {
255
419
  const supportedNetworks = ["bigabid", "inmobi", "applovin"];
256
420
  if (!supportedNetworks.includes(AD_NETWORK)) {
257
421
  return;
258
422
  }
259
- initProgressMilestones();
260
- sdk.once("init", () => {
261
- if (AD_NETWORK === "bigabid") {
262
- trackBigabidEvent("mraid_viewable");
263
- }
264
- if (AD_NETWORK === "inmobi") {
265
- trackInMobiEvent("Ad_Load_Start");
266
- }
267
- if (AD_NETWORK === "applovin") {
268
- trackApplovinEvent("LOADING");
269
- }
270
- });
271
- sdk.once("start", () => {
272
- if (AD_NETWORK === "bigabid") {
273
- trackBigabidEvent("game_viewable");
274
- }
275
- if (AD_NETWORK === "inmobi") {
276
- trackInMobiEvent("Ad_Viewable");
277
- startInMobiDurationTracking();
278
- }
279
- if (AD_NETWORK === "applovin") {
280
- trackApplovinEvent("LOADED");
281
- }
282
- });
283
- sdk.once("interactive", () => {
284
- if (AD_NETWORK === "applovin") {
285
- trackApplovinEvent("DISPLAYED");
286
- }
287
- });
288
- sdk.once("interaction", () => {
289
- if (AD_NETWORK === "bigabid") {
290
- trackBigabidEvent("engagement");
291
- }
292
- if (AD_NETWORK === "inmobi") {
293
- trackInMobiEvent("First_Engagement");
294
- }
295
- if (AD_NETWORK === "applovin") {
296
- trackApplovinEvent("CHALLENGE_STARTED");
297
- }
298
- });
299
- sdk.on("success", (successCount) => {
300
- checkInteractionProgress(successCount);
301
- });
302
- sdk.once("finish", () => {
303
- if (AD_NETWORK === "bigabid") {
304
- trackBigabidComplete();
305
- }
306
- if (AD_NETWORK === "inmobi") {
307
- trackInMobiEvent("Gameplay_Complete");
308
- clearInMobiDurationTracking();
309
- }
310
- if (AD_NETWORK === "applovin") {
311
- trackApplovinEvent("ENDCARD_SHOWN");
312
- }
313
- });
314
- sdk.on("install", () => {
315
- if (AD_NETWORK === "bigabid") {
316
- trackBigabidEvent("click");
317
- }
318
- if (AD_NETWORK === "inmobi") {
319
- trackInMobiEvent("DSP_Click");
320
- clearInMobiDurationTracking();
321
- }
322
- if (AD_NETWORK === "applovin") {
323
- trackApplovinEvent("CTA_CLICKED");
324
- }
325
- });
326
- sdk.once("retry", () => {
327
- if (AD_NETWORK === "applovin") {
328
- trackApplovinEvent("CHALLENGE_RETRY");
329
- }
330
- });
423
+ sdk.once("init", tracking.onInit);
424
+ sdk.once("start", tracking.onStart);
425
+ sdk.once("interactive", tracking.onInteractive);
426
+ sdk.once("interaction", tracking.onInteraction);
427
+ sdk.on("success", tracking.onSuccess);
428
+ sdk.once("finish", tracking.onFinish);
429
+ sdk.on("install", tracking.onInstall);
430
+ sdk.once("retry", tracking.onRetry);
331
431
  }
332
432
 
333
433
  // src/assets/images.ts
@@ -957,7 +1057,7 @@
957
1057
  if (isSDKInitialized) return;
958
1058
  if (callback) initCallback = callback;
959
1059
  if ((options == null ? void 0 : options.totalSuccessCount) && options.totalSuccessCount > 0) {
960
- setTotalInteractions(options.totalSuccessCount);
1060
+ tracking.setTotalInteractions(options.totalSuccessCount);
961
1061
  }
962
1062
  initTrackingProtocols();
963
1063
  document.readyState === "loading" ? window.addEventListener("DOMContentLoaded", initSDK) : initSDK();
@@ -1226,7 +1326,7 @@
1226
1326
  * }
1227
1327
  */
1228
1328
  static recordSuccess() {
1229
- trackChallengeSuccess();
1329
+ tracking.trackChallengeSuccess();
1230
1330
  }
1231
1331
  /**
1232
1332
  * Records a game failure event.
@@ -1240,7 +1340,7 @@
1240
1340
  * }
1241
1341
  */
1242
1342
  static recordFailed() {
1243
- trackChallengeFailed();
1343
+ tracking.trackChallengeFailed();
1244
1344
  }
1245
1345
  /**
1246
1346
  * Forces the playable ad into a paused state.
package/dist/index.d.mts CHANGED
@@ -279,4 +279,138 @@ declare function hideWechatGuide(): void;
279
279
  */
280
280
  declare function removeWechatGuide(): void;
281
281
 
282
- export { sdk as default, hideWechatGuide, removeWechatGuide, sdk, showWechatGuide };
282
+ /**
283
+ * 设置交互总数
284
+ */
285
+ declare function setTotalInteractions(total: number): void;
286
+ /**
287
+ * 检查交互进度,触发对应里程碑
288
+ */
289
+ declare function checkInteractionProgress(currentInteractions: number): void;
290
+ /**
291
+ * init 事件:SDK 初始化开始
292
+ * 渠道埋点: Bigabid:mraid_viewable | InMobi:Ad_Load_Start | AppLovin:LOADING
293
+ * 同时初始化进度里程碑
294
+ * @param adNetwork - 可选的广告渠道名称,不传则使用全局 AD_NETWORK
295
+ */
296
+ declare function _onInit(adNetwork?: string): void;
297
+ /**
298
+ * start 事件:游戏资源加载完成
299
+ * 渠道埋点: Bigabid:game_viewable | InMobi:Ad_Viewable | AppLovin:LOADED
300
+ * @param adNetwork - 可选的广告渠道名称,不传则使用全局 AD_NETWORK
301
+ */
302
+ declare function _onStart(adNetwork?: string): void;
303
+ /**
304
+ * interactive 事件:主场景就绪,用户可交互
305
+ * 渠道埋点: AppLovin:DISPLAYED
306
+ * @param adNetwork - 可选的广告渠道名称,不传则使用全局 AD_NETWORK
307
+ */
308
+ declare function _onInteractive(adNetwork?: string): void;
309
+ /**
310
+ * interaction 事件:首次交互
311
+ * 渠道埋点: Bigabid:engagement | InMobi:First_Engagement | AppLovin:CHALLENGE_STARTED
312
+ * @param adNetwork - 可选的广告渠道名称,不传则使用全局 AD_NETWORK
313
+ */
314
+ declare function _onInteraction(adNetwork?: string): void;
315
+ /**
316
+ * success 事件:成功计数(用于进度百分比追踪)
317
+ */
318
+ declare function _onSuccess(successCount: number): void;
319
+ /**
320
+ * finish 事件:游戏结束
321
+ * 渠道埋点: Bigabid:complete | InMobi:Gameplay_Complete | AppLovin:ENDCARD_SHOWN
322
+ * @param adNetwork - 可选的广告渠道名称,不传则使用全局 AD_NETWORK
323
+ */
324
+ declare function _onFinish(adNetwork?: string): void;
325
+ /**
326
+ * install 事件:点击安装
327
+ * 渠道埋点: Bigabid:click | InMobi:DSP_Click | AppLovin:CTA_CLICKED
328
+ * @param adNetwork - 可选的广告渠道名称,不传则使用全局 AD_NETWORK
329
+ */
330
+ declare function _onInstall(adNetwork?: string): void;
331
+ /**
332
+ * retry 事件:重试游戏
333
+ * 渠道埋点: AppLovin:CHALLENGE_RETRY
334
+ * @param adNetwork - 可选的广告渠道名称,不传则使用全局 AD_NETWORK
335
+ */
336
+ declare function _onRetry(adNetwork?: string): void;
337
+ /**
338
+ * 触发游戏成功事件
339
+ * 不同渠道发送对应的成功埋点
340
+ * @param adNetwork - 可选的广告渠道名称,不传则使用全局 AD_NETWORK
341
+ */
342
+ declare function _trackChallengeSuccess(adNetwork?: string): void;
343
+ /**
344
+ * 触发游戏失败事件
345
+ * 不同渠道发送对应的失败埋点
346
+ * @param adNetwork - 可选的广告渠道名称,不传则使用全局 AD_NETWORK
347
+ */
348
+ declare function _trackChallengeFailed(adNetwork?: string): void;
349
+ /**
350
+ * 统一的埋点追踪对象
351
+ * 包含所有 SDK 事件的埋点方法
352
+ */
353
+ declare const tracking: {
354
+ /**
355
+ * SDK 初始化开始
356
+ * @param adNetwork - 可选的广告渠道名称
357
+ */
358
+ onInit: typeof _onInit;
359
+ /**
360
+ * 游戏资源加载完成
361
+ * @param adNetwork - 可选的广告渠道名称
362
+ */
363
+ onStart: typeof _onStart;
364
+ /**
365
+ * 主场景就绪,用户可交互
366
+ * @param adNetwork - 可选的广告渠道名称
367
+ */
368
+ onInteractive: typeof _onInteractive;
369
+ /**
370
+ * 首次交互
371
+ * @param adNetwork - 可选的广告渠道名称
372
+ */
373
+ onInteraction: typeof _onInteraction;
374
+ /**
375
+ * 成功计数(用于进度百分比追踪)
376
+ * @param successCount - 当前成功次数
377
+ */
378
+ onSuccess: typeof _onSuccess;
379
+ /**
380
+ * 游戏结束
381
+ * @param adNetwork - 可选的广告渠道名称
382
+ */
383
+ onFinish: typeof _onFinish;
384
+ /**
385
+ * 点击安装
386
+ * @param adNetwork - 可选的广告渠道名称
387
+ */
388
+ onInstall: typeof _onInstall;
389
+ /**
390
+ * 重试游戏
391
+ * @param adNetwork - 可选的广告渠道名称
392
+ */
393
+ onRetry: typeof _onRetry;
394
+ /**
395
+ * 设置交互总数(用于进度百分比计算)
396
+ * @param total - 交互总数
397
+ */
398
+ setTotalInteractions: typeof setTotalInteractions;
399
+ /**
400
+ * 检查交互进度
401
+ * @param currentInteractions - 当前交互次数
402
+ */
403
+ checkInteractionProgress: typeof checkInteractionProgress;
404
+ /**
405
+ * 触发游戏成功事件
406
+ * @param adNetwork - 可选的广告渠道名称
407
+ */
408
+ trackChallengeSuccess: typeof _trackChallengeSuccess;
409
+ /**
410
+ * 触发游戏失败事件
411
+ * @param adNetwork - 可选的广告渠道名称
412
+ */
413
+ trackChallengeFailed: typeof _trackChallengeFailed;
414
+ };
415
+
416
+ export { sdk as default, hideWechatGuide, removeWechatGuide, sdk, showWechatGuide, tracking };
package/dist/index.d.ts CHANGED
@@ -279,4 +279,138 @@ declare function hideWechatGuide(): void;
279
279
  */
280
280
  declare function removeWechatGuide(): void;
281
281
 
282
- export { sdk as default, hideWechatGuide, removeWechatGuide, sdk, showWechatGuide };
282
+ /**
283
+ * 设置交互总数
284
+ */
285
+ declare function setTotalInteractions(total: number): void;
286
+ /**
287
+ * 检查交互进度,触发对应里程碑
288
+ */
289
+ declare function checkInteractionProgress(currentInteractions: number): void;
290
+ /**
291
+ * init 事件:SDK 初始化开始
292
+ * 渠道埋点: Bigabid:mraid_viewable | InMobi:Ad_Load_Start | AppLovin:LOADING
293
+ * 同时初始化进度里程碑
294
+ * @param adNetwork - 可选的广告渠道名称,不传则使用全局 AD_NETWORK
295
+ */
296
+ declare function _onInit(adNetwork?: string): void;
297
+ /**
298
+ * start 事件:游戏资源加载完成
299
+ * 渠道埋点: Bigabid:game_viewable | InMobi:Ad_Viewable | AppLovin:LOADED
300
+ * @param adNetwork - 可选的广告渠道名称,不传则使用全局 AD_NETWORK
301
+ */
302
+ declare function _onStart(adNetwork?: string): void;
303
+ /**
304
+ * interactive 事件:主场景就绪,用户可交互
305
+ * 渠道埋点: AppLovin:DISPLAYED
306
+ * @param adNetwork - 可选的广告渠道名称,不传则使用全局 AD_NETWORK
307
+ */
308
+ declare function _onInteractive(adNetwork?: string): void;
309
+ /**
310
+ * interaction 事件:首次交互
311
+ * 渠道埋点: Bigabid:engagement | InMobi:First_Engagement | AppLovin:CHALLENGE_STARTED
312
+ * @param adNetwork - 可选的广告渠道名称,不传则使用全局 AD_NETWORK
313
+ */
314
+ declare function _onInteraction(adNetwork?: string): void;
315
+ /**
316
+ * success 事件:成功计数(用于进度百分比追踪)
317
+ */
318
+ declare function _onSuccess(successCount: number): void;
319
+ /**
320
+ * finish 事件:游戏结束
321
+ * 渠道埋点: Bigabid:complete | InMobi:Gameplay_Complete | AppLovin:ENDCARD_SHOWN
322
+ * @param adNetwork - 可选的广告渠道名称,不传则使用全局 AD_NETWORK
323
+ */
324
+ declare function _onFinish(adNetwork?: string): void;
325
+ /**
326
+ * install 事件:点击安装
327
+ * 渠道埋点: Bigabid:click | InMobi:DSP_Click | AppLovin:CTA_CLICKED
328
+ * @param adNetwork - 可选的广告渠道名称,不传则使用全局 AD_NETWORK
329
+ */
330
+ declare function _onInstall(adNetwork?: string): void;
331
+ /**
332
+ * retry 事件:重试游戏
333
+ * 渠道埋点: AppLovin:CHALLENGE_RETRY
334
+ * @param adNetwork - 可选的广告渠道名称,不传则使用全局 AD_NETWORK
335
+ */
336
+ declare function _onRetry(adNetwork?: string): void;
337
+ /**
338
+ * 触发游戏成功事件
339
+ * 不同渠道发送对应的成功埋点
340
+ * @param adNetwork - 可选的广告渠道名称,不传则使用全局 AD_NETWORK
341
+ */
342
+ declare function _trackChallengeSuccess(adNetwork?: string): void;
343
+ /**
344
+ * 触发游戏失败事件
345
+ * 不同渠道发送对应的失败埋点
346
+ * @param adNetwork - 可选的广告渠道名称,不传则使用全局 AD_NETWORK
347
+ */
348
+ declare function _trackChallengeFailed(adNetwork?: string): void;
349
+ /**
350
+ * 统一的埋点追踪对象
351
+ * 包含所有 SDK 事件的埋点方法
352
+ */
353
+ declare const tracking: {
354
+ /**
355
+ * SDK 初始化开始
356
+ * @param adNetwork - 可选的广告渠道名称
357
+ */
358
+ onInit: typeof _onInit;
359
+ /**
360
+ * 游戏资源加载完成
361
+ * @param adNetwork - 可选的广告渠道名称
362
+ */
363
+ onStart: typeof _onStart;
364
+ /**
365
+ * 主场景就绪,用户可交互
366
+ * @param adNetwork - 可选的广告渠道名称
367
+ */
368
+ onInteractive: typeof _onInteractive;
369
+ /**
370
+ * 首次交互
371
+ * @param adNetwork - 可选的广告渠道名称
372
+ */
373
+ onInteraction: typeof _onInteraction;
374
+ /**
375
+ * 成功计数(用于进度百分比追踪)
376
+ * @param successCount - 当前成功次数
377
+ */
378
+ onSuccess: typeof _onSuccess;
379
+ /**
380
+ * 游戏结束
381
+ * @param adNetwork - 可选的广告渠道名称
382
+ */
383
+ onFinish: typeof _onFinish;
384
+ /**
385
+ * 点击安装
386
+ * @param adNetwork - 可选的广告渠道名称
387
+ */
388
+ onInstall: typeof _onInstall;
389
+ /**
390
+ * 重试游戏
391
+ * @param adNetwork - 可选的广告渠道名称
392
+ */
393
+ onRetry: typeof _onRetry;
394
+ /**
395
+ * 设置交互总数(用于进度百分比计算)
396
+ * @param total - 交互总数
397
+ */
398
+ setTotalInteractions: typeof setTotalInteractions;
399
+ /**
400
+ * 检查交互进度
401
+ * @param currentInteractions - 当前交互次数
402
+ */
403
+ checkInteractionProgress: typeof checkInteractionProgress;
404
+ /**
405
+ * 触发游戏成功事件
406
+ * @param adNetwork - 可选的广告渠道名称
407
+ */
408
+ trackChallengeSuccess: typeof _trackChallengeSuccess;
409
+ /**
410
+ * 触发游戏失败事件
411
+ * @param adNetwork - 可选的广告渠道名称
412
+ */
413
+ trackChallengeFailed: typeof _trackChallengeFailed;
414
+ };
415
+
416
+ export { sdk as default, hideWechatGuide, removeWechatGuide, sdk, showWechatGuide, tracking };