@singcl/ad-execute-manager 2.0.0-alpha.0 → 2.0.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.
Files changed (59) hide show
  1. package/README.md +558 -199
  2. package/dist/ad/dist/index.d.cts +1 -0
  3. package/dist/ad/dist/index.d.ts +229 -0
  4. package/dist/ad/{InterstitialAdFather.d.ts → src/InterstitialAdFather.d.ts} +42 -10
  5. package/dist/ad/{InterstitialAdNovel.d.ts → src/InterstitialAdNovel.d.ts} +12 -8
  6. package/dist/ad/{RewardAdFather.d.ts → src/RewardAdFather.d.ts} +60 -10
  7. package/dist/ad/{RewardAdNovel.d.ts → src/RewardAdNovel.d.ts} +113 -24
  8. package/dist/ad/src/index.d.ts +5 -0
  9. package/dist/{typings → ad/src/typings}/ad.d.ts +28 -8
  10. package/dist/ad/src/typings/create-interstitial-ad.d.ts +42 -0
  11. package/dist/ad/src/typings/create-rewarded-video-ad.d.ts +42 -0
  12. package/dist/analytics/dist/index.d.cts +1 -0
  13. package/dist/analytics/dist/index.d.ts +23 -0
  14. package/dist/{helper → analytics/src}/AdAnalyticsJS.d.ts +9 -0
  15. package/dist/analytics/src/index.d.ts +1 -0
  16. package/dist/core/dist/index.d.cts +1 -0
  17. package/dist/core/dist/index.d.ts +41 -0
  18. package/dist/core/src/AdExecuteManager.d.ts +252 -0
  19. package/dist/core/src/_util.d.ts +18 -0
  20. package/dist/core/{index.d.ts → src/index.d.ts} +0 -1
  21. package/dist/core/src/typings/ad.d.ts +208 -0
  22. package/dist/core/typings/ad.d.ts +208 -0
  23. package/dist/helper/dist/index.d.cts +1 -0
  24. package/dist/helper/dist/index.d.ts +96 -0
  25. package/dist/helper/{PubSub.d.ts → src/PubSub.d.ts} +1 -1
  26. package/dist/helper/{SerializableError.d.ts → src/SerializableError.d.ts} +5 -1
  27. package/dist/helper/src/index.d.ts +6 -0
  28. package/dist/index.cjs +2 -1
  29. package/dist/index.d.ts +14 -14
  30. package/dist/index.js +2 -1
  31. package/dist/tools/dist/index.d.cts +1 -0
  32. package/dist/tools/dist/index.d.ts +69 -0
  33. package/dist/{helper → tools/src}/RewardAdGlobalRecorder.d.ts +2 -2
  34. package/dist/{helper → tools/src}/RewardAdSceneTriggerManager.d.ts +16 -10
  35. package/dist/tools/src/const.d.ts +3 -0
  36. package/dist/tools/src/index.d.ts +3 -0
  37. package/dist/tools/src/typings/ad.d.ts +208 -0
  38. package/dist/tools/src/typings/common.d.ts +14 -0
  39. package/dist/tools/src/typings/create-interstitial-ad.d.ts +42 -0
  40. package/dist/tools/src/typings/create-rewarded-video-ad.d.ts +42 -0
  41. package/dist/tools/src/typings/tracker.d.ts +1 -0
  42. package/package.json +33 -22
  43. package/dist/ad/index.d.ts +0 -4
  44. package/dist/core/AdExecuteManager.d.ts +0 -129
  45. package/dist/helper/index.d.ts +0 -10
  46. package/dist/subpackages/ad/index.js +0 -1
  47. package/dist/subpackages/core/index.js +0 -1
  48. package/dist/subpackages/helper/index.js +0 -1
  49. package/dist/subpackages/utils/index.js +0 -1
  50. /package/dist/{const → ad/src/const}/const.d.ts +0 -0
  51. /package/dist/{typings → ad/src/typings}/common.d.ts +0 -0
  52. /package/dist/{typings → ad/src/typings}/tracker.d.ts +0 -0
  53. /package/dist/{utils → ad/src/utils}/functional.d.ts +0 -0
  54. /package/dist/core/{compose.d.ts → src/compose.d.ts} +0 -0
  55. /package/dist/helper/{CountRecorder.d.ts → src/CountRecorder.d.ts} +0 -0
  56. /package/dist/helper/{EventEmitter.d.ts → src/EventEmitter.d.ts} +0 -0
  57. /package/dist/helper/{Logger.d.ts → src/Logger.d.ts} +0 -0
  58. /package/dist/helper/{Storage.d.ts → src/Storage.d.ts} +0 -0
  59. /package/dist/{helper → tools/src}/LovelUnlockManager.d.ts +0 -0
