提交 9cc69eb5 编写于 作者: H hdx

ad-rewarded-video: 简化微信小程序服务器回调接入流程

ad-weixin-native: 新增 微信原生开发接入方式
上级 c8267134
......@@ -619,17 +619,45 @@ sign = sha256(secret:transid)
### 微信小程序说明@callbackweixin
3.6.8+ 支持微信小程序服务器回调,目前仅支持使用 [uni-id](https://doc.dcloud.net.cn/uniCloud/uni-id/summary.html) 用户体系的小程序,后续支持非 uni-id 用户系统
3.6.8+ 支持微信小程序服务器回调
依赖微信提供的安全网络,安全网络依赖微信提供的 `access_token` `session_key` `encrypt_key`
#### 接入流程
由于上面三个值之间存在时效和依赖关系,比较复杂,所以需要使用 [uni-open-bridge](https://doc.dcloud.net.cn/uniCloud/uni-open-bridge.html) 来接管
#### 接入流程(uni-id用户体系)
1. 项目使用了 [uni-id-co](https://doc.dcloud.net.cn/uniCloud/uni-id/summary.html#save-user-token) 并更新到 1.0.8+
2. 使用 [uni-open-bridge](https://doc.dcloud.net.cn/uniCloud/uni-open-bridge.html) 托管三方开放平台数据
3. 配置 [安全网络](https://doc.dcloud.net.cn/uniCloud/secure-network.html)
#### 接入流程(传统用户系统)
1. 配置 [uni-open-bridge](https://doc.dcloud.net.cn/uniCloud/uni-open-bridge.html) 托管三方开放平台数据,详情如下:
1.1 在 uni-id-config 中配置微信小程序的 `appid``appsecret`
1.2 由 传统服务器通过 http 的方式主动将微信小程序的 `access_token` `session_key` 同步到 uni-open-bridge, `encrypt_key` 由 uni-open-bridge 自动向微信服务器获取
2. 配置 [安全网络](https://doc.dcloud.net.cn/uniCloud/secure-network.html)
3. 在微信小程序客户端初始化安全网络并传递 openid,通过 uni.checkSession() 检查登录是否过期,过期后需要重新登录并由开发者服务器将 `session_key` 同步到 uni-open-bridge
```html
<script>
export default {
onLaunch: async function() {
// #ifdef MP-WEIXIN
// 调用自有服务、云函数进行微信登录或以其他方式获取 openid
// 通过调用 uni.login(), 获取 code,然后在服务器上请求微信服务器换取 openid, 获取的 code 只能使用一次
const openid = ''
await uniCloud.initSecureNetworkByWeixin({
openid: openid
})
// #endif
}
}
</script>
```
#### 安全注意
### 安全注意
由于激励视频对应着用户奖励,可能会遇到恶意刷激励奖励但实际上并不看广告的情况。此时广告平台不给结算,但开发者却可能把激励送出去。
......
## uni-ad 原生微信小程序开发接入方式
**app.json**
```json
{
"plugins": {
"uni-ad": {
"version": "1.1.11",
"provider": "wxf72d316417b6767f"
},
"coral-adv": {
"version": "1.0.18",
"provider": "wx0e203209e27b1e66"
}
}
}
```
**page.json**
```json
{
"usingComponents": {
"uni-ad": "plugin://uni-ad/ad"
}
}
```
**page.wxml**
```html
<!-- 广告位 adpid 见邮件内容 -->
<uni-ad adpid="" class="uni-ad"></uni-ad>
<!-- 插屏和激励视频需要调用组件的 show 方法,banner类型不需要 -->
<!-- 插屏广告需要在适合的时机下调用有效 -->
<button bindtap="showAd">显示 激励视频/插屏广告</button>
```
**page.js**
```js
Page({
data: {
},
showAd: function (e) {
this._uniAd = this.selectComponent('.uni-ad');
this._uniAd.show();
}
})
```
......@@ -39,7 +39,7 @@
2. 在广告位列表中点击新建广告位
3. 必须开启[服务器回调](https://uniapp.dcloud.net.cn/uni-ad/ad-rewarded-video.html#callback),且响应正确的格式
3. 激励视频广告位必须开启[服务器回调](https://uniapp.dcloud.net.cn/uni-ad/ad-rewarded-video.html#callback),且回调测试请求响应正确的格式。
提示
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册