@singcl/ad-execute-manager 1.0.5 → 1.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ad/AdExecuteManager.d.ts +115 -0
- package/dist/ad/AdUnlock/RewardAdNovelUnlock.d.ts +110 -0
- package/dist/ad/AdUnlock/UnlockSettings.d.ts +42 -0
- package/dist/ad/CommonSettings.d.ts +179 -0
- package/dist/ad/CountRecorder.d.ts +50 -0
- package/dist/ad/ExbAnalyticsJS.d.ts +131 -0
- package/dist/ad/Logger.d.ts +34 -0
- package/dist/ad/LovelUnlockManager.d.ts +233 -0
- package/dist/ad/RewardAdFather.d.ts +123 -0
- package/dist/ad/RewardAdGlobalRecorder.d.ts +111 -0
- package/dist/ad/RewardAdLaunch.d.ts +87 -0
- package/dist/ad/RewardAdLaunchAlone.d.ts +59 -0
- package/dist/ad/RewardAdNovel.d.ts +373 -0
- package/dist/ad/RewardAdReadingLoad.d.ts +80 -0
- package/dist/ad/RewardAdReadingUnload.d.ts +46 -0
- package/dist/ad/RewardAdSceneTriggerManager.d.ts +65 -0
- package/dist/ad/SerializableError.d.ts +9 -0
- package/dist/ad/Storage.d.ts +98 -0
- package/dist/ad/compose.d.ts +12 -0
- package/dist/ad/const.d.ts +10 -0
- package/dist/index.d.ts +6 -0
- package/dist/typings/ad.d.ts +193 -0
- package/dist/typings/tracker.d.ts +115 -0
- package/dist/utils/functional.d.ts +13 -0
- package/package.json +7 -4
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
export type IRewordAdConfig = {
|
|
2
|
+
/**
|
|
3
|
+
* 激励视频广告id - 必填
|
|
4
|
+
*/
|
|
5
|
+
adUnitId: string;
|
|
6
|
+
/**
|
|
7
|
+
* 是否开启进度提醒。开启时广告文案为「再看 n 个xxx」,关闭时为「再看 1 个xxx」。其中 n 表示用户当前还需额外观看广告的次数
|
|
8
|
+
* 再得广告的奖励文案,用户每看完一个广告都会展示,multiton 为 true 时必填。
|
|
9
|
+
* 文案完整内容为「再看 1 个xxx」,其中 xxx 是 multitonRewardMsg 配置的文案内容,最大长度为 7,
|
|
10
|
+
* 文案内容根据 multitonRewardMsg 的配置按顺序展示。若 multitonRewardMsg 长度小于 multitonRewardTimes ,
|
|
11
|
+
* 则后续的激励再得广告文案取 multitonRewardMsg 数组最后一个。
|
|
12
|
+
*/
|
|
13
|
+
progressTip?: boolean | undefined;
|
|
14
|
+
multitonRewardMsg?: Array<string> | undefined;
|
|
15
|
+
/**
|
|
16
|
+
* 是否开启激励再得广告
|
|
17
|
+
*/
|
|
18
|
+
multiton?: boolean | undefined;
|
|
19
|
+
/**
|
|
20
|
+
* 额外观看广告的次数,合法的数据范围为 1~4,multiton 为 true 时必填
|
|
21
|
+
*/
|
|
22
|
+
multitonRewardTimes?: number | undefined;
|
|
23
|
+
/**
|
|
24
|
+
* 场景值 - 自用参数,非tt API要求的参数
|
|
25
|
+
*/
|
|
26
|
+
scene?: number | undefined;
|
|
27
|
+
/**
|
|
28
|
+
* 奖励金额 - 自用参数 ,非tt API要求的参数
|
|
29
|
+
*/
|
|
30
|
+
log?: boolean | undefined;
|
|
31
|
+
/**
|
|
32
|
+
* 重试次数 - 自用参数 ,非tt API要求的参数
|
|
33
|
+
*/
|
|
34
|
+
retry: number;
|
|
35
|
+
};
|
|
36
|
+
export type InterstitialAdConfig = {
|
|
37
|
+
/**
|
|
38
|
+
* 单个广告单元的 id。可从「开放平台控制台-进入对应小程序-运营-商业化变现-广告管理」中获取 - 必填
|
|
39
|
+
*/
|
|
40
|
+
adUnitId: string;
|
|
41
|
+
/**
|
|
42
|
+
* 场景值 - 自用参数
|
|
43
|
+
*/
|
|
44
|
+
scene?: number | undefined;
|
|
45
|
+
};
|
|
46
|
+
export type IExeCallbackArgs = {
|
|
47
|
+
/**
|
|
48
|
+
* 广告执行场景
|
|
49
|
+
*/
|
|
50
|
+
scene: number;
|
|
51
|
+
/**
|
|
52
|
+
* 是否看完
|
|
53
|
+
*/
|
|
54
|
+
isEnded: boolean;
|
|
55
|
+
/**
|
|
56
|
+
* 完整观看次数
|
|
57
|
+
*/
|
|
58
|
+
count: number;
|
|
59
|
+
/**
|
|
60
|
+
* 剩余观看次数
|
|
61
|
+
*/
|
|
62
|
+
remain?: number;
|
|
63
|
+
};
|
|
64
|
+
export type CallbackCollection = {
|
|
65
|
+
/**
|
|
66
|
+
* 每次外部回调
|
|
67
|
+
*/
|
|
68
|
+
always?: (ctx?: IExeCallbackArgs) => void;
|
|
69
|
+
/**
|
|
70
|
+
* 完整看完广告外部回调 不管一个还是几个
|
|
71
|
+
*/
|
|
72
|
+
finished?: (ctx?: IExeCallbackArgs) => void;
|
|
73
|
+
/**
|
|
74
|
+
* 半途退出广告外部回调
|
|
75
|
+
*/
|
|
76
|
+
halfway?: (ctx?: IExeCallbackArgs) => void;
|
|
77
|
+
/**
|
|
78
|
+
* 完成广告外部回调 不管看不看完
|
|
79
|
+
*/
|
|
80
|
+
complete?: (ctx?: IExeCallbackArgs) => void;
|
|
81
|
+
/**
|
|
82
|
+
* 取消广告外部回调
|
|
83
|
+
*/
|
|
84
|
+
onCancel?: (ctx?: IExeCallbackArgs) => void;
|
|
85
|
+
/**
|
|
86
|
+
* 展示广告外部回调
|
|
87
|
+
*/
|
|
88
|
+
before?: (ctx?: IExeCallbackArgs) => void;
|
|
89
|
+
/**
|
|
90
|
+
* 展示广告成功外部回调
|
|
91
|
+
*/
|
|
92
|
+
success?: (ctx?: IExeCallbackArgs) => void;
|
|
93
|
+
/**
|
|
94
|
+
* 计时回调
|
|
95
|
+
*/
|
|
96
|
+
prelude?: (ctx?: unknown) => void;
|
|
97
|
+
};
|
|
98
|
+
export type ICallbackArgs = {
|
|
99
|
+
/**
|
|
100
|
+
* 广告执行场景
|
|
101
|
+
*/
|
|
102
|
+
scene: number;
|
|
103
|
+
/**
|
|
104
|
+
* 是否看完
|
|
105
|
+
*/
|
|
106
|
+
isEnded: boolean;
|
|
107
|
+
/**
|
|
108
|
+
* 完整观看次数
|
|
109
|
+
*/
|
|
110
|
+
count: number;
|
|
111
|
+
/**
|
|
112
|
+
* 剩余观看次数
|
|
113
|
+
*/
|
|
114
|
+
remain?: number;
|
|
115
|
+
/**
|
|
116
|
+
* 执行下一个任务的回调函数,手动调用以继续执行流程[end]
|
|
117
|
+
*/
|
|
118
|
+
end?: () => void;
|
|
119
|
+
/**
|
|
120
|
+
* 执行下一个任务的回调函数, 手动调用以继续执行流程[circle]
|
|
121
|
+
*/
|
|
122
|
+
circle?: (args: {
|
|
123
|
+
ignoreRemain: boolean;
|
|
124
|
+
scene: number;
|
|
125
|
+
}) => void;
|
|
126
|
+
};
|
|
127
|
+
export type IConnection = {
|
|
128
|
+
/**
|
|
129
|
+
* 广告中途退出回调
|
|
130
|
+
*/
|
|
131
|
+
onHalfway?: (args: ICallbackArgs) => void;
|
|
132
|
+
/**
|
|
133
|
+
* 广告展示回调
|
|
134
|
+
*/
|
|
135
|
+
onShow?: (args: ICallbackArgs) => void;
|
|
136
|
+
/**
|
|
137
|
+
* 广告执行成功回调
|
|
138
|
+
*/
|
|
139
|
+
onFinish?: (args: ICallbackArgs) => void;
|
|
140
|
+
/**
|
|
141
|
+
* 广告执行失败回调
|
|
142
|
+
*/
|
|
143
|
+
onError?: (e: unknown) => void;
|
|
144
|
+
};
|
|
145
|
+
export type IConstructArgs = {
|
|
146
|
+
/**
|
|
147
|
+
* 初始化标识
|
|
148
|
+
*/
|
|
149
|
+
sign: string;
|
|
150
|
+
/**
|
|
151
|
+
* 重试次数
|
|
152
|
+
*/
|
|
153
|
+
retry: number;
|
|
154
|
+
/**
|
|
155
|
+
* 是否保留tt激励视频广告实例
|
|
156
|
+
*/
|
|
157
|
+
preserveOnEnd: boolean;
|
|
158
|
+
/**
|
|
159
|
+
* 激励视频参数 (可选)
|
|
160
|
+
*/
|
|
161
|
+
adConfig?: IRewordAdConfig | undefined;
|
|
162
|
+
/**
|
|
163
|
+
* 回调集合
|
|
164
|
+
*/
|
|
165
|
+
collection?: IConnection | undefined;
|
|
166
|
+
};
|
|
167
|
+
/**
|
|
168
|
+
* 广告场景类型映射对象
|
|
169
|
+
*/
|
|
170
|
+
export type ScentTypeMap = {
|
|
171
|
+
readonly 0: "launch_ad";
|
|
172
|
+
readonly 1: "novel_plugin_strong_ad";
|
|
173
|
+
readonly 2: "novel_plugin_unlock_btn";
|
|
174
|
+
readonly 3: "novel_plugin_free_benefit_btn";
|
|
175
|
+
readonly 4: "home_free_welfare_btn";
|
|
176
|
+
readonly 5: "home_free_popup";
|
|
177
|
+
readonly 6: "other";
|
|
178
|
+
readonly 7: "home_back_show";
|
|
179
|
+
readonly 8: "novel_plugin_free_time_btn";
|
|
180
|
+
readonly 9: "launch_ad_alone";
|
|
181
|
+
};
|
|
182
|
+
/**
|
|
183
|
+
* 广告场景类型文本映射对象(反向映射)
|
|
184
|
+
*/
|
|
185
|
+
export type ScentTextMap = { readonly [K in ScentTypeMap[keyof ScentTypeMap]]: { [P in keyof ScentTypeMap]: ScentTypeMap[P] extends K ? P : never; }[keyof ScentTypeMap]; };
|
|
186
|
+
/**
|
|
187
|
+
* 场景值枚举 可持续添加
|
|
188
|
+
*/
|
|
189
|
+
export type RewardAdTriggerScene = keyof ScentTextMap;
|
|
190
|
+
/**
|
|
191
|
+
* 场景值枚举 可持续添加
|
|
192
|
+
*/
|
|
193
|
+
export type RewardAdTriggerSceneType = keyof ScentTypeMap;
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A dictionary mapping event names to their corresponding properties.
|
|
3
|
+
*/
|
|
4
|
+
export type EventDictionary = {
|
|
5
|
+
/**
|
|
6
|
+
* - 免费解锁弹窗
|
|
7
|
+
*/
|
|
8
|
+
free_unlock_popup: {
|
|
9
|
+
that: 0 | 1 | 2 | 3;
|
|
10
|
+
trigger_time: 0 | 1 | 2 | 3;
|
|
11
|
+
result: 0 | 1 | any;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* - 加载激励广告 加载激励广告时触发 - 无太大参考意义,可以忽略
|
|
15
|
+
*/
|
|
16
|
+
incentive_ad_load: {
|
|
17
|
+
scene: number;
|
|
18
|
+
result: string;
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* 展示激励广告 激励广告展示时触发
|
|
22
|
+
*/
|
|
23
|
+
incentive_ad_show: {
|
|
24
|
+
scene: number;
|
|
25
|
+
result: string;
|
|
26
|
+
msg: string;
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* 关闭激励广告 激励广告关闭时触发
|
|
30
|
+
*/
|
|
31
|
+
incentive_ad_close: {
|
|
32
|
+
scene: number;
|
|
33
|
+
ad_count: number;
|
|
34
|
+
ad_view_duration: string;
|
|
35
|
+
ad_is_completed: 0 | 1;
|
|
36
|
+
};
|
|
37
|
+
/**
|
|
38
|
+
* 注册登录 触发时机 "打开小程序 进行注册/登录
|
|
39
|
+
*/
|
|
40
|
+
login: {
|
|
41
|
+
trigger_time: 1 | 2;
|
|
42
|
+
result: 0 | 1;
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* 简介页交互 触发时机 点击简介页的按钮
|
|
46
|
+
*/
|
|
47
|
+
book_intro: {
|
|
48
|
+
trigger_time: 1 | 2 | 3 | 4;
|
|
49
|
+
book_title: 0 | 1;
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* 进入小程序页面
|
|
53
|
+
*/
|
|
54
|
+
cpage: {
|
|
55
|
+
page: number;
|
|
56
|
+
};
|
|
57
|
+
/**
|
|
58
|
+
* 点击书籍
|
|
59
|
+
*/
|
|
60
|
+
click_book: {
|
|
61
|
+
scene: number;
|
|
62
|
+
book_title: 0 | 1;
|
|
63
|
+
};
|
|
64
|
+
/**
|
|
65
|
+
* 添加桌面图标
|
|
66
|
+
*/
|
|
67
|
+
add_shortcut: {
|
|
68
|
+
result: 0 | 1;
|
|
69
|
+
scene: number;
|
|
70
|
+
};
|
|
71
|
+
/**
|
|
72
|
+
* 小说章节展示 "1、用户首次展示新的章节(该章节如果未解锁,不上报;2s内只上报一次)2、用户解锁新的章节"
|
|
73
|
+
*/
|
|
74
|
+
chapter_show: {
|
|
75
|
+
book_title: 0 | 1;
|
|
76
|
+
chapter_number: number;
|
|
77
|
+
is_end: number;
|
|
78
|
+
};
|
|
79
|
+
/**
|
|
80
|
+
* 小说阅读开始
|
|
81
|
+
*/
|
|
82
|
+
speed_read_card: {
|
|
83
|
+
book_title: 0 | 1;
|
|
84
|
+
result: number;
|
|
85
|
+
trigger_time: number;
|
|
86
|
+
};
|
|
87
|
+
/**
|
|
88
|
+
* 展示首页福利弹窗
|
|
89
|
+
*/
|
|
90
|
+
home_welfare_popup_show: {
|
|
91
|
+
trigger_time: 1 | 2;
|
|
92
|
+
result: 0 | 1;
|
|
93
|
+
};
|
|
94
|
+
/**
|
|
95
|
+
* 关闭首页福利弹窗
|
|
96
|
+
*/
|
|
97
|
+
home_welfare_popup_close: {
|
|
98
|
+
trigger_way: 0 | 1 | 2;
|
|
99
|
+
result: 0 | 1;
|
|
100
|
+
};
|
|
101
|
+
/**
|
|
102
|
+
* 展示免费领取弹窗
|
|
103
|
+
*/
|
|
104
|
+
free_popup_show: {
|
|
105
|
+
trigger_time: 1 | 2;
|
|
106
|
+
result: 0 | 1;
|
|
107
|
+
};
|
|
108
|
+
/**
|
|
109
|
+
* 关闭免费领取弹窗
|
|
110
|
+
*/
|
|
111
|
+
free_popup_close: {
|
|
112
|
+
trigger_way: 0 | 1 | 2;
|
|
113
|
+
result: 0 | 1;
|
|
114
|
+
};
|
|
115
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
*
|
|
3
|
+
* @param {string[]} ttErrorMsgs
|
|
4
|
+
* @param {string[]} keywords
|
|
5
|
+
* @returns
|
|
6
|
+
*/
|
|
7
|
+
export function matchErrorWithKeywords(ttErrorMsgs: string[], keyword: any): boolean;
|
|
8
|
+
/**
|
|
9
|
+
* 根据 adSceneFlag 查找对应的 showTimes
|
|
10
|
+
* @param {string} sceneFlag - 要查找的 adSceneFlag 值
|
|
11
|
+
* @returns {number|null} 匹配项的值,默认showTimes
|
|
12
|
+
*/
|
|
13
|
+
export function findAdTypeBySceneFlag(strategyList: any, sceneFlag: string, type?: string): number | null;
|
package/package.json
CHANGED
|
@@ -1,19 +1,21 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@singcl/ad-execute-manager",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.6",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": {
|
|
7
7
|
"import": "./dist/index.js",
|
|
8
|
-
"require": "./dist/index.cjs"
|
|
8
|
+
"require": "./dist/index.cjs",
|
|
9
|
+
"types": "./dist/index.d.ts"
|
|
9
10
|
}
|
|
10
11
|
},
|
|
11
12
|
"main": "./dist/index.cjs",
|
|
13
|
+
"types": "./dist/index.d.ts",
|
|
12
14
|
"files": [
|
|
13
15
|
"dist"
|
|
14
16
|
],
|
|
15
17
|
"scripts": {
|
|
16
|
-
"build": "rslib build",
|
|
18
|
+
"build": "rslib build && tsc",
|
|
17
19
|
"dev": "rslib build --watch",
|
|
18
20
|
"format": "prettier --write .",
|
|
19
21
|
"lint": "eslint .",
|
|
@@ -29,6 +31,7 @@
|
|
|
29
31
|
"eslint": "^9.39.2",
|
|
30
32
|
"eslint-plugin-import": "^2.32.0",
|
|
31
33
|
"globals": "^16.5.0",
|
|
32
|
-
"prettier": "^3.7.3"
|
|
34
|
+
"prettier": "^3.7.3",
|
|
35
|
+
"typescript": "^5.9.3"
|
|
33
36
|
}
|
|
34
37
|
}
|