@@ -0,0 +1,252 @@
1
+ export default AdExecuteManager;
2
+ export type IAdInstance = {
3
+ /**
4
+ * 超时时间
5
+ */
6
+ _adTimeoutTime: number;
7
+ /**
8
+ * 初始化广告
9
+ */
10
+ initialize: (ctx: unknown) => IAdInstance;
11
+ /**
12
+ * 显示广告
13
+ */
14
+ ad: (options: unknown, ctx: unknown, recovered: unknown) => Promise<unknown>;
15
+ clear: () => void;
16
+ };
17
+ export type IRewordAdConfig = import("./typings/ad.js").IRewordAdConfig;
18
+ export type CallbackCollection = import("./typings/ad.js").CallbackCollection;
19
+ export type AdTask = {
20
+ /**
21
+ * RewardAdFather的子类实例
22
+ */
23
+ adInstance: IAdInstance;
24
+ /**
25
+ * 广告执行选项
26
+ */
27
+ options: IRewordAdConfig;
28
+ /**
29
+ * 回调集合
30
+ */
31
+ callbackCollection: CallbackCollection;
32
+ /**
33
+ * 广告执行成功的回调函数
34
+ */
35
+ resolve: Function;
36
+ /**
37
+ * 广告执行失败的回调函数
38
+ */
39
+ reject: Function;
40
+ /**
41
+ * 广告任务的唯一标识符
42
+ */
43
+ id: string;
44
+ /**
45
+ * 广告任务是否已成功解决
46
+ */
47
+ _isResolved: boolean;
48
+ /**
49
+ * 广告任务是否已被拒绝
50
+ */
51
+ _isRejected: boolean;
52
+ /**
53
+ * 广告任务后台恢复前台时预估重试次数
54
+ */
55
+ _retryCount: number;
56
+ /**
57
+ * 广告任务后台恢复前台时预估重试次数的原因
58
+ */
59
+ _retryMsg: string;
60
+ };
61
+ export type ErrorRetryStrategy = {
62
+ /**
63
+ * 是否重试超时错误
64
+ */
65
+ timeout?: boolean;
66
+ /**
67
+ * 是否重试后台错误
68
+ */
69
+ background?: boolean;
70
+ };
71
+ export type IConstructArgs = {
72
+ /**
73
+ * 广告执行选项
74
+ */
75
+ options?: object;
76
+ /**
77
+ * 是否打印日志
78
+ */
79
+ log?: boolean;
80
+ /**
81
+ * 是否启用前后台监听, 进入后台时候未执行的任务放入任务栈,等待进入前台恢复执行
82
+ */
83
+ enableVisibilityListener?: boolean;
84
+ /**
85
+ * 最大重试次数, 默认为1 0表示不重试
86
+ */
87
+ maxRetryCount?: number;
88
+ /**
89
+ * 进入后台时广告展示错误时重试策略
90
+ */
91
+ errorRetryStrategy?: ErrorRetryStrategy;
92
+ };
93
+ declare class AdExecuteManager {
94
+ /**
95
+ * 单例实例
96
+ * @type {AdExecuteManager|null}
97
+ */
98
+ static _instance: AdExecuteManager | null;
99
+ /**
100
+ * 获取单例实例
101
+ * @param {IConstructArgs} [args]
102
+ * @returns {AdExecuteManager}
103
+ */
104
+ static getInstance(args?: IConstructArgs): AdExecuteManager;
105
+ /**
106
+ * 获取单例实例
107
+ * @param {IConstructArgs} [args]
108
+ * @returns {AdExecuteManager}
109
+ */
110
+ static build(args?: IConstructArgs): AdExecuteManager;
111
+ /**
112
+ * 获取单例实例
113
+ * @param {IConstructArgs} [args]
114
+ * @returns {AdExecuteManager}
115
+ */
116
+ static "new"(args?: IConstructArgs): AdExecuteManager;
117
+ /**
118
+ * 获取单例实例
119
+ * @returns {AdExecuteManager}
120
+ */
121
+ static getSafeInstance(): AdExecuteManager;
122
+ /**
123
+ *
124
+ * @param {IConstructArgs} args
125
+ * @returns
126
+ */
127
+ constructor(args: IConstructArgs);
128
+ /**
129
+ * @type {Array.<AdTask>}
130
+ */
131
+ _taskStack: Array<AdTask>;
132
+ /**
133
+ * @type {Array.<AdTask>}
134
+ */
135
+ _currentBatchTasks: Array<AdTask>;
136
+ /**
137
+ * @type {boolean}
138
+ */
139
+ _isRunning: boolean;
140
+ /**
141
+ * @type {AdTask|null}
142
+ */
143
+ _currentTask: AdTask | null;
144
+ /**
145
+ * @type {boolean}
146
+ */
147
+ _isForeground: boolean;
148
+ /**
149
+ * @type {Function|null}
150
+ */
151
+ _appShowListener: Function | null;
152
+ /**
153
+ * @type {Function|null}
154
+ */
155
+ _appHideListener: Function | null;
156
+ /**
157
+ * @type {boolean}
158
+ */
159
+ _enableVisibilityListener: boolean;
160
+ /**
161
+ * @type {number}
162
+ */
163
+ _maxRetryCount: number;
164
+ /**
165
+ * @type {Array.<AdTask>}
166
+ */
167
+ _retryQueue: Array<AdTask>;
168
+ /**
169
+ * 进入后台时广告展示错误时重试策略
170
+ */
171
+ _errorRetryStrategy: {
172
+ timeout: boolean;
173
+ background: boolean;
174
+ };
175
+ logger: Logger;
176
+ initialize(_args: any): this;
177
+ /**
178
+ * 初始化前后台监听器
179
+ * @private
180
+ */
181
+ private _initVisibilityListener;
182
+ /**
183
+ * 处理应用进入后台
184
+ * @private
185
+ */
186
+ private _handleAppHide;
187
+ /**
188
+ * 处理应用进入前台
189
+ * @private
190
+ */
191
+ private _handleAppShow;
192
+ /**
193
+ * 销毁前后台监听器
194
+ */
195
+ destroyVisibilityListener(): void;
196
+ /**
197
+ * 启用前后台监听
198
+ */
199
+ enableVisibilityListener(): void;
200
+ /**
201
+ * 禁用前后台监听
202
+ */
203
+ disableVisibilityListener(): void;
204
+ /**
205
+ * 获取前后台监听器状态
206
+ * @returns {boolean} 是否启用
207
+ */
208
+ isVisibilityListenerEnabled(): boolean;
209
+ /**
210
+ * 添加广告任务
211
+ * @param {IAdInstance} adInstance RewardAdFather的子类实例
212
+ * @param {Object} ctx 广告执行上下文
213
+ * @param {IRewordAdConfig} ctx.options 广告执行选项
214
+ * @param {CallbackCollection} ctx.collection 回调集合
215
+ * @returns {Promise} 广告执行结果的Promise
216
+ */
217
+ addTask(adInstance: IAdInstance, ctx: {
218
+ options: IRewordAdConfig;
219
+ collection: CallbackCollection;
220
+ }): Promise<any>;
221
+ /**
222
+ * 组合所有任务
223
+ * @private
224
+ */
225
+ private _compose;
226
+ /**
227
+ * 清空任务栈并取消所有任务(包括正在执行的任务和middleware链中等待执行的任务)
228
+ */
229
+ clearTasks(): void;
230
+ /**
231
+ * 获取当前未完成的任务总数
232
+ * 包括任务栈中待执行的任务、中间件链中未完成的任务和重试队列中的任务
233
+ * @returns {number} 未完成的任务数量
234
+ */
235
+ getTaskCount(): number;
236
+ /**
237
+ * 是否有任务正在运行
238
+ * @returns {boolean}
239
+ */
240
+ isRunning(): boolean;
241
+ /**
242
+ * 获取当前执行的任务ID
243
+ * @returns {string|null} 当前任务ID
244
+ */
245
+ getCurrentTaskId(): string | null;
246
+ /**
247
+ * 返回一个Promise,当任务队列中的所有任务都完成时resolve
248
+ * @returns {Promise<void>} 当所有任务完成时resolve的Promise
249
+ */
250
+ whenAllTasksComplete(): Promise<void>;
251
+ }
252
+ import { Logger } from '@ad-execute-manager/helper';
@@ -0,0 +1,18 @@
1
+ /**
2
+ * 判断是否需要重试
3
+ * @param {object} param
4
+ * @param {object} param.apiError 广告错误信息
5
+ * @param {number} param.configuredAdTimeout 配置的广告超时时间
6
+ * @param {object} [param.errorRetryStrategy] 错误重试策略
7
+ * @param {boolean} [param.errorRetryStrategy.timeout] 是否需要重试超时错误
8
+ * @param {boolean} [param.errorRetryStrategy.background] 是否需要重试后台错误
9
+ * @returns
10
+ */
11
+ export function needRetryAdError({ apiError, configuredAdTimeout, errorRetryStrategy }: {
12
+ apiError: object;
13
+ configuredAdTimeout: number;
14
+ errorRetryStrategy?: {
15
+ timeout?: boolean;
16
+ background?: boolean;
17
+ };
18
+ }): boolean;
@@ -1,2 +1 @@
1
- export { default as compose } from "./compose.js";
2
1
  export { default as AdExecuteManager } from "./AdExecuteManager.js";
