@chiyou/minigame-framework 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (114) hide show
  1. package/README.md +66 -0
  2. package/dist/Framework/Adapter/AdAdapter/AbsAdAdapter.d.ts +78 -0
  3. package/dist/Framework/Adapter/AdAdapter/AbsAdAdapter.js +230 -0
  4. package/dist/Framework/Adapter/AdAdapter/AdAdapterBilibili.d.ts +31 -0
  5. package/dist/Framework/Adapter/AdAdapter/AdAdapterBilibili.js +224 -0
  6. package/dist/Framework/Adapter/AdAdapter/AdAdapterDouYin.d.ts +34 -0
  7. package/dist/Framework/Adapter/AdAdapter/AdAdapterDouYin.js +524 -0
  8. package/dist/Framework/Adapter/AdAdapter/AdAdapterHonor.d.ts +34 -0
  9. package/dist/Framework/Adapter/AdAdapter/AdAdapterHonor.js +631 -0
  10. package/dist/Framework/Adapter/AdAdapter/AdAdapterHuaWei.d.ts +33 -0
  11. package/dist/Framework/Adapter/AdAdapter/AdAdapterHuaWei.js +460 -0
  12. package/dist/Framework/Adapter/AdAdapter/AdAdapterJingDong.d.ts +31 -0
  13. package/dist/Framework/Adapter/AdAdapter/AdAdapterJingDong.js +227 -0
  14. package/dist/Framework/Adapter/AdAdapter/AdAdapterKuaiShou.d.ts +33 -0
  15. package/dist/Framework/Adapter/AdAdapter/AdAdapterKuaiShou.js +458 -0
  16. package/dist/Framework/Adapter/AdAdapter/AdAdapterOppo.d.ts +35 -0
  17. package/dist/Framework/Adapter/AdAdapter/AdAdapterOppo.js +770 -0
  18. package/dist/Framework/Adapter/AdAdapter/AdAdapterTapTap.d.ts +33 -0
  19. package/dist/Framework/Adapter/AdAdapter/AdAdapterTapTap.js +519 -0
  20. package/dist/Framework/Adapter/AdAdapter/AdAdapterVivo.d.ts +33 -0
  21. package/dist/Framework/Adapter/AdAdapter/AdAdapterVivo.js +492 -0
  22. package/dist/Framework/Adapter/AdAdapter/AdAdapterWeiXin.d.ts +33 -0
  23. package/dist/Framework/Adapter/AdAdapter/AdAdapterWeiXin.js +695 -0
  24. package/dist/Framework/Adapter/AdAdapter/AdAdapterXiaoMi.d.ts +34 -0
  25. package/dist/Framework/Adapter/AdAdapter/AdAdapterXiaoMi.js +597 -0
  26. package/dist/Framework/Adapter/AdAdapter/AdAdapterZhiFuBao.d.ts +33 -0
  27. package/dist/Framework/Adapter/AdAdapter/AdAdapterZhiFuBao.js +458 -0
  28. package/dist/Framework/Adapter/PlatformAdapter/AbsPlatformAdapter.d.ts +51 -0
  29. package/dist/Framework/Adapter/PlatformAdapter/AbsPlatformAdapter.js +17 -0
  30. package/dist/Framework/Adapter/PlatformAdapter/PlatformAdapterBilibili.d.ts +45 -0
  31. package/dist/Framework/Adapter/PlatformAdapter/PlatformAdapterBilibili.js +555 -0
  32. package/dist/Framework/Adapter/PlatformAdapter/PlatformAdapterDesktopBrowser.d.ts +44 -0
  33. package/dist/Framework/Adapter/PlatformAdapter/PlatformAdapterDesktopBrowser.js +148 -0
  34. package/dist/Framework/Adapter/PlatformAdapter/PlatformAdapterDouYin.d.ts +48 -0
  35. package/dist/Framework/Adapter/PlatformAdapter/PlatformAdapterDouYin.js +715 -0
  36. package/dist/Framework/Adapter/PlatformAdapter/PlatformAdapterHonor.d.ts +44 -0
  37. package/dist/Framework/Adapter/PlatformAdapter/PlatformAdapterHonor.js +296 -0
  38. package/dist/Framework/Adapter/PlatformAdapter/PlatformAdapterHuaWei.d.ts +45 -0
  39. package/dist/Framework/Adapter/PlatformAdapter/PlatformAdapterHuaWei.js +284 -0
  40. package/dist/Framework/Adapter/PlatformAdapter/PlatformAdapterJingDong.d.ts +44 -0
  41. package/dist/Framework/Adapter/PlatformAdapter/PlatformAdapterJingDong.js +283 -0
  42. package/dist/Framework/Adapter/PlatformAdapter/PlatformAdapterKuaiShou.d.ts +43 -0
  43. package/dist/Framework/Adapter/PlatformAdapter/PlatformAdapterKuaiShou.js +406 -0
  44. package/dist/Framework/Adapter/PlatformAdapter/PlatformAdapterOppo.d.ts +43 -0
  45. package/dist/Framework/Adapter/PlatformAdapter/PlatformAdapterOppo.js +248 -0
  46. package/dist/Framework/Adapter/PlatformAdapter/PlatformAdapterTapTap.d.ts +44 -0
  47. package/dist/Framework/Adapter/PlatformAdapter/PlatformAdapterTapTap.js +517 -0
  48. package/dist/Framework/Adapter/PlatformAdapter/PlatformAdapterVivo.d.ts +44 -0
  49. package/dist/Framework/Adapter/PlatformAdapter/PlatformAdapterVivo.js +295 -0
  50. package/dist/Framework/Adapter/PlatformAdapter/PlatformAdapterWeiXin.d.ts +55 -0
  51. package/dist/Framework/Adapter/PlatformAdapter/PlatformAdapterWeiXin.js +964 -0
  52. package/dist/Framework/Adapter/PlatformAdapter/PlatformAdapterXiaoMi.d.ts +44 -0
  53. package/dist/Framework/Adapter/PlatformAdapter/PlatformAdapterXiaoMi.js +295 -0
  54. package/dist/Framework/Adapter/PlatformAdapter/PlatformAdapterZhiFuBao.d.ts +44 -0
  55. package/dist/Framework/Adapter/PlatformAdapter/PlatformAdapterZhiFuBao.js +393 -0
  56. package/dist/Framework/Definition/AdDefinition.d.ts +130 -0
  57. package/dist/Framework/Definition/AdDefinition.js +208 -0
  58. package/dist/Framework/Definition/FrameworkBase.d.ts +13 -0
  59. package/dist/Framework/Definition/FrameworkBase.js +23 -0
  60. package/dist/Framework/Definition/PrivacyDefinition.d.ts +51 -0
  61. package/dist/Framework/Definition/PrivacyDefinition.js +70 -0
  62. package/dist/Framework/Definition/SocialDefinition.d.ts +16 -0
  63. package/dist/Framework/Definition/SocialDefinition.js +2 -0
  64. package/dist/Framework/Definition/SystemDefinition.d.ts +43 -0
  65. package/dist/Framework/Definition/SystemDefinition.js +28 -0
  66. package/dist/Framework/Definition/UIDefinition.d.ts +6 -0
  67. package/dist/Framework/Definition/UIDefinition.js +7 -0
  68. package/dist/Framework/Definition/UserDefinition.d.ts +14 -0
  69. package/dist/Framework/Definition/UserDefinition.js +10 -0
  70. package/dist/Framework/Manager/AdMgr.d.ts +57 -0
  71. package/dist/Framework/Manager/AdMgr.js +684 -0
  72. package/dist/Framework/Manager/AudioMgr.d.ts +28 -0
  73. package/dist/Framework/Manager/AudioMgr.js +265 -0
  74. package/dist/Framework/Manager/BaseMgr.d.ts +18 -0
  75. package/dist/Framework/Manager/BaseMgr.js +114 -0
  76. package/dist/Framework/Manager/EventMgr.d.ts +18 -0
  77. package/dist/Framework/Manager/EventMgr.js +90 -0
  78. package/dist/Framework/Manager/ExcelMgr.d.ts +24 -0
  79. package/dist/Framework/Manager/ExcelMgr.js +156 -0
  80. package/dist/Framework/Manager/LifeCycleMgr.d.ts +20 -0
  81. package/dist/Framework/Manager/LifeCycleMgr.js +110 -0
  82. package/dist/Framework/Manager/NodePoolMgr.d.ts +53 -0
  83. package/dist/Framework/Manager/NodePoolMgr.js +279 -0
  84. package/dist/Framework/Manager/PrivacyMgr.d.ts +15 -0
  85. package/dist/Framework/Manager/PrivacyMgr.js +176 -0
  86. package/dist/Framework/Manager/ResMgr.d.ts +49 -0
  87. package/dist/Framework/Manager/ResMgr.js +337 -0
  88. package/dist/Framework/Manager/SocialMgr.d.ts +23 -0
  89. package/dist/Framework/Manager/SocialMgr.js +220 -0
  90. package/dist/Framework/Manager/SystemMgr.d.ts +24 -0
  91. package/dist/Framework/Manager/SystemMgr.js +222 -0
  92. package/dist/Framework/Manager/TimerMgr.d.ts +11 -0
  93. package/dist/Framework/Manager/TimerMgr.js +63 -0
  94. package/dist/Framework/Manager/UIMgr.d.ts +33 -0
  95. package/dist/Framework/Manager/UIMgr.js +223 -0
  96. package/dist/Framework/Manager/UserMgr.d.ts +15 -0
  97. package/dist/Framework/Manager/UserMgr.js +148 -0
  98. package/dist/Framework/Utils/BezierUtils.d.ts +49 -0
  99. package/dist/Framework/Utils/BezierUtils.js +247 -0
  100. package/dist/Framework/Utils/CSVUtils.d.ts +35 -0
  101. package/dist/Framework/Utils/CSVUtils.js +341 -0
  102. package/dist/Framework/Utils/LogUtils.d.ts +7 -0
  103. package/dist/Framework/Utils/LogUtils.js +32 -0
  104. package/dist/Framework/Utils/NumberUtils.d.ts +16 -0
  105. package/dist/Framework/Utils/NumberUtils.js +44 -0
  106. package/dist/Framework/Utils/TaskUtils.d.ts +10 -0
  107. package/dist/Framework/Utils/TaskUtils.js +24 -0
  108. package/dist/Framework/Utils/TimeUtils.d.ts +19 -0
  109. package/dist/Framework/Utils/TimeUtils.js +33 -0
  110. package/dist/Framework/Utils/WXBizDataCryptUtils.d.ts +12 -0
  111. package/dist/Framework/Utils/WXBizDataCryptUtils.js +37 -0
  112. package/dist/index.d.ts +30 -0
  113. package/dist/index.js +35 -0
  114. package/package.json +40 -0
