qb-pc-sdk 1.0.0 → 1.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.
- package/README.md +137 -0
- package/index.js +13 -0
- package/package.json +23 -2
- package/src/ad-sdk-wrapper.js +26 -3
- package/src/example-simple.html +2 -2
- package/config/ylh-ad-config.js +0 -20
- package//345/220/257/345/212/250/346/234/215/345/212/241/345/231/250.bat +0 -34
package/README.md
ADDED
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
# qb-pc-sdk
|
|
2
|
+
|
|
3
|
+
趣变广告 SDK 封装器 - PC端广告接入工具
|
|
4
|
+
|
|
5
|
+
自动处理多级接口映射与原生渲染逻辑,简化广告接入流程。
|
|
6
|
+
|
|
7
|
+
## 安装
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm install qb-pc-sdk
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## 使用方法
|
|
14
|
+
|
|
15
|
+
### ES6 模块方式
|
|
16
|
+
|
|
17
|
+
#### 方式一:默认导入
|
|
18
|
+
|
|
19
|
+
```javascript
|
|
20
|
+
import AdSDK from 'qb-pc-sdk';
|
|
21
|
+
|
|
22
|
+
// 使用
|
|
23
|
+
const adSDK = new AdSDK({
|
|
24
|
+
appId: 'your-app-id',
|
|
25
|
+
placementId: 'your-placement-id',
|
|
26
|
+
container: '#ad-container',
|
|
27
|
+
onAdLoaded: (ad) => {
|
|
28
|
+
console.log('广告加载成功', ad);
|
|
29
|
+
},
|
|
30
|
+
onAdError: (error, message) => {
|
|
31
|
+
console.error('广告加载失败', error, message);
|
|
32
|
+
},
|
|
33
|
+
onAdExpose: () => {
|
|
34
|
+
console.log('广告已曝光');
|
|
35
|
+
},
|
|
36
|
+
onAdClick: () => {
|
|
37
|
+
console.log('广告被点击');
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
#### 方式二:命名导入
|
|
43
|
+
|
|
44
|
+
```javascript
|
|
45
|
+
import { AdSDKWrapper } from 'qb-pc-sdk';
|
|
46
|
+
|
|
47
|
+
// 使用(注意这里使用的是 AdSDKWrapper)
|
|
48
|
+
const adSDK = new AdSDKWrapper({
|
|
49
|
+
appId: 'your-app-id',
|
|
50
|
+
placementId: 'your-placement-id',
|
|
51
|
+
container: '#ad-container',
|
|
52
|
+
onAdLoaded: (ad) => {
|
|
53
|
+
console.log('广告加载成功', ad);
|
|
54
|
+
},
|
|
55
|
+
onAdError: (error, message) => {
|
|
56
|
+
console.error('广告加载失败', error, message);
|
|
57
|
+
},
|
|
58
|
+
onAdExpose: () => {
|
|
59
|
+
console.log('广告已曝光');
|
|
60
|
+
},
|
|
61
|
+
onAdClick: () => {
|
|
62
|
+
console.log('广告被点击');
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
> **注意**:两种引入方式引入的都是同一个类,使用方式完全相同。`AdSDK` 和 `AdSDKWrapper` 是同一个类的不同名称。
|
|
68
|
+
|
|
69
|
+
### 浏览器直接引入
|
|
70
|
+
|
|
71
|
+
```html
|
|
72
|
+
<script src="./src/ad-sdk-wrapper.js"></script>
|
|
73
|
+
<script>
|
|
74
|
+
// 使用 window.AdSDK
|
|
75
|
+
const ad = new window.AdSDK({
|
|
76
|
+
appId: 'your-app-id',
|
|
77
|
+
placementId: 'your-placement-id',
|
|
78
|
+
container: '#ad-container',
|
|
79
|
+
onAdLoaded: (ad) => {
|
|
80
|
+
console.log('广告加载成功', ad);
|
|
81
|
+
},
|
|
82
|
+
onAdError: (error, message) => {
|
|
83
|
+
console.error('广告加载失败', error, message);
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
</script>
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
## API
|
|
90
|
+
|
|
91
|
+
### 构造函数
|
|
92
|
+
|
|
93
|
+
```javascript
|
|
94
|
+
new AdSDK(config)
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
#### 参数
|
|
98
|
+
|
|
99
|
+
- `appId` (string, 必需): 应用 ID
|
|
100
|
+
- `placementId` (string, 必需): 广告位 ID
|
|
101
|
+
- `container` (string | HTMLElement, 必需): 广告容器选择器或 DOM 元素
|
|
102
|
+
- `onAdLoaded` (function, 可选): 广告加载成功回调
|
|
103
|
+
- `onAdError` (function, 可选): 广告加载失败回调
|
|
104
|
+
- `onAdExpose` (function, 可选): 广告曝光回调
|
|
105
|
+
- `onAdClick` (function, 可选): 广告点击回调
|
|
106
|
+
|
|
107
|
+
### 示例
|
|
108
|
+
|
|
109
|
+
```javascript
|
|
110
|
+
const AdSDK = require('qb-pc-sdk');
|
|
111
|
+
|
|
112
|
+
const adSDK = new AdSDK({
|
|
113
|
+
appId: 'your-app-id',
|
|
114
|
+
placementId: 'your-placement-id',
|
|
115
|
+
container: '#ad-container',
|
|
116
|
+
onAdLoaded: (ad) => {
|
|
117
|
+
console.log('广告加载成功');
|
|
118
|
+
},
|
|
119
|
+
onAdError: (error, message) => {
|
|
120
|
+
console.error('广告加载失败:', message);
|
|
121
|
+
},
|
|
122
|
+
onAdExpose: () => {
|
|
123
|
+
console.log('广告已曝光');
|
|
124
|
+
},
|
|
125
|
+
onAdClick: () => {
|
|
126
|
+
console.log('广告被点击');
|
|
127
|
+
}
|
|
128
|
+
});
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
## 依赖
|
|
132
|
+
|
|
133
|
+
- `qb-pc-ad-sdk-origin`: 底层广告 SDK
|
|
134
|
+
|
|
135
|
+
## License
|
|
136
|
+
|
|
137
|
+
MIT
|
package/index.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* qb-pc-sdk 入口文件
|
|
3
|
+
* 导出 AdSDKWrapper 类供用户使用
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
// 导入 AdSDKWrapper 类
|
|
7
|
+
const AdSDKWrapper = require('./src/ad-sdk-wrapper.js');
|
|
8
|
+
|
|
9
|
+
// 导出(支持多种导入方式)
|
|
10
|
+
module.exports = AdSDKWrapper;
|
|
11
|
+
module.exports.default = AdSDKWrapper;
|
|
12
|
+
module.exports.AdSDKWrapper = AdSDKWrapper;
|
|
13
|
+
|
package/package.json
CHANGED
|
@@ -1,8 +1,29 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "qb-pc-sdk",
|
|
3
|
-
"version": "1.0.
|
|
4
|
-
"description": "PC
|
|
3
|
+
"version": "1.0.1",
|
|
4
|
+
"description": "趣变广告 SDK 封装器 - PC端广告接入工具,自动处理多级接口映射与原生渲染逻辑",
|
|
5
|
+
"main": "index.js",
|
|
6
|
+
"files": [
|
|
7
|
+
"index.js",
|
|
8
|
+
"src/",
|
|
9
|
+
"README.md"
|
|
10
|
+
],
|
|
11
|
+
"keywords": [
|
|
12
|
+
"ad",
|
|
13
|
+
"advertisement",
|
|
14
|
+
"sdk",
|
|
15
|
+
"qubian",
|
|
16
|
+
"pc",
|
|
17
|
+
"广告",
|
|
18
|
+
"广告SDK"
|
|
19
|
+
],
|
|
20
|
+
"author": "",
|
|
21
|
+
"license": "MIT",
|
|
5
22
|
"dependencies": {
|
|
6
23
|
"qb-pc-ad-sdk-origin": "^1.0.0"
|
|
24
|
+
},
|
|
25
|
+
"repository": {
|
|
26
|
+
"type": "git",
|
|
27
|
+
"url": ""
|
|
7
28
|
}
|
|
8
29
|
}
|
package/src/ad-sdk-wrapper.js
CHANGED
|
@@ -2,8 +2,11 @@
|
|
|
2
2
|
* 趣变广告 SDK 封装器
|
|
3
3
|
* 自动处理多级接口映射与原生渲染逻辑
|
|
4
4
|
*/
|
|
5
|
-
(function(
|
|
5
|
+
(function(global) {
|
|
6
6
|
'use strict';
|
|
7
|
+
|
|
8
|
+
// 兼容浏览器和 Node.js 环境
|
|
9
|
+
const window = typeof global !== 'undefined' && global.window ? global.window : (typeof window !== 'undefined' ? window : global);
|
|
7
10
|
|
|
8
11
|
// 内部常量配置
|
|
9
12
|
const API_CONFIG = {
|
|
@@ -212,5 +215,25 @@
|
|
|
212
215
|
}
|
|
213
216
|
}
|
|
214
217
|
|
|
215
|
-
|
|
216
|
-
|
|
218
|
+
// 浏览器环境:挂载到 window
|
|
219
|
+
if (typeof window !== 'undefined' && window.document) {
|
|
220
|
+
window.AdSDK = AdSDKWrapper;
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
// CommonJS 模块导出
|
|
224
|
+
if (typeof module !== 'undefined' && module.exports) {
|
|
225
|
+
module.exports = AdSDKWrapper;
|
|
226
|
+
module.exports.default = AdSDKWrapper;
|
|
227
|
+
module.exports.AdSDKWrapper = AdSDKWrapper;
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
// AMD 模块导出
|
|
231
|
+
if (typeof define === 'function' && define.amd) {
|
|
232
|
+
define(function() {
|
|
233
|
+
return AdSDKWrapper;
|
|
234
|
+
});
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
// 返回类供直接使用
|
|
238
|
+
return AdSDKWrapper;
|
|
239
|
+
})(typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : this);
|
package/src/example-simple.html
CHANGED
|
@@ -19,10 +19,10 @@
|
|
|
19
19
|
|
|
20
20
|
<script src="https://qzs.gdtimg.com/union/res/pc/ylh-pc-ad-sdk.v1.25.25.js"></script>
|
|
21
21
|
<script src="ad-sdk-wrapper.js"></script>
|
|
22
|
-
|
|
22
|
+
AdSDK
|
|
23
23
|
<script>
|
|
24
24
|
window.addEventListener('DOMContentLoaded', () => {
|
|
25
|
-
new
|
|
25
|
+
new ({
|
|
26
26
|
appId: '1999336062823956569',
|
|
27
27
|
placementId: '1999381081819709520',
|
|
28
28
|
container: '#ad-slot-1',
|
package/config/ylh-ad-config.js
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 参考文档: https://ylh.qq.com/help_detail.html?cid=5068&pid=12808
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
const YLH_AD_CONFIG = {
|
|
6
|
-
// 应用ID
|
|
7
|
-
appId: '1212355090',
|
|
8
|
-
|
|
9
|
-
// 广告位ID
|
|
10
|
-
// 注意:在API调用时使用 placementId 参数名
|
|
11
|
-
posId: '4204613922235231'
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
// 导出配置
|
|
15
|
-
if (typeof module !== 'undefined' && module.exports) {
|
|
16
|
-
module.exports = YLH_AD_CONFIG;
|
|
17
|
-
} else if (typeof window !== 'undefined') {
|
|
18
|
-
window.YLH_AD_CONFIG = YLH_AD_CONFIG;
|
|
19
|
-
}
|
|
20
|
-
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
@echo off
|
|
2
|
-
chcp 65001 >nul
|
|
3
|
-
echo ========================================
|
|
4
|
-
echo 广告接入 - 启动本地服务器
|
|
5
|
-
echo ========================================
|
|
6
|
-
echo.
|
|
7
|
-
|
|
8
|
-
REM 检查是否安装了Node.js
|
|
9
|
-
where node >nul 2>&1
|
|
10
|
-
if %ERRORLEVEL% NEQ 0 (
|
|
11
|
-
echo [错误] 未检测到Node.js
|
|
12
|
-
echo 请先安装Node.js: https://nodejs.org/
|
|
13
|
-
echo.
|
|
14
|
-
pause
|
|
15
|
-
exit /b 1
|
|
16
|
-
)
|
|
17
|
-
|
|
18
|
-
echo [信息] 检测到Node.js
|
|
19
|
-
node --version
|
|
20
|
-
echo.
|
|
21
|
-
|
|
22
|
-
echo [信息] 正在启动HTTP服务器(已启用CORS)...
|
|
23
|
-
echo [信息] 服务器地址: http://localhost:8080
|
|
24
|
-
echo [信息] 访问地址: http://localhost:8080/src/example-simple.html
|
|
25
|
-
echo.
|
|
26
|
-
echo [提示] 按 Ctrl+C 停止服务器
|
|
27
|
-
echo ========================================
|
|
28
|
-
echo.
|
|
29
|
-
|
|
30
|
-
REM 启动服务器(启用CORS)
|
|
31
|
-
npx http-server -p 8080 --cors
|
|
32
|
-
|
|
33
|
-
pause
|
|
34
|
-
|