@chiyou/minigame-framework 1.0.0 → 1.0.2

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 (152) hide show
  1. package/assets/AssetsPackage/GUI/Images/Block.png +0 -0
  2. package/assets/AssetsPackage/GUI/Images/Block.png.meta +134 -0
  3. package/assets/AssetsPackage/GUI/Images.meta +9 -0
  4. package/assets/AssetsPackage/GUI/UIPrefabs/ChessBoard_Card.prefab +509 -0
  5. package/assets/AssetsPackage/GUI/UIPrefabs/ChessBoard_Card.prefab.meta +13 -0
  6. package/assets/AssetsPackage/GUI/UIPrefabs.meta +9 -0
  7. package/assets/AssetsPackage/GUI.meta +11 -0
  8. package/assets/AssetsPackage/SpriteAtlas/Card_Pattern.plist +1106 -0
  9. package/assets/AssetsPackage/SpriteAtlas/Card_Pattern.plist.meta +3329 -0
  10. package/assets/AssetsPackage/SpriteAtlas/Card_Pattern.png +0 -0
  11. package/assets/AssetsPackage/SpriteAtlas/Card_Pattern.png.meta +134 -0
  12. package/assets/AssetsPackage/SpriteAtlas/SA_Card.plist +1196 -0
  13. package/assets/AssetsPackage/SpriteAtlas/SA_Card.plist.meta +3605 -0
  14. package/assets/AssetsPackage/SpriteAtlas/SA_Card.png +0 -0
  15. package/assets/AssetsPackage/SpriteAtlas/SA_Card.png.meta +134 -0
  16. package/assets/AssetsPackage/SpriteAtlas.meta +11 -0
  17. package/assets/AssetsPackage/SpriteFrame/Card_PatternType_Back.png +0 -0
  18. package/assets/AssetsPackage/SpriteFrame/Card_PatternType_Back.png.meta +134 -0
  19. package/assets/AssetsPackage/SpriteFrame/Card_TowardType_Back_BG.png +0 -0
  20. package/assets/AssetsPackage/SpriteFrame/Card_TowardType_Back_BG.png.meta +134 -0
  21. package/assets/AssetsPackage/SpriteFrame/Card_TowardType_Back_FG.png +0 -0
  22. package/assets/AssetsPackage/SpriteFrame/Card_TowardType_Back_FG.png.meta +134 -0
  23. package/assets/AssetsPackage/SpriteFrame/Card_TowardType_Front_BG.png +0 -0
  24. package/assets/AssetsPackage/SpriteFrame/Card_TowardType_Front_BG.png.meta +134 -0
  25. package/assets/AssetsPackage/SpriteFrame/Card_TowardType_Front_FG.png +0 -0
  26. package/assets/AssetsPackage/SpriteFrame/Card_TowardType_Front_FG.png.meta +134 -0
  27. package/assets/AssetsPackage/SpriteFrame.meta +11 -0
  28. package/assets/AssetsPackage.meta +9 -0
  29. package/assets/Scenes/Game.scene +831 -0
  30. package/assets/Scenes/Game.scene.meta +11 -0
  31. package/assets/Scenes.meta +9 -0
  32. package/assets/Scripts/Biz.meta +9 -0
  33. package/assets/Scripts/Framework/Adapter/AdAdapter/AbsAdAdapter.ts +312 -0
  34. package/assets/Scripts/Framework/Adapter/AdAdapter/AbsAdAdapter.ts.meta +9 -0
  35. package/assets/Scripts/Framework/Adapter/AdAdapter/AdAdapterBilibili.ts +294 -0
  36. package/assets/Scripts/Framework/Adapter/AdAdapter/AdAdapterBilibili.ts.meta +9 -0
  37. package/assets/Scripts/Framework/Adapter/AdAdapter/AdAdapterDouYin.ts +650 -0
  38. package/assets/Scripts/Framework/Adapter/AdAdapter/AdAdapterDouYin.ts.meta +9 -0
  39. package/assets/Scripts/Framework/Adapter/AdAdapter/AdAdapterHonor.ts +782 -0
  40. package/assets/Scripts/Framework/Adapter/AdAdapter/AdAdapterHonor.ts.meta +9 -0
  41. package/assets/Scripts/Framework/Adapter/AdAdapter/AdAdapterHuaWei.ts +582 -0
  42. package/assets/Scripts/Framework/Adapter/AdAdapter/AdAdapterHuaWei.ts.meta +9 -0
  43. package/assets/Scripts/Framework/Adapter/AdAdapter/AdAdapterJingDong.ts +298 -0
  44. package/assets/Scripts/Framework/Adapter/AdAdapter/AdAdapterJingDong.ts.meta +9 -0
  45. package/assets/Scripts/Framework/Adapter/AdAdapter/AdAdapterKuaiShou.ts +575 -0
  46. package/assets/Scripts/Framework/Adapter/AdAdapter/AdAdapterKuaiShou.ts.meta +9 -0
  47. package/assets/Scripts/Framework/Adapter/AdAdapter/AdAdapterOppo.ts +946 -0
  48. package/assets/Scripts/Framework/Adapter/AdAdapter/AdAdapterOppo.ts.meta +9 -0
  49. package/assets/Scripts/Framework/Adapter/AdAdapter/AdAdapterTapTap.ts +643 -0
  50. package/assets/Scripts/Framework/Adapter/AdAdapter/AdAdapterTapTap.ts.meta +9 -0
  51. package/assets/Scripts/Framework/Adapter/AdAdapter/AdAdapterVivo.ts +616 -0
  52. package/assets/Scripts/Framework/Adapter/AdAdapter/AdAdapterVivo.ts.meta +9 -0
  53. package/assets/Scripts/Framework/Adapter/AdAdapter/AdAdapterWeiXin.ts +847 -0
  54. package/assets/Scripts/Framework/Adapter/AdAdapter/AdAdapterWeiXin.ts.meta +9 -0
  55. package/assets/Scripts/Framework/Adapter/AdAdapter/AdAdapterXiaoMi.ts +747 -0
  56. package/assets/Scripts/Framework/Adapter/AdAdapter/AdAdapterXiaoMi.ts.meta +9 -0
  57. package/assets/Scripts/Framework/Adapter/AdAdapter/AdAdapterZhiFuBao.ts +579 -0
  58. package/assets/Scripts/Framework/Adapter/AdAdapter/AdAdapterZhiFuBao.ts.meta +9 -0
  59. package/assets/Scripts/Framework/Adapter/AdAdapter.meta +9 -0
  60. package/assets/Scripts/Framework/Adapter/PlatformAdapter/AbsPlatformAdapter.ts +102 -0
  61. package/assets/Scripts/Framework/Adapter/PlatformAdapter/AbsPlatformAdapter.ts.meta +9 -0
  62. package/assets/Scripts/Framework/Adapter/PlatformAdapter/PlatformAdapterBilibili.ts +660 -0
  63. package/assets/Scripts/Framework/Adapter/PlatformAdapter/PlatformAdapterBilibili.ts.meta +9 -0
  64. package/assets/Scripts/Framework/Adapter/PlatformAdapter/PlatformAdapterDesktopBrowser.ts +224 -0
  65. package/assets/Scripts/Framework/Adapter/PlatformAdapter/PlatformAdapterDesktopBrowser.ts.meta +9 -0
  66. package/assets/Scripts/Framework/Adapter/PlatformAdapter/PlatformAdapterDouYin.ts +827 -0
  67. package/assets/Scripts/Framework/Adapter/PlatformAdapter/PlatformAdapterDouYin.ts.meta +9 -0
  68. package/assets/Scripts/Framework/Adapter/PlatformAdapter/PlatformAdapterHonor.ts +378 -0
  69. package/assets/Scripts/Framework/Adapter/PlatformAdapter/PlatformAdapterHonor.ts.meta +9 -0
  70. package/assets/Scripts/Framework/Adapter/PlatformAdapter/PlatformAdapterHuaWei.ts +363 -0
  71. package/assets/Scripts/Framework/Adapter/PlatformAdapter/PlatformAdapterHuaWei.ts.meta +9 -0
  72. package/assets/Scripts/Framework/Adapter/PlatformAdapter/PlatformAdapterJingDong.ts +368 -0
  73. package/assets/Scripts/Framework/Adapter/PlatformAdapter/PlatformAdapterJingDong.ts.meta +9 -0
  74. package/assets/Scripts/Framework/Adapter/PlatformAdapter/PlatformAdapterKuaiShou.ts +498 -0
  75. package/assets/Scripts/Framework/Adapter/PlatformAdapter/PlatformAdapterKuaiShou.ts.meta +9 -0
  76. package/assets/Scripts/Framework/Adapter/PlatformAdapter/PlatformAdapterOppo.ts +323 -0
  77. package/assets/Scripts/Framework/Adapter/PlatformAdapter/PlatformAdapterOppo.ts.meta +9 -0
  78. package/assets/Scripts/Framework/Adapter/PlatformAdapter/PlatformAdapterTapTap.ts +617 -0
  79. package/assets/Scripts/Framework/Adapter/PlatformAdapter/PlatformAdapterTapTap.ts.meta +9 -0
  80. package/assets/Scripts/Framework/Adapter/PlatformAdapter/PlatformAdapterVivo.ts +377 -0
  81. package/assets/Scripts/Framework/Adapter/PlatformAdapter/PlatformAdapterVivo.ts.meta +9 -0
  82. package/assets/Scripts/Framework/Adapter/PlatformAdapter/PlatformAdapterWeiXin.ts +1136 -0
  83. package/assets/Scripts/Framework/Adapter/PlatformAdapter/PlatformAdapterWeiXin.ts.meta +9 -0
  84. package/assets/Scripts/Framework/Adapter/PlatformAdapter/PlatformAdapterXiaoMi.ts +377 -0
  85. package/assets/Scripts/Framework/Adapter/PlatformAdapter/PlatformAdapterXiaoMi.ts.meta +9 -0
  86. package/assets/Scripts/Framework/Adapter/PlatformAdapter/PlatformAdapterZhiFuBao.ts +483 -0
  87. package/assets/Scripts/Framework/Adapter/PlatformAdapter/PlatformAdapterZhiFuBao.ts.meta +9 -0
  88. package/assets/Scripts/Framework/Adapter/PlatformAdapter.meta +9 -0
  89. package/assets/Scripts/Framework/Adapter.meta +9 -0
  90. package/assets/Scripts/Framework/Definition/AdDefinition.ts +284 -0
  91. package/assets/Scripts/Framework/Definition/AdDefinition.ts.meta +9 -0
  92. package/assets/Scripts/Framework/Definition/FrameworkBase.ts +15 -0
  93. package/assets/Scripts/Framework/Definition/FrameworkBase.ts.meta +9 -0
  94. package/assets/Scripts/Framework/Definition/PrivacyDefinition.ts +95 -0
  95. package/assets/Scripts/Framework/Definition/PrivacyDefinition.ts.meta +9 -0
  96. package/assets/Scripts/Framework/Definition/SocialDefinition.ts +21 -0
  97. package/assets/Scripts/Framework/Definition/SocialDefinition.ts.meta +9 -0
  98. package/assets/Scripts/Framework/Definition/SystemDefinition.ts +58 -0
  99. package/assets/Scripts/Framework/Definition/SystemDefinition.ts.meta +9 -0
  100. package/assets/Scripts/Framework/Definition/UIDefinition.ts +10 -0
  101. package/assets/Scripts/Framework/Definition/UIDefinition.ts.meta +9 -0
  102. package/assets/Scripts/Framework/Definition/UserDefinition.ts +17 -0
  103. package/assets/Scripts/Framework/Definition/UserDefinition.ts.meta +9 -0
  104. package/assets/Scripts/Framework/Definition.meta +9 -0
  105. package/assets/Scripts/Framework/Manager/AdMgr.ts +812 -0
  106. package/assets/Scripts/Framework/Manager/AdMgr.ts.meta +9 -0
  107. package/assets/Scripts/Framework/Manager/AudioMgr.ts +296 -0
  108. package/assets/Scripts/Framework/Manager/AudioMgr.ts.meta +9 -0
  109. package/assets/Scripts/Framework/Manager/BaseMgr.ts +130 -0
  110. package/assets/Scripts/Framework/Manager/BaseMgr.ts.meta +9 -0
  111. package/assets/Scripts/Framework/Manager/EventMgr.ts +102 -0
  112. package/assets/Scripts/Framework/Manager/EventMgr.ts.meta +9 -0
  113. package/assets/Scripts/Framework/Manager/ExcelMgr.ts +188 -0
  114. package/assets/Scripts/Framework/Manager/ExcelMgr.ts.meta +9 -0
  115. package/assets/Scripts/Framework/Manager/LifeCycleMgr.ts +142 -0
  116. package/assets/Scripts/Framework/Manager/LifeCycleMgr.ts.meta +9 -0
  117. package/assets/Scripts/Framework/Manager/NodePoolMgr.ts +385 -0
  118. package/assets/Scripts/Framework/Manager/NodePoolMgr.ts.meta +9 -0
  119. package/assets/Scripts/Framework/Manager/PrivacyMgr.ts +189 -0
  120. package/assets/Scripts/Framework/Manager/PrivacyMgr.ts.meta +9 -0
  121. package/assets/Scripts/Framework/Manager/ResMgr.ts +420 -0
  122. package/assets/Scripts/Framework/Manager/ResMgr.ts.meta +9 -0
  123. package/assets/Scripts/Framework/Manager/SocialMgr.ts +250 -0
  124. package/assets/Scripts/Framework/Manager/SocialMgr.ts.meta +9 -0
  125. package/assets/Scripts/Framework/Manager/SystemMgr.ts +264 -0
  126. package/assets/Scripts/Framework/Manager/SystemMgr.ts.meta +9 -0
  127. package/assets/Scripts/Framework/Manager/TimerMgr.ts +80 -0
  128. package/assets/Scripts/Framework/Manager/TimerMgr.ts.meta +9 -0
  129. package/assets/Scripts/Framework/Manager/UIMgr.ts +267 -0
  130. package/assets/Scripts/Framework/Manager/UIMgr.ts.meta +9 -0
  131. package/assets/Scripts/Framework/Manager/UserMgr.ts +162 -0
  132. package/assets/Scripts/Framework/Manager/UserMgr.ts.meta +9 -0
  133. package/assets/Scripts/Framework/Manager.meta +9 -0
  134. package/assets/Scripts/Framework/Utils/BezierUtils.ts +273 -0
  135. package/assets/Scripts/Framework/Utils/BezierUtils.ts.meta +9 -0
  136. package/assets/Scripts/Framework/Utils/CSVUtils.ts +396 -0
  137. package/assets/Scripts/Framework/Utils/CSVUtils.ts.meta +9 -0
  138. package/assets/Scripts/Framework/Utils/LogUtils.ts +32 -0
  139. package/assets/Scripts/Framework/Utils/LogUtils.ts.meta +9 -0
  140. package/assets/Scripts/Framework/Utils/NumberUtils.ts +51 -0
  141. package/assets/Scripts/Framework/Utils/NumberUtils.ts.meta +9 -0
  142. package/assets/Scripts/Framework/Utils/TaskUtils.ts +27 -0
  143. package/assets/Scripts/Framework/Utils/TaskUtils.ts.meta +9 -0
  144. package/assets/Scripts/Framework/Utils/TimeUtils.ts +38 -0
  145. package/assets/Scripts/Framework/Utils/TimeUtils.ts.meta +9 -0
  146. package/assets/Scripts/Framework/Utils/WXBizDataCryptUtils.ts +54 -0
  147. package/assets/Scripts/Framework/Utils/WXBizDataCryptUtils.ts.meta +9 -0
  148. package/assets/Scripts/Framework/Utils.meta +9 -0
  149. package/assets/Scripts/Framework.meta +9 -0
  150. package/assets/Scripts/index.ts +39 -0
  151. package/assets/Scripts.meta +9 -0
  152. package/package.json +2 -4