@@ -0,0 +1,458 @@
1
+ import { AbsAdAdapter, InterstitialAdStatus, RewardedVideoAdStatus } from './AbsAdAdapter';
2
+ import { LogUtils } from '../../Utils/LogUtils';
3
+ import { NumberUtils } from '../../Utils/NumberUtils';
4
+ import { AdDefinition, InterstitialAd_Callback_Status, RewardedVideoAd_Callback_Status } from '../../Definition/AdDefinition';
5
+ import { PlatformID } from '../../Definition/SystemDefinition';
6
+ class KSBannerAd {
7
+ constructor(adUnitId, ad, isFirstLoad) {
8
+ this.unitId = adUnitId;
9
+ this.ad = ad;
10
+ this.errorListener = null;
11
+ this.loadListener = null;
12
+ this.resizeListener = null;
13
+ this.closeListener = null;
14
+ this.isRecreating = false;
15
+ this.isFirstLoad = isFirstLoad;
16
+ }
17
+ destroy() {
18
+ if (this.ad !== null) {
19
+ if (this.errorListener !== null) {
20
+ this.ad.offError(this.errorListener);
21
+ this.errorListener = null;
22
+ }
23
+ if (this.loadListener !== null) {
24
+ this.ad.offLoad(this.loadListener);
25
+ this.loadListener = null;
26
+ }
27
+ if (this.resizeListener !== null) {
28
+ this.ad.offResize(this.resizeListener);
29
+ this.resizeListener = null;
30
+ }
31
+ if (this.closeListener !== null) {
32
+ this.ad.offClose(this.closeListener);
33
+ this.closeListener = null;
34
+ }
35
+ this.ad.destroy();
36
+ this.ad = null;
37
+ }
38
+ this.isRecreating = false;
39
+ }
40
+ }
41
+ class KSInterstitialAd {
42
+ constructor(adUnitId, callback) {
43
+ this.unitId = adUnitId;
44
+ this.ad = null;
45
+ this.status = InterstitialAdStatus.Status_Destroyed;
46
+ this.callback = callback;
47
+ this.errorListener = null;
48
+ this.closeListener = null;
49
+ this.isShowImmediately = false;
50
+ }
51
+ destroy() {
52
+ if (this.ad !== null) {
53
+ if (this.errorListener !== null) {
54
+ this.ad.offError(this.errorListener);
55
+ this.errorListener = null;
56
+ }
57
+ if (this.closeListener !== null) {
58
+ this.ad.offClose(this.closeListener);
59
+ this.closeListener = null;
60
+ }
61
+ this.ad.destroy();
62
+ this.ad = null;
63
+ }
64
+ this.isShowImmediately = false;
65
+ this.status = InterstitialAdStatus.Status_Destroyed;
66
+ }
67
+ }
68
+ class KSRewardedVideoAd {
69
+ constructor(adUnitId, callback) {
70
+ this.unitId = adUnitId;
71
+ this.ad = null;
72
+ this.status = RewardedVideoAdStatus.Status_Destroyed;
73
+ this.callback = callback;
74
+ this.errorListener = null;
75
+ this.closeListener = null;
76
+ this.isShowImmediately = false;
77
+ }
78
+ destroy() {
79
+ if (this.ad !== null) {
80
+ if (this.errorListener !== null) {
81
+ this.ad.offError(this.errorListener);
82
+ this.errorListener = null;
83
+ }
84
+ if (this.closeListener !== null) {
85
+ this.ad.offClose(this.closeListener);
86
+ this.closeListener = null;
87
+ }
88
+ this.ad.destroy();
89
+ this.ad = null;
90
+ }
91
+ this.isShowImmediately = false;
92
+ this.status = RewardedVideoAdStatus.Status_Destroyed;
93
+ }
94
+ }
95
+ export class AdAdapterKuaiShou extends AbsAdAdapter {
96
+ constructor() {
97
+ super(...arguments);
98
+ this.ksInterstitialAd = null;
99
+ this.ksRewardedVideoAd = null;
100
+ this.ksBannerAds = [];
101
+ }
102
+ init(interstitialAdUnitId, interstitialAdCallback, rewardedVideoAdUnitId, rewardedVideoAdCallback) {
103
+ LogUtils.Instance.log(AdAdapterKuaiShou.TAG, "init()");
104
+ this.ksInterstitialAd = new KSInterstitialAd(interstitialAdUnitId, interstitialAdCallback);
105
+ this.ksRewardedVideoAd = new KSRewardedVideoAd(rewardedVideoAdUnitId, rewardedVideoAdCallback);
106
+ this.ksBannerAds = [];
107
+ }
108
+ createBannerAd(adUnitId) {
109
+ LogUtils.Instance.log(AdAdapterKuaiShou.TAG, "createBannerAd()");
110
+ let systemInfo = window["ks"].getSystemInfoSync();
111
+ if (systemInfo === null) {
112
+ return false;
113
+ }
114
+ let version = systemInfo.version;
115
+ let platform = systemInfo.platform;
116
+ let supportAPI = false;
117
+ if (platform === "ios" && NumberUtils.compareVersion(version, "12.10.40") >= 0) {
118
+ supportAPI = true;
119
+ }
120
+ else if (platform === "android" && NumberUtils.compareVersion(version, "12.10.30") >= 0) {
121
+ supportAPI = true;
122
+ }
123
+ if (!supportAPI) {
124
+ return false;
125
+ }
126
+ let isFirstLoad = true;
127
+ for (let i = 0; i < this.ksBannerAds.length; i++) {
128
+ if (this.ksBannerAds[i].unitId === adUnitId) {
129
+ isFirstLoad = this.ksBannerAds[i].isFirstLoad;
130
+ break;
131
+ }
132
+ }
133
+ this.destroyBannerAd(adUnitId);
134
+ LogUtils.Instance.log(AdAdapterKuaiShou.TAG, "createBannerAd() adUnitId=" + adUnitId);
135
+ let bannerAdInfo = AdDefinition.AdInfoConfig.BannerAd_Info;
136
+ if (bannerAdInfo === null || !bannerAdInfo.shouldShow) {
137
+ return false;
138
+ }
139
+ let bannerAdPlatformInfo = AdDefinition.BannerAdStyleConfig.get(PlatformID.ID_MiniGame_KuaiShou);
140
+ if (bannerAdPlatformInfo === null) {
141
+ return false;
142
+ }
143
+ let bannerAdPosition = this.calcBannerAdPosition(bannerAdInfo, bannerAdPlatformInfo);
144
+ let bannerAdParam = {
145
+ adUnitId: adUnitId,
146
+ style: {
147
+ width: bannerAdPosition.realWidth,
148
+ height: bannerAdPosition.realHeight,
149
+ left: bannerAdPosition.left,
150
+ top: bannerAdPosition.top,
151
+ },
152
+ };
153
+ if (bannerAdPlatformInfo.canAutoRefresh) {
154
+ bannerAdParam.adIntervals = bannerAdPlatformInfo.refreshInterval;
155
+ }
156
+ let bannerAd = window["ks"].createBannerAd(bannerAdParam);
157
+ LogUtils.Instance.log(AdAdapterKuaiShou.TAG, "ks.createBannerAd() " + (bannerAd !== null ? "success" : "fail"));
158
+ LogUtils.Instance.log("", bannerAd);
159
+ if (!bannerAd) {
160
+ return false;
161
+ }
162
+ let ksBannerAd = new KSBannerAd(adUnitId, bannerAd, isFirstLoad);
163
+ this.ksBannerAds.push(ksBannerAd);
164
+ ksBannerAd.errorListener = (err) => {
165
+ LogUtils.Instance.log(AdAdapterKuaiShou.TAG, "ksBannerAd.ad.onError()");
166
+ if (err) {
167
+ LogUtils.Instance.log("", err);
168
+ }
169
+ if (!ksBannerAd.isRecreating) {
170
+ ksBannerAd.isRecreating = true;
171
+ this.scheduleOnce(() => {
172
+ ksBannerAd.isRecreating = false;
173
+ this.createBannerAd(adUnitId);
174
+ }, 15);
175
+ }
176
+ };
177
+ ksBannerAd.ad.onError(ksBannerAd.errorListener);
178
+ ksBannerAd.loadListener = () => {
179
+ LogUtils.Instance.log(AdAdapterKuaiShou.TAG, "ksBannerAd.ad.onLoad()");
180
+ if (ksBannerAd.isFirstLoad) {
181
+ ksBannerAd.isFirstLoad = false;
182
+ }
183
+ };
184
+ ksBannerAd.ad.onLoad(ksBannerAd.loadListener);
185
+ ksBannerAd.resizeListener = (res) => {
186
+ LogUtils.Instance.log(AdAdapterKuaiShou.TAG, "ksBannerAd.ad.onResize()");
187
+ if (res) {
188
+ LogUtils.Instance.log("", res);
189
+ }
190
+ };
191
+ ksBannerAd.ad.onResize(ksBannerAd.resizeListener);
192
+ ksBannerAd.closeListener = () => {
193
+ LogUtils.Instance.log(AdAdapterKuaiShou.TAG, "ksBannerAd.ad.onClose()");
194
+ };
195
+ ksBannerAd.ad.onClose(ksBannerAd.closeListener);
196
+ if (!bannerAdPlatformInfo.canAutoRefresh) {
197
+ if (!ksBannerAd.isRecreating) {
198
+ ksBannerAd.isRecreating = true;
199
+ this.scheduleOnce(() => {
200
+ ksBannerAd.isRecreating = false;
201
+ this.createBannerAd(adUnitId);
202
+ }, bannerAdPlatformInfo.refreshInterval);
203
+ }
204
+ }
205
+ // 快手需开启show后onLoad才会触发
206
+ if (ksBannerAd.isFirstLoad || this.adMgr.isPermanentAdShowing()) {
207
+ LogUtils.Instance.log(AdAdapterKuaiShou.TAG, "ksBannerAd.ad.show()");
208
+ ksBannerAd.ad.show();
209
+ }
210
+ return true;
211
+ }
212
+ destroyBannerAd(adUnitId) {
213
+ LogUtils.Instance.log(AdAdapterKuaiShou.TAG, "destroyBannerAd(): adUnitId=" + adUnitId);
214
+ let index = -1;
215
+ for (let i = 0; i < this.ksBannerAds.length; i++) {
216
+ if (this.ksBannerAds[i].unitId === adUnitId) {
217
+ index = i;
218
+ break;
219
+ }
220
+ }
221
+ if (index >= 0) {
222
+ this.ksBannerAds[index].destroy();
223
+ this.ksBannerAds.splice(index, 1);
224
+ }
225
+ }
226
+ showBannerAd(adUnitId) {
227
+ LogUtils.Instance.log(AdAdapterKuaiShou.TAG, "showBannerAd(): adUnitId=" + adUnitId);
228
+ // KS有频控限制,故不做处理
229
+ // for (let i = 0; i < this.ksBannerAds.length; i++) {
230
+ // if (this.ksBannerAds[i].unitId === adUnitId) {
231
+ // this.ksBannerAds[i].ad.show();
232
+ // break;
233
+ // }
234
+ // }
235
+ }
236
+ hideBannerAd(adUnitId) {
237
+ LogUtils.Instance.log(AdAdapterKuaiShou.TAG, "hideBannerAd(): adUnitId=" + adUnitId);
238
+ // KS有频控限制,故不做处理
239
+ // for (let i = 0; i < this.ksBannerAds.length; i++) {
240
+ // if (this.ksBannerAds[i].unitId === adUnitId) {
241
+ // this.ksBannerAds[i].ad.hide();
242
+ // break;
243
+ // }
244
+ // }
245
+ }
246
+ createInterstitialAd() {
247
+ this.destroyInterstitialAd();
248
+ LogUtils.Instance.log(AdAdapterKuaiShou.TAG, "createInterstitialAd() adUnitId=" + this.ksInterstitialAd.unitId);
249
+ let interstitialAd = window["ks"].createInterstitialAd({
250
+ adUnitId: this.ksInterstitialAd.unitId
251
+ });
252
+ LogUtils.Instance.log("", "ks.createInterstitialAd() " + (interstitialAd !== null ? "success" : "fail"));
253
+ LogUtils.Instance.log("", interstitialAd);
254
+ if (!interstitialAd) {
255
+ this.ksInterstitialAd.status = InterstitialAdStatus.Status_Error;
256
+ this.ksInterstitialAd.callback(InterstitialAd_Callback_Status.Status_Error);
257
+ return;
258
+ }
259
+ this.ksInterstitialAd.ad = interstitialAd;
260
+ this.ksInterstitialAd.status = InterstitialAdStatus.Status_Init;
261
+ this.ksInterstitialAd.errorListener = (err) => {
262
+ LogUtils.Instance.log(AdAdapterKuaiShou.TAG, "ksInterstitialAd.ad.onError()");
263
+ if (err) {
264
+ LogUtils.Instance.log("", err);
265
+ }
266
+ if (this.ksInterstitialAd.status !== InterstitialAdStatus.Status_Watching) {
267
+ this.ksInterstitialAd.status = InterstitialAdStatus.Status_Error;
268
+ this.ksInterstitialAd.callback(InterstitialAd_Callback_Status.Status_Error);
269
+ }
270
+ };
271
+ this.ksInterstitialAd.ad.onError(this.ksInterstitialAd.errorListener);
272
+ this.ksInterstitialAd.closeListener = () => {
273
+ LogUtils.Instance.log(AdAdapterKuaiShou.TAG, "ksInterstitialAd.ad.onClose()");
274
+ this.ksInterstitialAd.status = InterstitialAdStatus.Status_Watched;
275
+ this.ksInterstitialAd.callback(InterstitialAd_Callback_Status.Status_Close);
276
+ };
277
+ this.ksInterstitialAd.ad.onClose(this.ksInterstitialAd.closeListener);
278
+ }
279
+ showInterstitialAd() {
280
+ LogUtils.Instance.log(AdAdapterKuaiShou.TAG, "showInterstitialAd()");
281
+ if (this.ksInterstitialAd.ad === null) {
282
+ return;
283
+ }
284
+ LogUtils.Instance.log(AdAdapterKuaiShou.TAG, "ksInterstitialAd.status=" + InterstitialAdStatus[this.ksInterstitialAd.status]);
285
+ switch (this.ksInterstitialAd.status) {
286
+ case InterstitialAdStatus.Status_Destroyed:
287
+ case InterstitialAdStatus.Status_Watching:
288
+ case InterstitialAdStatus.Status_StartToWatch:
289
+ break;
290
+ case InterstitialAdStatus.Status_Loaded:
291
+ case InterstitialAdStatus.Status_Watched:
292
+ case InterstitialAdStatus.Status_Error:
293
+ case InterstitialAdStatus.Status_Init:
294
+ this._showInterstitialAd();
295
+ break;
296
+ default:
297
+ break;
298
+ }
299
+ }
300
+ destroyInterstitialAd() {
301
+ LogUtils.Instance.log(AdAdapterKuaiShou.TAG, "destroyInterstitialAd()");
302
+ this.ksInterstitialAd.destroy();
303
+ }
304
+ isIntersititialAdShowing() {
305
+ if (this.ksInterstitialAd.ad === null) {
306
+ return false;
307
+ }
308
+ if (this.ksInterstitialAd.status === InterstitialAdStatus.Status_Watching) {
309
+ return true;
310
+ }
311
+ return false;
312
+ }
313
+ _loadInterstitialAd(isShowImmediately) {
314
+ }
315
+ _showInterstitialAd() {
316
+ let lastStatus = this.ksInterstitialAd.status;
317
+ this.ksInterstitialAd.status = InterstitialAdStatus.Status_StartToWatch;
318
+ LogUtils.Instance.log(AdAdapterKuaiShou.TAG, "ksInterstitialAd.ad.show()");
319
+ this.ksInterstitialAd.ad.show()
320
+ .then(() => {
321
+ LogUtils.Instance.log(AdAdapterKuaiShou.TAG, "ksInterstitialAd.ad.show() success");
322
+ if (this.ksInterstitialAd.status === InterstitialAdStatus.Status_StartToWatch) {
323
+ this.ksInterstitialAd.status = InterstitialAdStatus.Status_Watching;
324
+ this.ksInterstitialAd.callback(InterstitialAd_Callback_Status.Status_Watching);
325
+ }
326
+ }).catch((err) => {
327
+ LogUtils.Instance.log(AdAdapterKuaiShou.TAG, "ksInterstitialAd.ad.show() error");
328
+ if (err) {
329
+ LogUtils.Instance.log("", err);
330
+ }
331
+ if (this.ksInterstitialAd.status === InterstitialAdStatus.Status_StartToWatch) {
332
+ this.ksInterstitialAd.status = lastStatus;
333
+ }
334
+ });
335
+ }
336
+ createRewardedVideoAd() {
337
+ this.destroyRewardedVideoAd();
338
+ LogUtils.Instance.log(AdAdapterKuaiShou.TAG, "createRewardedVideoAd() adUnitId=" + this.ksRewardedVideoAd.unitId);
339
+ let rewardedVideoAd = window["ks"].createRewardedVideoAd({
340
+ adUnitId: this.ksRewardedVideoAd.unitId
341
+ });
342
+ LogUtils.Instance.log("", "ks.createRewardedVideoAd() " + (rewardedVideoAd !== null ? "success" : "fail"));
343
+ LogUtils.Instance.log("", rewardedVideoAd);
344
+ if (!rewardedVideoAd) {
345
+ this.ksRewardedVideoAd.status = RewardedVideoAdStatus.Status_Error;
346
+ this.ksRewardedVideoAd.callback(RewardedVideoAd_Callback_Status.Status_Error);
347
+ return;
348
+ }
349
+ this.ksRewardedVideoAd.ad = rewardedVideoAd;
350
+ this.ksRewardedVideoAd.status = RewardedVideoAdStatus.Status_Init;
351
+ this.ksRewardedVideoAd.errorListener = (err) => {
352
+ LogUtils.Instance.log(AdAdapterKuaiShou.TAG, "ksRewardedVideoAd.ad.onError()");
353
+ if (err) {
354
+ LogUtils.Instance.log("", err);
355
+ }
356
+ if (this.ksRewardedVideoAd.status !== RewardedVideoAdStatus.Status_Watching) {
357
+ this.ksRewardedVideoAd.status = RewardedVideoAdStatus.Status_Error;
358
+ this.ksRewardedVideoAd.callback(RewardedVideoAd_Callback_Status.Status_Error);
359
+ }
360
+ };
361
+ this.ksRewardedVideoAd.ad.onError(this.ksRewardedVideoAd.errorListener);
362
+ this.ksRewardedVideoAd.closeListener = (res) => {
363
+ let isEnded = (res !== null) ? res.isEnded : false;
364
+ LogUtils.Instance.log(AdAdapterKuaiShou.TAG, "ksRewardedVideoAd.ad.onClose()");
365
+ LogUtils.Instance.log("", "isEnded=" + isEnded);
366
+ this.ksRewardedVideoAd.status = RewardedVideoAdStatus.Status_Watched;
367
+ if (isEnded) {
368
+ this.ksRewardedVideoAd.callback(RewardedVideoAd_Callback_Status.Status_Complete);
369
+ }
370
+ else {
371
+ this.ksRewardedVideoAd.callback(RewardedVideoAd_Callback_Status.Status_Giveup);
372
+ }
373
+ };
374
+ this.ksRewardedVideoAd.ad.onClose(this.ksRewardedVideoAd.closeListener);
375
+ }
376
+ showRewardedVideoAd() {
377
+ LogUtils.Instance.log(AdAdapterKuaiShou.TAG, "showRewardedVideoAd()");
378
+ if (this.ksRewardedVideoAd.ad === null) {
379
+ return;
380
+ }
381
+ LogUtils.Instance.log(AdAdapterKuaiShou.TAG, "ksRewardedVideoAd.status=" + RewardedVideoAdStatus[this.ksRewardedVideoAd.status]);
382
+ switch (this.ksRewardedVideoAd.status) {
383
+ case RewardedVideoAdStatus.Status_Destroyed:
384
+ case RewardedVideoAdStatus.Status_Watching:
385
+ case RewardedVideoAdStatus.Status_StartToWatch:
386
+ break;
387
+ case RewardedVideoAdStatus.Status_Watched:
388
+ case RewardedVideoAdStatus.Status_Error:
389
+ case RewardedVideoAdStatus.Status_Init:
390
+ case RewardedVideoAdStatus.Status_Loaded:
391
+ this._showRewardedVideoAd();
392
+ break;
393
+ default:
394
+ break;
395
+ }
396
+ }
397
+ destroyRewardedVideoAd() {
398
+ LogUtils.Instance.log(AdAdapterKuaiShou.TAG, "destroyRewardedVideoAd()");
399
+ this.ksRewardedVideoAd.destroy();
400
+ }
401
+ isRewardedVideoAdLoaded() {
402
+ if (this.ksRewardedVideoAd.ad === null) {
403
+ return false;
404
+ }
405
+ // 强制返回true
406
+ return true;
407
+ }
408
+ isRewardedVideoAdShowing() {
409
+ if (this.ksRewardedVideoAd.ad === null) {
410
+ return false;
411
+ }
412
+ if (this.ksRewardedVideoAd.status === RewardedVideoAdStatus.Status_Watching) {
413
+ return true;
414
+ }
415
+ return false;
416
+ }
417
+ _loadRewardedVideoAd(isShowImmediately) {
418
+ }
419
+ _showRewardedVideoAd() {
420
+ let lastStatus = this.ksRewardedVideoAd.status;
421
+ this.ksRewardedVideoAd.status = RewardedVideoAdStatus.Status_StartToWatch;
422
+ LogUtils.Instance.log(AdAdapterKuaiShou.TAG, "ksRewardedVideoAd.ad.show()");
423
+ this.ksRewardedVideoAd.ad.show()
424
+ .then(() => {
425
+ LogUtils.Instance.log(AdAdapterKuaiShou.TAG, "ksRewardedVideoAd.ad.show() success");
426
+ if (this.ksRewardedVideoAd.status === RewardedVideoAdStatus.Status_StartToWatch) {
427
+ this.ksRewardedVideoAd.status = RewardedVideoAdStatus.Status_Watching;
428
+ this.ksRewardedVideoAd.callback(RewardedVideoAd_Callback_Status.Status_Watching);
429
+ }
430
+ }).catch((err) => {
431
+ LogUtils.Instance.log(AdAdapterKuaiShou.TAG, "ksRewardedVideoAd.ad.show() error");
432
+ if (err) {
433
+ LogUtils.Instance.log("", err);
434
+ }
435
+ if (this.ksRewardedVideoAd.status === RewardedVideoAdStatus.Status_StartToWatch) {
436
+ this.ksRewardedVideoAd.status = lastStatus;
437
+ }
438
+ });
439
+ }
440
+ createCustomAd(adUnitId) {
441
+ return false;
442
+ }
443
+ destroyCustomAd(adUnitId) {
444
+ }
445
+ showCustomAd(adUnitId) {
446
+ }
447
+ hideCustomAd(adUnitId) {
448
+ }
449
+ createPortalAd(adUnitId) {
450
+ }
451
+ destroyPortalAd(adUnitId) {
452
+ }
453
+ showPortalAd(adUnitId) {
454
+ }
455
+ hidePortalAd(adUnitId) {
456
+ }
457
+ }
458
+ AdAdapterKuaiShou.TAG = "AdAdapterKuaiShou";
@@ -0,0 +1,35 @@
1
+ import { AbsAdAdapter } from "./AbsAdAdapter";
2
+ export declare class AdAdapterOppo extends AbsAdAdapter {
3
+ static TAG: string;
4
+ private oppoInterstitialAd;
5
+ private oppoRewardedVideoAd;
6
+ private oppoBannerAds;
7
+ private oppoCustomAds;
8
+ private oppoPortalAds;
9
+ init(interstitialAdUnitId: string, interstitialAdCallback: Function, rewardedVideoAdUnitId: string, rewardedVideoAdCallback: Function): void;
10
+ createBannerAd(adUnitId: string): boolean;
11
+ destroyBannerAd(adUnitId: string): void;
12
+ showBannerAd(adUnitId: string): void;
13
+ hideBannerAd(adUnitId: string): void;
14
+ createInterstitialAd(): void;
15
+ showInterstitialAd(): void;
16
+ destroyInterstitialAd(): void;
17
+ isIntersititialAdShowing(): boolean;
18
+ protected _loadInterstitialAd(isShowImmediately: boolean): void;
19
+ protected _showInterstitialAd(): void;
20
+ createRewardedVideoAd(): void;
21
+ showRewardedVideoAd(): void;
22
+ destroyRewardedVideoAd(): void;
23
+ isRewardedVideoAdLoaded(): boolean;
24
+ isRewardedVideoAdShowing(): boolean;
25
+ protected _loadRewardedVideoAd(isShowImmediately: boolean): void;
26
+ protected _showRewardedVideoAd(): void;
27
+ createCustomAd(adUnitId: string): boolean;
28
+ destroyCustomAd(adUnitId: string): void;
29
+ showCustomAd(adUnitId: string): void;
30
+ hideCustomAd(adUnitId: string): void;
31
+ createPortalAd(adUnitId: string): void;
32
+ destroyPortalAd(adUnitId: string): void;
33
+ showPortalAd(adUnitId: string): void;
34
+ hidePortalAd(adUnitId: string): void;
35
+ }