@@ -0,0 +1,208 @@
1
+ export type IRewordAdConfig = {
2
+ /**
3
+ * 激励视频广告id - 必填
4
+ */
5
+ adUnitId: string;
6
+ /**
7
+ * 是否开启进度提醒。开启时广告文案为「再看 n 个xxx」,关闭时为「再看 1 个xxx」。其中 n 表示用户当前还需额外观看广告的次数
8
+ */
9
+ progressTip?: boolean | undefined;
10
+ /**
11
+ * - 再得广告的奖励文案,用户每看完一个广告都会展示,multiton 为 true 时必填。
12
+ * - 文案完整内容为「再看 1 个xxx」,其中 xxx 是 multitonRewardMsg 配置的文案内容,最大长度为 7,
13
+ * - 文案内容根据 multitonRewardMsg 的配置按顺序展示。若 multitonRewardMsg 长度小于 multitonRewardTimes ,
14
+ * - 则后续的激励再得广告文案取 multitonRewardMsg 数组最后一个。
15
+ */
16
+ multitonRewardMsg?: Array<string> | undefined;
17
+ /**
18
+ * 是否开启激励再得广告
19
+ */
20
+ multiton?: boolean | undefined;
21
+ /**
22
+ * 额外观看广告的次数,合法的数据范围为 1~4,multiton 为 true 时必填
23
+ */
24
+ multitonRewardTimes?: number | undefined;
25
+ /**
26
+ * 场景值 - 自用参数,非tt API要求的参数
27
+ */
28
+ scene?: number | undefined;
29
+ /**
30
+ * 广告超时时间 单位ms - 自用参数,非tt API要求的参数
31
+ */
32
+ timeout?: number | undefined;
33
+ /**
34
+ * 重试次数 - 自用参数 ,非tt API要求的参数
35
+ */
36
+ retry: number;
37
+ /**
38
+ * 是否绑定永远的错误事件 - 自用参数,非tt API要求的参数
39
+ */
40
+ foreverErrorBind?: boolean | undefined;
41
+ };
42
+ export type InterstitialAdConfig = {
43
+ /**
44
+ * 单个广告单元的 id。可从「开放平台控制台-进入对应小程序-运营-商业化变现-广告管理」中获取 - 必填
45
+ */
46
+ adUnitId: string;
47
+ /**
48
+ * 场景值 - 自用参数
49
+ */
50
+ scene?: number | undefined;
51
+ };
52
+ export type IExeCallbackArgs = {
53
+ /**
54
+ * 广告执行场景
55
+ */
56
+ scene: number;
57
+ /**
58
+ * 是否看完
59
+ */
60
+ isEnded: boolean;
61
+ /**
62
+ * 完整观看次数
63
+ */
64
+ count: number;
65
+ /**
66
+ * 剩余观看次数
67
+ */
68
+ remain?: number;
69
+ };
70
+ export type CallbackCollection = {
71
+ /**
72
+ * 每次外部回调
73
+ */
74
+ always?: (ctx?: IExeCallbackArgs) => void;
75
+ /**
76
+ * 完整看完广告外部回调 不管一个还是几个
77
+ */
78
+ finished?: (ctx?: IExeCallbackArgs) => void;
79
+ /**
80
+ * 半途退出广告外部回调
81
+ */
82
+ halfway?: (ctx?: IExeCallbackArgs) => void;
83
+ /**
84
+ * 完成广告外部回调 不管看不看完
85
+ */
86
+ complete?: (ctx?: IExeCallbackArgs) => void;
87
+ /**
88
+ * 取消广告外部回调
89
+ */
90
+ onCancel?: (ctx?: IExeCallbackArgs) => void;
91
+ /**
92
+ * 展示广告外部回调
93
+ */
94
+ before?: (ctx?: IExeCallbackArgs) => void;
95
+ /**
96
+ * 展示广告成功外部回调
97
+ */
98
+ success?: (ctx?: IExeCallbackArgs) => void;
99
+ /**
100
+ * 计时回调
101
+ */
102
+ prelude?: (ctx?: unknown) => void;
103
+ };
104
+ export type RecoveredInfo = {
105
+ /**
106
+ * 恢复重试次数
107
+ */
108
+ count: number;
109
+ /**
110
+ * 是否恢复重试
111
+ */
112
+ retry: boolean;
113
+ /**
114
+ * 恢复重试原因
115
+ */
116
+ message: string;
117
+ };
118
+ export type ICallbackArgs = {
119
+ /**
120
+ * 广告执行场景
121
+ */
122
+ scene: number;
123
+ /**
124
+ * 是否看完
125
+ */
126
+ isEnded: boolean;
127
+ /**
128
+ * 完整观看次数
129
+ */
130
+ count: number;
131
+ /**
132
+ * 剩余观看次数
133
+ */
134
+ remain?: number;
135
+ /**
136
+ * 执行下一个任务的回调函数,手动调用以继续执行流程[end]
137
+ */
138
+ end?: () => void;
139
+ /**
140
+ * 执行下一个任务的回调函数, 手动调用以继续执行流程[circle]
141
+ */
142
+ circle?: (args: {
143
+ ignoreRemain: boolean;
144
+ scene: number;
145
+ }) => void;
146
+ };
147
+ export type IConnection = {
148
+ /**
149
+ * 广告中途退出回调
150
+ */
151
+ onHalfway?: (args: ICallbackArgs) => void;
152
+ /**
153
+ * 广告展示回调
154
+ */
155
+ onShow?: (args: ICallbackArgs) => void;
156
+ /**
157
+ * 广告执行成功回调
158
+ */
159
+ onFinish?: (args: ICallbackArgs) => void;
160
+ /**
161
+ * 广告执行失败回调
162
+ */
163
+ onError?: (e: unknown) => void;
164
+ };
165
+ export type IConstructArgs = {
166
+ /**
167
+ * 初始化标识
168
+ */
169
+ sign: string;
170
+ /**
171
+ * 是否开启日志
172
+ */
173
+ log?: boolean | undefined;
174
+ /**
175
+ * 重试次数
176
+ */
177
+ retry: number;
178
+ /**
179
+ * 是否保留tt激励视频广告实例
180
+ */
181
+ preserveOnEnd: boolean;
182
+ /**
183
+ * 激励视频参数 (可选)
184
+ */
185
+ adConfig?: IRewordAdConfig | undefined;
186
+ /**
187
+ * 回调集合
188
+ */
189
+ collection?: IConnection | undefined;
190
+ };
191
+ /**
192
+ * 广告场景类型映射对象
193
+ */
194
+ export type SceneTypeMap = {
195
+ readonly [x: number]: string;
196
+ };
197
+ /**
198
+ * 广告场景类型文本映射对象(反向映射)
199
+ */
200
+ export type SceneTextMap = { readonly [K in SceneTypeMap[keyof SceneTypeMap]]: { [P in keyof SceneTypeMap]: SceneTypeMap[P] extends K ? P : never; }[keyof SceneTypeMap]; };
201
+ /**
202
+ * 场景值枚举 可持续添加
203
+ */
204
+ export type RewardAdTriggerScene = keyof SceneTextMap;
205
+ /**
206
+ * 场景值枚举 可持续添加
207
+ */
208
+ export type RewardAdTriggerSceneType = keyof SceneTypeMap;
@@ -0,0 +1,208 @@
1
+ export type IRewordAdConfig = {
2
+ /**
3
+ * 激励视频广告id - 必填
4
+ */
5
+ adUnitId: string;
6
+ /**
7
+ * 是否开启进度提醒。开启时广告文案为「再看 n 个xxx」,关闭时为「再看 1 个xxx」。其中 n 表示用户当前还需额外观看广告的次数
8
+ */
9
+ progressTip?: boolean | undefined;
10
+ /**
11
+ * - 再得广告的奖励文案,用户每看完一个广告都会展示,multiton 为 true 时必填。
12
+ * - 文案完整内容为「再看 1 个xxx」,其中 xxx 是 multitonRewardMsg 配置的文案内容,最大长度为 7,
13
+ * - 文案内容根据 multitonRewardMsg 的配置按顺序展示。若 multitonRewardMsg 长度小于 multitonRewardTimes ,
14
+ * - 则后续的激励再得广告文案取 multitonRewardMsg 数组最后一个。
15
+ */
16
+ multitonRewardMsg?: Array<string> | undefined;
17
+ /**
18
+ * 是否开启激励再得广告
19
+ */
20
+ multiton?: boolean | undefined;
21
+ /**
22
+ * 额外观看广告的次数,合法的数据范围为 1~4,multiton 为 true 时必填
23
+ */
24
+ multitonRewardTimes?: number | undefined;
25
+ /**
26
+ * 场景值 - 自用参数,非tt API要求的参数
27
+ */
28
+ scene?: number | undefined;
29
+ /**
30
+ * 广告超时时间 单位ms - 自用参数,非tt API要求的参数
31
+ */
32
+ timeout?: number | undefined;
33
+ /**
34
+ * 重试次数 - 自用参数 ,非tt API要求的参数
35
+ */
36
+ retry: number;
37
+ /**
38
+ * 是否绑定永远的错误事件 - 自用参数,非tt API要求的参数
39
+ */
40
+ foreverErrorBind?: boolean | undefined;
41
+ };
42
+ export type InterstitialAdConfig = {
43
+ /**
44
+ * 单个广告单元的 id。可从「开放平台控制台-进入对应小程序-运营-商业化变现-广告管理」中获取 - 必填
45
+ */
46
+ adUnitId: string;
47
+ /**
48
+ * 场景值 - 自用参数
49
+ */
50
+ scene?: number | undefined;
51
+ };
52
+ export type IExeCallbackArgs = {
53
+ /**
54
+ * 广告执行场景
55
+ */
56
+ scene: number;
57
+ /**
58
+ * 是否看完
59
+ */
60
+ isEnded: boolean;
61
+ /**
62
+ * 完整观看次数
63
+ */
64
+ count: number;
65
+ /**
66
+ * 剩余观看次数
67
+ */
68
+ remain?: number;
69
+ };
70
+ export type CallbackCollection = {
71
+ /**
72
+ * 每次外部回调
73
+ */
74
+ always?: (ctx?: IExeCallbackArgs) => void;
75
+ /**
76
+ * 完整看完广告外部回调 不管一个还是几个
77
+ */
78
+ finished?: (ctx?: IExeCallbackArgs) => void;
79
+ /**
80
+ * 半途退出广告外部回调
81
+ */
82
+ halfway?: (ctx?: IExeCallbackArgs) => void;
83
+ /**
84
+ * 完成广告外部回调 不管看不看完
85
+ */
86
+ complete?: (ctx?: IExeCallbackArgs) => void;
87
+ /**
88
+ * 取消广告外部回调
89
+ */
90
+ onCancel?: (ctx?: IExeCallbackArgs) => void;
91
+ /**
92
+ * 展示广告外部回调
93
+ */
94
+ before?: (ctx?: IExeCallbackArgs) => void;
95
+ /**
96
+ * 展示广告成功外部回调
97
+ */
98
+ success?: (ctx?: IExeCallbackArgs) => void;
99
+ /**
100
+ * 计时回调
101
+ */
102
+ prelude?: (ctx?: unknown) => void;
103
+ };
104
+ export type RecoveredInfo = {
105
+ /**
106
+ * 恢复重试次数
107
+ */
108
+ count: number;
109
+ /**
110
+ * 是否恢复重试
111
+ */
112
+ retry: boolean;
113
+ /**
114
+ * 恢复重试原因
115
+ */
116
+ message: string;
117
+ };
118
+ export type ICallbackArgs = {
119
+ /**
120
+ * 广告执行场景
121
+ */
122
+ scene: number;
123
+ /**
124
+ * 是否看完
125
+ */
126
+ isEnded: boolean;
127
+ /**
128
+ * 完整观看次数
129
+ */
130
+ count: number;
131
+ /**
132
+ * 剩余观看次数
133
+ */
134
+ remain?: number;
135
+ /**
136
+ * 执行下一个任务的回调函数,手动调用以继续执行流程[end]
137
+ */
138
+ end?: () => void;
139
+ /**
140
+ * 执行下一个任务的回调函数, 手动调用以继续执行流程[circle]
141
+ */
142
+ circle?: (args: {
143
+ ignoreRemain: boolean;
144
+ scene: number;
145
+ }) => void;
146
+ };
147
+ export type IConnection = {
148
+ /**
149
+ * 广告中途退出回调
150
+ */
151
+ onHalfway?: (args: ICallbackArgs) => void;
152
+ /**
153
+ * 广告展示回调
154
+ */
155
+ onShow?: (args: ICallbackArgs) => void;
156
+ /**
157
+ * 广告执行成功回调
158
+ */
159
+ onFinish?: (args: ICallbackArgs) => void;
160
+ /**
161
+ * 广告执行失败回调
162
+ */
163
+ onError?: (e: unknown) => void;
164
+ };
165
+ export type IConstructArgs = {
166
+ /**
167
+ * 初始化标识
168
+ */
169
+ sign: string;
170
+ /**
171
+ * 是否开启日志
172
+ */
173
+ log?: boolean | undefined;
174
+ /**
175
+ * 重试次数
176
+ */
177
+ retry: number;
178
+ /**
179
+ * 是否保留tt激励视频广告实例
180
+ */
181
+ preserveOnEnd: boolean;
182
+ /**
183
+ * 激励视频参数 (可选)
184
+ */
185
+ adConfig?: IRewordAdConfig | undefined;
186
+ /**
187
+ * 回调集合
188
+ */
189
+ collection?: IConnection | undefined;
190
+ };
191
+ /**
192
+ * 广告场景类型映射对象
193
+ */
194
+ export type SceneTypeMap = {
195
+ readonly [x: number]: string;
196
+ };
197
+ /**
198
+ * 广告场景类型文本映射对象(反向映射)
199
+ */
200
+ export type SceneTextMap = { readonly [K in SceneTypeMap[keyof SceneTypeMap]]: { [P in keyof SceneTypeMap]: SceneTypeMap[P] extends K ? P : never; }[keyof SceneTypeMap]; };
201
+ /**
202
+ * 场景值枚举 可持续添加
203
+ */
204
+ export type RewardAdTriggerScene = keyof SceneTextMap;
205
+ /**
206
+ * 场景值枚举 可持续添加
207
+ */
208
+ export type RewardAdTriggerSceneType = keyof SceneTypeMap;
@@ -0,0 +1 @@
1
+ export const __esModule: boolean;