@@ -0,0 +1,946 @@
1
+ import { BannerAd_Info, BannerAd_PlatformInfo, InterstitialAd_Callback_Status, RewardedVideoAd_Callback_Status, CustomAd_Info, CustomAd_PlatformInfo, PortalAd_PlatformInfo, AdDefinition } from "../../Definition/AdDefinition";
2
+ import { PlatformID } from "../../Definition/SystemDefinition";
3
+ import { LogUtils } from "../../Utils/LogUtils";
4
+ import { AbsAdAdapter, BannerAdPosition, CustomAdPosition, InterstitialAdStatus, RewardedVideoAdStatus } from "./AbsAdAdapter";
5
+
6
+ class OppoBannerAd {
7
+ unitId: string;
8
+ ad: any;
9
+ errorListener: Function;
10
+ loadListener: Function;
11
+ resizeListener: Function;
12
+ isRecreating: boolean;
13
+ isFirstLoad: boolean;
14
+
15
+ constructor(adUnitId: string, ad: any, isFirstLoad: boolean) {
16
+ this.unitId = adUnitId;
17
+ this.ad = ad;
18
+ this.errorListener = null;
19
+ this.loadListener = null;
20
+ this.resizeListener = null;
21
+ this.isFirstLoad = isFirstLoad;
22
+ }
23
+
24
+ public destroy(): void {
25
+ if (this.ad !== null) {
26
+ if (this.errorListener !== null) {
27
+ this.ad.offError(this.errorListener);
28
+ this.errorListener = null;
29
+ }
30
+ if (this.loadListener !== null) {
31
+ this.ad.offLoad(this.loadListener);
32
+ this.loadListener = null;
33
+ }
34
+ if (this.resizeListener !== null) {
35
+ this.ad.offResize(this.resizeListener);
36
+ this.resizeListener = null;
37
+ }
38
+
39
+ this.ad.destroy();
40
+ this.ad = null;
41
+ }
42
+ this.isRecreating = false;
43
+ }
44
+ }
45
+
46
+ class OppoInterstitialAd {
47
+ unitId: string;
48
+ ad: any;
49
+ status: InterstitialAdStatus;
50
+ callback: Function;
51
+ errorListener: Function;
52
+ loadListener: Function;
53
+ closeListener: Function;
54
+ isShowImmediately: boolean;
55
+
56
+ constructor(adUnitId: string, callback: Function) {
57
+ this.unitId = adUnitId;
58
+ this.ad = null;
59
+ this.status = InterstitialAdStatus.Status_Init;
60
+ this.callback = callback;
61
+ this.errorListener = null;
62
+ this.loadListener = null;
63
+ this.closeListener = null;
64
+ this.isShowImmediately = false;
65
+ }
66
+
67
+ public destroy(): void {
68
+ if (this.ad !== null) {
69
+ if (this.errorListener !== null) {
70
+ this.ad.offError(this.errorListener);
71
+ this.errorListener = null;
72
+ }
73
+ if (this.loadListener !== null) {
74
+ this.ad.offLoad(this.loadListener);
75
+ this.loadListener = null;
76
+ }
77
+ if (this.closeListener !== null) {
78
+ this.ad.offClose(this.closeListener);
79
+ this.closeListener = null;
80
+ }
81
+
82
+ this.ad.destroy();
83
+ this.ad = null;
84
+ }
85
+ this.isShowImmediately = false;
86
+ this.status = InterstitialAdStatus.Status_Destroyed;
87
+ }
88
+ }
89
+
90
+ class OppoRewardedVideoAd {
91
+ unitId: string;
92
+ ad: any;
93
+ status: RewardedVideoAdStatus;
94
+ callback: Function;
95
+ errorListener: Function;
96
+ loadListener: Function;
97
+ closeListener: Function;
98
+ isShowImmediately: boolean;
99
+
100
+ constructor(adUnitId: string, callback: Function) {
101
+ this.unitId = adUnitId;
102
+ this.ad = null;
103
+ this.status = RewardedVideoAdStatus.Status_Init;
104
+ this.callback = callback;
105
+ this.errorListener = null;
106
+ this.loadListener = null;
107
+ this.closeListener = null;
108
+ this.isShowImmediately = false;
109
+ }
110
+
111
+ public destroy(): void {
112
+ if (this.ad !== null) {
113
+ if (this.errorListener !== null) {
114
+ this.ad.offError(this.errorListener);
115
+ this.errorListener = null;
116
+ }
117
+ if (this.loadListener !== null) {
118
+ this.ad.offLoad(this.loadListener);
119
+ this.loadListener = null;
120
+ }
121
+ if (this.closeListener !== null) {
122
+ this.ad.offClose(this.closeListener);
123
+ this.closeListener = null;
124
+ }
125
+
126
+ this.ad.destroy();
127
+ this.ad = null;
128
+ }
129
+ this.isShowImmediately = false;
130
+ this.status = RewardedVideoAdStatus.Status_Destroyed;
131
+ }
132
+ }
133
+
134
+ class OppoCustomAd {
135
+ unitId: string;
136
+ ad: any;
137
+ errorListener: Function;
138
+ loadListener: Function;
139
+ isRecreating: boolean;
140
+ isFirstLoad: boolean;
141
+
142
+ constructor(adUnitId: string, ad: any, isFirstLoad: boolean) {
143
+ this.unitId = adUnitId;
144
+ this.ad = ad;
145
+ this.errorListener = null;
146
+ this.loadListener = null;
147
+ this.isFirstLoad = isFirstLoad;
148
+ }
149
+
150
+ public destroy(): void {
151
+ if (this.ad !== null) {
152
+ if (this.errorListener !== null) {
153
+ this.ad.offError(this.errorListener);
154
+ this.errorListener = null;
155
+ }
156
+ if (this.loadListener !== null) {
157
+ this.ad.offLoad(this.loadListener);
158
+ this.loadListener = null;
159
+ }
160
+
161
+ this.ad.destroy();
162
+ this.ad = null;
163
+ }
164
+ this.isRecreating = false;
165
+ }
166
+ }
167
+
168
+ class OppoPortalAd {
169
+ unitId: string;
170
+ ad: any;
171
+ errorListener: Function;
172
+ loadListener: Function;
173
+ showListener: Function;
174
+ closeListener: Function;
175
+ isLoaded: boolean;
176
+ isShowing: boolean;
177
+ isRecreating: boolean;
178
+
179
+ constructor(adUnitId: string, ad: any) {
180
+ this.unitId = adUnitId;
181
+ this.ad = ad;
182
+ this.errorListener = null;
183
+ this.loadListener = null;
184
+ this.showListener = null;
185
+ this.closeListener = null;
186
+ this.isLoaded = false;
187
+ this.isShowing = false;
188
+ this.isRecreating = false;
189
+ }
190
+
191
+ public destroy(): void {
192
+ if (this.ad !== null) {
193
+ if (this.errorListener !== null) {
194
+ this.ad.offError(this.errorListener);
195
+ this.errorListener = null;
196
+ }
197
+ if (this.loadListener !== null) {
198
+ this.ad.offLoad(this.loadListener);
199
+ this.loadListener = null;
200
+ }
201
+ if (this.showListener !== null) {
202
+ this.ad.offShow(this.showListener);
203
+ this.showListener = null;
204
+ }
205
+ if (this.closeListener !== null) {
206
+ this.ad.offClose(this.closeListener);
207
+ this.closeListener = null;
208
+ }
209
+
210
+ this.ad.destroy();
211
+ this.ad = null;
212
+ }
213
+ this.isLoaded = false;
214
+ this.isShowing = false;
215
+ this.isRecreating = false;
216
+ }
217
+ }
218
+
219
+ export class AdAdapterOppo extends AbsAdAdapter {
220
+ static TAG: string = "AdAdapterOppo";
221
+
222
+ private oppoInterstitialAd: OppoInterstitialAd = null;
223
+ private oppoRewardedVideoAd: OppoRewardedVideoAd = null;
224
+ private oppoBannerAds: OppoBannerAd[] = [];
225
+ private oppoCustomAds: OppoCustomAd[] = [];
226
+ private oppoPortalAds: OppoPortalAd[] = [];
227
+
228
+ public init(interstitialAdUnitId: string, interstitialAdCallback: Function, rewardedVideoAdUnitId: string, rewardedVideoAdCallback: Function): void {
229
+ LogUtils.Instance.log(AdAdapterOppo.TAG, "init()");
230
+
231
+ this.oppoInterstitialAd = new OppoInterstitialAd(interstitialAdUnitId, interstitialAdCallback);
232
+ this.oppoRewardedVideoAd = new OppoRewardedVideoAd(rewardedVideoAdUnitId, rewardedVideoAdCallback);
233
+
234
+ this.oppoBannerAds = [];
235
+ this.oppoCustomAds = [];
236
+ this.oppoPortalAds = [];
237
+ }
238
+
239
+ public createBannerAd(adUnitId: string): boolean {
240
+ LogUtils.Instance.log(AdAdapterOppo.TAG, "createBannerAd()");
241
+
242
+ let isFirstLoad: boolean = true;
243
+ for (let i = 0; i < this.oppoBannerAds.length; i++) {
244
+ if (this.oppoBannerAds[i].unitId === adUnitId) {
245
+ isFirstLoad = this.oppoBannerAds[i].isFirstLoad;
246
+ break;
247
+ }
248
+ }
249
+
250
+ this.destroyBannerAd(adUnitId);
251
+ LogUtils.Instance.log(AdAdapterOppo.TAG, "createBannerAd() adUnitId=" + adUnitId);
252
+
253
+ let bannerAdInfo: BannerAd_Info = AdDefinition.AdInfoConfig.BannerAd_Info;
254
+ if (bannerAdInfo === null || !bannerAdInfo.shouldShow) {
255
+ return false;
256
+ }
257
+
258
+ let bannerAdPlatformInfo: BannerAd_PlatformInfo = AdDefinition.BannerAdStyleConfig.get(PlatformID.ID_QuickGame_Oppo);
259
+ if (bannerAdPlatformInfo === null) {
260
+ return false;
261
+ }
262
+
263
+ let bannerAdPosition: BannerAdPosition = this.calcBannerAdPosition(bannerAdInfo, bannerAdPlatformInfo);
264
+ let bannerAdParam: any = {
265
+ adUnitId: adUnitId,
266
+ style: {
267
+ width: bannerAdPosition.realWidth,
268
+ height: bannerAdPosition.realHeight,
269
+ left: bannerAdPosition.left,
270
+ top: bannerAdPosition.top,
271
+ },
272
+ };
273
+ if (bannerAdPlatformInfo.canAutoRefresh) {
274
+ bannerAdParam.adIntervals = bannerAdPlatformInfo.refreshInterval;
275
+ }
276
+
277
+ let bannerAd: any = window["qg"].createBannerAd(bannerAdParam);
278
+ LogUtils.Instance.log(AdAdapterOppo.TAG, "qg.createBannerAd() " + (bannerAd !== null ? "success" : "fail"));
279
+ LogUtils.Instance.log("", bannerAd);
280
+ if (!bannerAd) {
281
+ return false;
282
+ }
283
+
284
+ let oppoBannerAd: OppoBannerAd = new OppoBannerAd(adUnitId, bannerAd, isFirstLoad);
285
+ this.oppoBannerAds.push(oppoBannerAd);
286
+
287
+ oppoBannerAd.errorListener = (err) => {
288
+ LogUtils.Instance.log(AdAdapterOppo.TAG, "oppoBannerAd.ad.onError()");
289
+ if (err) {
290
+ LogUtils.Instance.log("", err);
291
+ }
292
+
293
+ if (!oppoBannerAd.isRecreating) {
294
+ oppoBannerAd.isRecreating = true;
295
+
296
+ this.scheduleOnce(() => {
297
+ oppoBannerAd.isRecreating = false;
298
+ this.createBannerAd(adUnitId);
299
+ }, 15);
300
+ }
301
+ };
302
+ oppoBannerAd.ad.onError(oppoBannerAd.errorListener);
303
+
304
+ oppoBannerAd.resizeListener = (res) => {
305
+ LogUtils.Instance.log(AdAdapterOppo.TAG, "oppoBannerAd.ad.onResize()");
306
+ if (res) {
307
+ LogUtils.Instance.log("", res);
308
+ }
309
+
310
+ if (oppoBannerAd.isFirstLoad) {
311
+ oppoBannerAd.isFirstLoad = false;
312
+ oppoBannerAd.ad.hide();
313
+ }
314
+ };
315
+ oppoBannerAd.ad.onResize(oppoBannerAd.resizeListener);
316
+
317
+ oppoBannerAd.loadListener = () => {
318
+ LogUtils.Instance.log(AdAdapterOppo.TAG, "oppoBannerAd.ad.onLoad()");
319
+ };
320
+ oppoBannerAd.ad.onLoad(oppoBannerAd.loadListener);
321
+
322
+ if (!bannerAdPlatformInfo.canAutoRefresh) {
323
+ if (!oppoBannerAd.isRecreating) {
324
+ oppoBannerAd.isRecreating = true;
325
+
326
+ this.scheduleOnce(() => {
327
+ oppoBannerAd.isRecreating = false;
328
+ this.createBannerAd(adUnitId);
329
+ }, bannerAdPlatformInfo.refreshInterval);
330
+ }
331
+ }
332
+
333
+ if (this.adMgr.isPermanentAdShowing()) {
334
+ LogUtils.Instance.log(AdAdapterOppo.TAG, "oppoBannerAd.ad.show()");
335
+ oppoBannerAd.ad.show()
336
+ .then(() => {
337
+ LogUtils.Instance.log(AdAdapterOppo.TAG, "oppoBannerAd.ad.show() success");
338
+ }).catch((err) => {
339
+ LogUtils.Instance.log(AdAdapterOppo.TAG, "oppoBannerAd.ad.show() fail");
340
+ if (err) {
341
+ LogUtils.Instance.log("", err);
342
+ }
343
+ });
344
+ }
345
+
346
+ return true;
347
+ }
348
+
349
+ public destroyBannerAd(adUnitId: string): void {
350
+ LogUtils.Instance.log(AdAdapterOppo.TAG, "destroyBannerAd(): adUnitId=" + adUnitId);
351
+
352
+ let index = -1;
353
+ for (let i = 0; i < this.oppoBannerAds.length; i++) {
354
+ if (this.oppoBannerAds[i].unitId === adUnitId) {
355
+ index = i;
356
+ break;
357
+ }
358
+ }
359
+
360
+ if (index >= 0) {
361
+ this.oppoBannerAds[index].destroy();
362
+ this.oppoBannerAds.splice(index, 1);
363
+ }
364
+ }
365
+
366
+ public showBannerAd(adUnitId: string): void {
367
+ LogUtils.Instance.log(AdAdapterOppo.TAG, "showBannerAd(): adUnitId=" + adUnitId);
368
+
369
+ for (let i = 0; i < this.oppoBannerAds.length; i++) {
370
+ if (this.oppoBannerAds[i].unitId === adUnitId) {
371
+ this.oppoBannerAds[i].ad.show();
372
+ break;
373
+ }
374
+ }
375
+ }
376
+
377
+ public hideBannerAd(adUnitId: string): void {
378
+ LogUtils.Instance.log(AdAdapterOppo.TAG, "hideBannerAd(): adUnitId=" + adUnitId);
379
+
380
+ for (let i = 0; i < this.oppoBannerAds.length; i++) {
381
+ if (this.oppoBannerAds[i].unitId === adUnitId) {
382
+ this.oppoBannerAds[i].ad.hide();
383
+ break;
384
+ }
385
+ }
386
+ }
387
+
388
+ public createInterstitialAd(): void {
389
+ this.destroyInterstitialAd();
390
+ LogUtils.Instance.log(AdAdapterOppo.TAG, "createInterstitialAd() adUnitId=" + this.oppoInterstitialAd.unitId);
391
+
392
+ let interstitialAd: any = window["qg"].createInterstitialAd({
393
+ adUnitId: this.oppoInterstitialAd.unitId
394
+ });
395
+ LogUtils.Instance.log(AdAdapterOppo.TAG, "qg.createInterstitialAd() " + (interstitialAd !== null ? "success" : "fail"));
396
+ LogUtils.Instance.log("", interstitialAd);
397
+ if (!interstitialAd) {
398
+ this.oppoInterstitialAd.status = InterstitialAdStatus.Status_Error;
399
+ this.oppoInterstitialAd.callback(InterstitialAd_Callback_Status.Status_Error);
400
+ return;
401
+ }
402
+
403
+ this.oppoInterstitialAd.ad = interstitialAd;
404
+ this.oppoInterstitialAd.status = InterstitialAdStatus.Status_Init;
405
+
406
+ this.oppoInterstitialAd.errorListener = (err) => {
407
+ LogUtils.Instance.log(AdAdapterOppo.TAG, "oppoInterstitialAd.ad.onError()");
408
+ if (err) {
409
+ LogUtils.Instance.log("", err);
410
+ }
411
+
412
+ if (this.oppoInterstitialAd.status !== InterstitialAdStatus.Status_Watching) {
413
+ this.oppoInterstitialAd.status = InterstitialAdStatus.Status_Error;
414
+ this.oppoInterstitialAd.callback(InterstitialAd_Callback_Status.Status_Error);
415
+ }
416
+ };
417
+ this.oppoInterstitialAd.ad.onError(this.oppoInterstitialAd.errorListener);
418
+
419
+ this.oppoInterstitialAd.loadListener = () => {
420
+ LogUtils.Instance.log(AdAdapterOppo.TAG, "oppoInterstitialAd.ad.onLoad()");
421
+
422
+ this.oppoInterstitialAd.status = InterstitialAdStatus.Status_Loaded;
423
+
424
+ if (this.oppoInterstitialAd.isShowImmediately) {
425
+ this.oppoInterstitialAd.isShowImmediately = false;
426
+ this._showInterstitialAd();
427
+ }
428
+ };
429
+ this.oppoInterstitialAd.ad.onLoad(this.oppoInterstitialAd.loadListener);
430
+
431
+ this.oppoInterstitialAd.closeListener = () => {
432
+ LogUtils.Instance.log(AdAdapterOppo.TAG, "oppoInterstitialAd.ad.onClose()");
433
+
434
+ this.oppoInterstitialAd.status = InterstitialAdStatus.Status_Watched;
435
+ this.oppoInterstitialAd.callback(InterstitialAd_Callback_Status.Status_Close);
436
+
437
+ this.scheduleOnce(() => {
438
+ if (this.oppoInterstitialAd.status !== InterstitialAdStatus.Status_Loaded) {
439
+ this._loadInterstitialAd(false);
440
+ }
441
+ }, 2);
442
+ };
443
+ this.oppoInterstitialAd.ad.onClose(this.oppoInterstitialAd.closeListener);
444
+
445
+ this.scheduleOnce(() => {
446
+ if (this.oppoInterstitialAd.status !== InterstitialAdStatus.Status_Loaded) {
447
+ this._loadInterstitialAd(false);
448
+ }
449
+ }, 2);
450
+ }
451
+
452
+ public showInterstitialAd(): void {
453
+ LogUtils.Instance.log(AdAdapterOppo.TAG, "showInterstitialAd()");
454
+
455
+ if (this.oppoInterstitialAd.ad === null) {
456
+ return;
457
+ }
458
+
459
+ LogUtils.Instance.log(AdAdapterOppo.TAG, "oppoInterstitialAd.status=" + InterstitialAdStatus[this.oppoInterstitialAd.status]);
460
+ switch(this.oppoInterstitialAd.status) {
461
+ case InterstitialAdStatus.Status_Destroyed:
462
+ case InterstitialAdStatus.Status_Watching:
463
+ case InterstitialAdStatus.Status_StartToWatch:
464
+ break;
465
+ case InterstitialAdStatus.Status_Loaded:
466
+ this._showInterstitialAd();
467
+ break;
468
+ case InterstitialAdStatus.Status_Watched:
469
+ case InterstitialAdStatus.Status_Init:
470
+ case InterstitialAdStatus.Status_Error:
471
+ this._loadInterstitialAd(true);
472
+ break;
473
+ default:
474
+ break;
475
+ }
476
+ }
477
+
478
+ public destroyInterstitialAd(): void {
479
+ LogUtils.Instance.log(AdAdapterOppo.TAG, "destroyInterstitialAd()");
480
+ this.oppoInterstitialAd.destroy();
481
+ }
482
+
483
+ public isIntersititialAdShowing(): boolean {
484
+ if (this.oppoInterstitialAd.ad === null) {
485
+ return false;
486
+ }
487
+ if (this.oppoInterstitialAd.status === InterstitialAdStatus.Status_Watching) {
488
+ return true;
489
+ }
490
+ return false;
491
+ }
492
+
493
+ protected _loadInterstitialAd(isShowImmediately: boolean): void {
494
+ this.oppoInterstitialAd.isShowImmediately = isShowImmediately;
495
+
496
+ LogUtils.Instance.log(AdAdapterOppo.TAG, "oppoInterstitialAd.ad.load()");
497
+ this.oppoInterstitialAd.ad.load()
498
+ .then(() => {
499
+ LogUtils.Instance.log(AdAdapterOppo.TAG, "oppoInterstitialAd.ad.load() success");
500
+ }).catch((err) => {
501
+ LogUtils.Instance.log(AdAdapterOppo.TAG, "oppoInterstitialAd.ad.load() error");
502
+ if (err) {
503
+ LogUtils.Instance.log("", err);
504
+ }
505
+ });
506
+ }
507
+
508
+ protected _showInterstitialAd(): void {
509
+ if (this.oppoInterstitialAd.status !== InterstitialAdStatus.Status_Loaded) {
510
+ return;
511
+ }
512
+
513
+ this.oppoInterstitialAd.status = InterstitialAdStatus.Status_StartToWatch;
514
+ LogUtils.Instance.log(AdAdapterOppo.TAG, "oppoInterstitialAd.ad.show()");
515
+ this.oppoInterstitialAd.ad.show()
516
+ .then(() => {
517
+ LogUtils.Instance.log(AdAdapterOppo.TAG, "oppoInterstitialAd.ad.show() success");
518
+
519
+ if (this.oppoInterstitialAd.status === InterstitialAdStatus.Status_StartToWatch) {
520
+ this.oppoInterstitialAd.status = InterstitialAdStatus.Status_Watching;
521
+ this.oppoInterstitialAd.callback(InterstitialAd_Callback_Status.Status_Watching);
522
+ }
523
+ }).catch((err) => {
524
+ LogUtils.Instance.log(AdAdapterOppo.TAG, "oppoInterstitialAd.ad.show() error");
525
+ if (err) {
526
+ LogUtils.Instance.log("", err);
527
+ }
528
+
529
+ if (this.oppoInterstitialAd.status === InterstitialAdStatus.Status_StartToWatch) {
530
+ this.oppoInterstitialAd.status = InterstitialAdStatus.Status_Loaded;
531
+ }
532
+ });
533
+ }
534
+
535
+ public createRewardedVideoAd(): void {
536
+ this.destroyRewardedVideoAd();
537
+ LogUtils.Instance.log(AdAdapterOppo.TAG, "createRewardedVideoAd() adUnitId=" + this.oppoRewardedVideoAd.unitId);
538
+
539
+ let rewardedVideoAd: any = window["qg"].createRewardedVideoAd({
540
+ adUnitId: this.oppoRewardedVideoAd.unitId
541
+ });
542
+ LogUtils.Instance.log(AdAdapterOppo.TAG, "qg.createRewardedVideoAd() " + (rewardedVideoAd !== null ? "success" : "fail"));
543
+ LogUtils.Instance.log("", rewardedVideoAd);
544
+ if (!rewardedVideoAd) {
545
+ this.oppoRewardedVideoAd.status = RewardedVideoAdStatus.Status_Error;
546
+ this.oppoRewardedVideoAd.callback(RewardedVideoAd_Callback_Status.Status_Error);
547
+ return;
548
+ }
549
+
550
+ this.oppoRewardedVideoAd.ad = rewardedVideoAd;
551
+ this.oppoRewardedVideoAd.status = RewardedVideoAdStatus.Status_Init;
552
+
553
+ this.oppoRewardedVideoAd.errorListener = (err) => {
554
+ LogUtils.Instance.log(AdAdapterOppo.TAG, "oppoRewardedVideoAd.ad.onError()");
555
+ if (err) {
556
+ LogUtils.Instance.log("", err);
557
+ }
558
+
559
+ if (this.oppoRewardedVideoAd.status !== RewardedVideoAdStatus.Status_Watching) {
560
+ this.oppoRewardedVideoAd.status = RewardedVideoAdStatus.Status_Error;
561
+ this.oppoRewardedVideoAd.callback(RewardedVideoAd_Callback_Status.Status_Error);
562
+ }
563
+ };
564
+ this.oppoRewardedVideoAd.ad.onError(this.oppoRewardedVideoAd.errorListener);
565
+
566
+ this.oppoRewardedVideoAd.loadListener = () => {
567
+ LogUtils.Instance.log(AdAdapterOppo.TAG, "oppoRewardedVideoAd.ad.onLoad()");
568
+
569
+ this.oppoRewardedVideoAd.status = RewardedVideoAdStatus.Status_Loaded;
570
+
571
+ if (this.oppoRewardedVideoAd.isShowImmediately) {
572
+ this.oppoRewardedVideoAd.isShowImmediately = false;
573
+ this._showRewardedVideoAd();
574
+ }
575
+ };
576
+ this.oppoRewardedVideoAd.ad.onLoad(this.oppoRewardedVideoAd.loadListener);
577
+
578
+ this.oppoRewardedVideoAd.closeListener = (res) => {
579
+ let isEnded: boolean = (res !== null) ? res.isEnded : false;
580
+
581
+ LogUtils.Instance.log(AdAdapterOppo.TAG, "oppoRewardedVideoAd.ad.onClose()");
582
+ LogUtils.Instance.log("", "isEnded=" + isEnded);
583
+
584
+ this.oppoRewardedVideoAd.status = RewardedVideoAdStatus.Status_Watched;
585
+ if (isEnded) {
586
+ this.oppoRewardedVideoAd.callback(RewardedVideoAd_Callback_Status.Status_Complete);
587
+ } else {
588
+ this.oppoRewardedVideoAd.callback(RewardedVideoAd_Callback_Status.Status_Giveup);
589
+ }
590
+
591
+ this.scheduleOnce(() => {
592
+ if (this.oppoRewardedVideoAd.status !== RewardedVideoAdStatus.Status_Loaded) {
593
+ this._loadRewardedVideoAd(false);
594
+ }
595
+ }, 2);
596
+ };
597
+ this.oppoRewardedVideoAd.ad.onClose(this.oppoRewardedVideoAd.closeListener);
598
+
599
+ this.scheduleOnce(() => {
600
+ if (this.oppoRewardedVideoAd.status !== RewardedVideoAdStatus.Status_Loaded) {
601
+ this._loadRewardedVideoAd(false);
602
+ }
603
+ }, 2);
604
+ }
605
+
606
+ public showRewardedVideoAd(): void {
607
+ LogUtils.Instance.log(AdAdapterOppo.TAG, "showRewardedVideoAd()");
608
+
609
+ if (this.oppoRewardedVideoAd.ad === null) {
610
+ return;
611
+ }
612
+
613
+ LogUtils.Instance.log(AdAdapterOppo.TAG, "oppoRewardedVideoAd.status=" + RewardedVideoAdStatus[this.oppoRewardedVideoAd.status]);
614
+ switch(this.oppoRewardedVideoAd.status) {
615
+ case RewardedVideoAdStatus.Status_Destroyed:
616
+ case RewardedVideoAdStatus.Status_StartToWatch:
617
+ case RewardedVideoAdStatus.Status_Watching:
618
+ break;
619
+ case RewardedVideoAdStatus.Status_Loaded:
620
+ this._showRewardedVideoAd();
621
+ break;
622
+ case RewardedVideoAdStatus.Status_Watched:
623
+ case RewardedVideoAdStatus.Status_Init:
624
+ case RewardedVideoAdStatus.Status_Error:
625
+ this._loadRewardedVideoAd(true);
626
+ break;
627
+ default:
628
+ break;
629
+ }
630
+ }
631
+
632
+ public destroyRewardedVideoAd(): void {
633
+ LogUtils.Instance.log(AdAdapterOppo.TAG, "destroyRewardedVideoAd()");
634
+ this.oppoRewardedVideoAd.destroy();
635
+ }
636
+
637
+ public isRewardedVideoAdLoaded(): boolean {
638
+ if (this.oppoRewardedVideoAd.ad === null) {
639
+ return false;
640
+ }
641
+ if (this.oppoRewardedVideoAd.status === RewardedVideoAdStatus.Status_Loaded) {
642
+ return true;
643
+ }
644
+ return false;
645
+ }
646
+
647
+ public isRewardedVideoAdShowing(): boolean {
648
+ if (this.oppoRewardedVideoAd.ad === null) {
649
+ return false;
650
+ }
651
+ if (this.oppoRewardedVideoAd.status === RewardedVideoAdStatus.Status_Watching) {
652
+ return true;
653
+ }
654
+ return false;
655
+ }
656
+
657
+ protected _loadRewardedVideoAd(isShowImmediately: boolean): void {
658
+ this.oppoRewardedVideoAd.isShowImmediately = isShowImmediately;
659
+
660
+ LogUtils.Instance.log(AdAdapterOppo.TAG, "oppoRewardedVideoAd.ad.load()");
661
+ this.oppoRewardedVideoAd.ad.load()
662
+ .then(() => {
663
+ LogUtils.Instance.log(AdAdapterOppo.TAG, "oppoRewardedVideoAd.ad.load() success");
664
+ }).catch((err) => {
665
+ LogUtils.Instance.log(AdAdapterOppo.TAG, "oppoRewardedVideoAd.ad.load() error");
666
+ if (err) {
667
+ LogUtils.Instance.log("", err);
668
+ }
669
+ });
670
+ }
671
+
672
+ protected _showRewardedVideoAd(): void {
673
+ if (this.oppoRewardedVideoAd.status !== RewardedVideoAdStatus.Status_Loaded) {
674
+ return;
675
+ }
676
+
677
+ this.oppoRewardedVideoAd.status = RewardedVideoAdStatus.Status_StartToWatch;
678
+ LogUtils.Instance.log(AdAdapterOppo.TAG, "oppoRewardedVideoAd.ad.show()");
679
+ this.oppoRewardedVideoAd.ad.show()
680
+ .then(() => {
681
+ LogUtils.Instance.log(AdAdapterOppo.TAG, "oppoRewardedVideoAd.ad.show() success");
682
+
683
+ if (this.oppoRewardedVideoAd.status === RewardedVideoAdStatus.Status_StartToWatch) {
684
+ this.oppoRewardedVideoAd.status = RewardedVideoAdStatus.Status_Watching;
685
+ this.oppoRewardedVideoAd.callback(RewardedVideoAd_Callback_Status.Status_Watching);
686
+ }
687
+ }).catch((err) => {
688
+ LogUtils.Instance.log(AdAdapterOppo.TAG, "oppoRewardedVideoAd.ad.show() error");
689
+ if (err) {
690
+ LogUtils.Instance.log("", err);
691
+ }
692
+
693
+ if (this.oppoRewardedVideoAd.status === RewardedVideoAdStatus.Status_StartToWatch) {
694
+ this.oppoRewardedVideoAd.status = RewardedVideoAdStatus.Status_Loaded;
695
+ }
696
+ });
697
+ }
698
+
699
+ public createCustomAd(adUnitId: string): boolean {
700
+ LogUtils.Instance.log(AdAdapterOppo.TAG, "createCustomAd()");
701
+
702
+ let isFirstLoad: boolean = true;
703
+ for (let i = 0; i < this.oppoCustomAds.length; i++) {
704
+ if (this.oppoCustomAds[i].unitId === adUnitId) {
705
+ isFirstLoad = this.oppoCustomAds[i].isFirstLoad;
706
+ break;
707
+ }
708
+ }
709
+
710
+ this.destroyCustomAd(adUnitId);
711
+ LogUtils.Instance.log(AdAdapterOppo.TAG, "createCustomAd() adUnitId=" + adUnitId);
712
+
713
+ let customAdInfo: CustomAd_Info = AdDefinition.AdInfoConfig.CustomAd_Info;
714
+ if (customAdInfo === null || !customAdInfo.shouldShow) {
715
+ return false;
716
+ }
717
+
718
+ let customAdPlatformInfo: CustomAd_PlatformInfo = AdDefinition.CustomAdStyleConfig.get(PlatformID.ID_QuickGame_Oppo);
719
+ if (customAdPlatformInfo === null) {
720
+ return false;
721
+ }
722
+
723
+ let customAdPosition: CustomAdPosition = this.calcCustomAdPosition(customAdInfo, customAdPlatformInfo);
724
+ let customAdParam: any = {
725
+ adUnitId: adUnitId,
726
+ style: {
727
+ left: customAdPosition.left,
728
+ top: customAdPosition.top,
729
+ orientation: "horizontal",
730
+ },
731
+ };
732
+ if (customAdPlatformInfo.canAutoRefresh) {
733
+ customAdParam.adIntervals = customAdPlatformInfo.refreshInterval;
734
+ }
735
+
736
+ let customAd: any = window["qg"].createGameBannerAd(customAdParam);
737
+ LogUtils.Instance.log(AdAdapterOppo.TAG, "qg.createGameBannerAd() " + (customAd !== null ? "success" : "fail"));
738
+ LogUtils.Instance.log("", customAd);
739
+ if (!customAd) {
740
+ return false;
741
+ }
742
+
743
+ let oppoCustomAd: OppoCustomAd = new OppoCustomAd(adUnitId, customAd, isFirstLoad);
744
+ this.oppoCustomAds.push(oppoCustomAd);
745
+
746
+ oppoCustomAd.errorListener = (err) => {
747
+ LogUtils.Instance.log(AdAdapterOppo.TAG, "oppoCustomAd.ad.onError()");
748
+ if (err) {
749
+ LogUtils.Instance.log("", err);
750
+ }
751
+
752
+ if (!oppoCustomAd.isRecreating) {
753
+ oppoCustomAd.isRecreating = true;
754
+
755
+ this.scheduleOnce(() => {
756
+ oppoCustomAd.isRecreating = false;
757
+ this.createCustomAd(adUnitId);
758
+ }, 15);
759
+ }
760
+ };
761
+ oppoCustomAd.ad.onError(oppoCustomAd.errorListener);
762
+
763
+ oppoCustomAd.loadListener = () => {
764
+ LogUtils.Instance.log(AdAdapterOppo.TAG, "oppoCustomAd.ad.onLoad()");
765
+
766
+ if (oppoCustomAd.isFirstLoad) {
767
+ oppoCustomAd.isFirstLoad = false;
768
+ }
769
+ };
770
+ oppoCustomAd.ad.onLoad(oppoCustomAd.loadListener);
771
+
772
+ if (!customAdPlatformInfo.canAutoRefresh) {
773
+ if (!oppoCustomAd.isRecreating) {
774
+ oppoCustomAd.isRecreating = true;
775
+
776
+ this.scheduleOnce(() => {
777
+ oppoCustomAd.isRecreating = false;
778
+ this.createCustomAd(adUnitId);
779
+ }, customAdPlatformInfo.refreshInterval);
780
+ }
781
+ }
782
+
783
+ if (this.adMgr.isPermanentAdShowing()) {
784
+ LogUtils.Instance.log(AdAdapterOppo.TAG, "oppoCustomAd.ad.show()");
785
+ oppoCustomAd.ad.show()
786
+ .then(() => {
787
+ LogUtils.Instance.log(AdAdapterOppo.TAG, "oppoCustomAd.ad.show() success");
788
+ }).catch((err) => {
789
+ LogUtils.Instance.log(AdAdapterOppo.TAG, "oppoCustomAd.ad.show() fail");
790
+ if (err) {
791
+ LogUtils.Instance.log("", err);
792
+ }
793
+ });
794
+ }
795
+
796
+ return true;
797
+ }
798
+
799
+ public destroyCustomAd(adUnitId: string): void {
800
+ LogUtils.Instance.log(AdAdapterOppo.TAG, "destroyCustomAd(): adUnitId=" + adUnitId);
801
+
802
+ let index = -1;
803
+ for (let i = 0; i < this.oppoCustomAds.length; i++) {
804
+ if (this.oppoCustomAds[i].unitId === adUnitId) {
805
+ index = i;
806
+ break;
807
+ }
808
+ }
809
+
810
+ if (index >= 0) {
811
+ this.oppoCustomAds[index].destroy();
812
+ this.oppoCustomAds.splice(index, 1);
813
+ }
814
+ }
815
+
816
+ public showCustomAd(adUnitId: string): void {
817
+ LogUtils.Instance.log(AdAdapterOppo.TAG, "showCustomAd(): adUnitId=" + adUnitId);
818
+
819
+ for (let i = 0; i < this.oppoCustomAds.length; i++) {
820
+ if (this.oppoCustomAds[i].unitId === adUnitId) {
821
+ this.oppoCustomAds[i].ad.show();
822
+ break;
823
+ }
824
+ }
825
+ }
826
+
827
+ public hideCustomAd(adUnitId: string): void {
828
+ LogUtils.Instance.log(AdAdapterOppo.TAG, "hideCustomAd(): adUnitId=" + adUnitId);
829
+
830
+ for (let i = 0; i < this.oppoCustomAds.length; i++) {
831
+ if (this.oppoCustomAds[i].unitId === adUnitId) {
832
+ this.oppoCustomAds[i].ad.hide();
833
+ break;
834
+ }
835
+ }
836
+ }
837
+
838
+ public createPortalAd(adUnitId: string): void {
839
+ LogUtils.Instance.log(AdAdapterOppo.TAG, "createPortalAd()");
840
+
841
+ this.destroyPortalAd(adUnitId);
842
+ LogUtils.Instance.log(AdAdapterOppo.TAG, "createPortalAd() adUnitId=" + adUnitId);
843
+
844
+ let portalAdPlatformInfo: PortalAd_PlatformInfo = AdDefinition.PortalAdStyleConfig.get(PlatformID.ID_QuickGame_Oppo);
845
+ if (portalAdPlatformInfo === null) {
846
+ return;
847
+ }
848
+
849
+ let portalAdParam: any = {
850
+ adUnitId: adUnitId,
851
+ }
852
+ let portalAd: any = window["qg"].createGamePortalAd(portalAdParam);
853
+ LogUtils.Instance.log(AdAdapterOppo.TAG, "qg.createGamePortalAd() " + (portalAd !== null ? "success" : "fail"));
854
+ LogUtils.Instance.log("", portalAd);
855
+ if (!portalAd) {
856
+ return;
857
+ }
858
+
859
+ let oppoPortalAd: OppoPortalAd = new OppoPortalAd(adUnitId, portalAd);
860
+ this.oppoPortalAds.push(oppoPortalAd);
861
+
862
+ oppoPortalAd.errorListener = (err) => {
863
+ LogUtils.Instance.log(AdAdapterOppo.TAG, "oppoPortalAd.ad.onError()");
864
+ if (err) {
865
+ LogUtils.Instance.log("", err);
866
+ }
867
+
868
+ if (!oppoPortalAd.isRecreating) {
869
+ oppoPortalAd.isRecreating = true;
870
+
871
+ this.scheduleOnce(() => {
872
+ oppoPortalAd.isRecreating = false;
873
+ this.createPortalAd(adUnitId);
874
+ }, 15);
875
+ }
876
+ };
877
+ oppoPortalAd.ad.onError(oppoPortalAd.errorListener);
878
+
879
+ oppoPortalAd.loadListener = () => {
880
+ LogUtils.Instance.log(AdAdapterOppo.TAG, "oppoPortalAd.ad.onLoad()");
881
+
882
+ oppoPortalAd.isLoaded = true;
883
+ };
884
+ oppoPortalAd.ad.onLoad(oppoPortalAd.loadListener);
885
+
886
+ oppoPortalAd.showListener = () => {
887
+ LogUtils.Instance.log(AdAdapterOppo.TAG, "oppoPortalAd.ad.onShow()");
888
+ oppoPortalAd.isShowing = true;
889
+ };
890
+ oppoPortalAd.ad.onShow(oppoPortalAd.showListener);
891
+
892
+ oppoPortalAd.closeListener = () => {
893
+ LogUtils.Instance.log(AdAdapterOppo.TAG, "oppoPortalAd.ad.onClose()");
894
+
895
+ oppoPortalAd.ad.load();
896
+ };
897
+ oppoPortalAd.ad.onClose(oppoPortalAd.closeListener);
898
+ }
899
+
900
+ public destroyPortalAd(adUnitId: string): void {
901
+ LogUtils.Instance.log(AdAdapterOppo.TAG, "destroyPortalAd(): adUnitId=" + adUnitId);
902
+
903
+ let index: number = -1;
904
+ for (let i = 0; i < this.oppoPortalAds.length; i++) {
905
+ if (this.oppoPortalAds[i].unitId === adUnitId) {
906
+ index = i;
907
+ break;
908
+ }
909
+ }
910
+
911
+ if (index >= 0) {
912
+ this.oppoPortalAds[index].destroy();
913
+ this.oppoPortalAds.splice(index, 1);
914
+ }
915
+ }
916
+
917
+ public showPortalAd(adUnitId: string): void {
918
+ LogUtils.Instance.log(AdAdapterOppo.TAG, "showPortalAd(): adUnitId=" + adUnitId);
919
+
920
+ for (let i = 0; i < this.oppoPortalAds.length; i++) {
921
+ if (this.oppoPortalAds[i].unitId === adUnitId) {
922
+ let portalAd = this.oppoPortalAds[i];
923
+ if (portalAd.isLoaded) {
924
+ portalAd.isLoaded = false;
925
+ portalAd.ad.show();
926
+ }
927
+ break;
928
+ }
929
+ }
930
+ }
931
+
932
+ public hidePortalAd(adUnitId: string): void {
933
+ LogUtils.Instance.log(AdAdapterOppo.TAG, "hidePortalAd(): adUnitId=" + adUnitId);
934
+
935
+ for (let i = 0; i < this.oppoPortalAds.length; i++) {
936
+ if (this.oppoPortalAds[i].unitId === adUnitId) {
937
+ let portalAd = this.oppoPortalAds[i];
938
+ if (portalAd.isShowing) {
939
+ portalAd.isShowing = false;
940
+ portalAd.ad.hide();
941
+ }
942
+ break;
943
+ }
944
+ }
945
+ }
946
+ }