提交 3562d603 编写于 作者: DCloud_Heavensoft's avatar DCloud_Heavensoft

Update ad-rewarded-video.md

上级 51fe0d87
......@@ -2,25 +2,27 @@
### 简介
激励视频广告,是cpm收益最高的广告形式。
激励视频广告,是cpm收益**最高**的广告形式。
手机用户观看几十秒视频广告,在广告播放完毕后可获得应用开发商提供的奖励,而应用开发商则可以从广告平台获取不菲的广告收入。
![](https://web-assets.dcloud.net.cn/unidoc/zh/rewarded-video.png)
与开屏、信息流等广告变现方式不同,激励视频收益高、但场景设计和编程工作量也较高
与开屏、信息流等广告变现方式不同,激励视频需设计激励场景,给用户发放激励
激励视频广告的场景灵活多样:
- 游戏内看广告复活、看广告拿高级道具
常见场景:
- 合成类游戏,看广告获得道具,比如各种养龙、养凤凰、养牛、养蟹......
- 走路赚钱、看短视频赚钱、猜歌赚钱等应用也非常多
- 网赚应用中,做各种任务赚钱,或者想要接赚钱的任务,前提是观看激励视频
- 增值内容消费,比如小说、电影看一半,剩下的需要看广告后才能继续
- 区块链应用融合激励视频,比如看广告提高收益或提高挖矿成功率
- 游戏内看广告复活、看广告拿高级道具
注意激励不能直接发钱,那会被视为积分墙,而被广告平台禁封。
激励视频还经常和邀请裂变结合在一起,应用开发者为用户设计邀请好友的奖励,让用户有动力邀请更多用户使用这个应用
- 激励视频还经常和邀请裂变结合在一起,应用开发者为用户设计邀请好友的奖励,让用户有动力邀请更多用户使用这个应用,邀请的人越多,获得的奖励越多
激励视频是造富神器。行业经常出现几个人的团队,月收入百万的奇迹。均是因为良好的设计了激励场景和裂变模型。
激励视频是造富神器。行业经常出现几个人的团队,月收入百万的奇迹。
**平台差异说明**
......@@ -29,25 +31,33 @@
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√(3.4.8+)|x|√(3.4.8+)|x|x|x|x|x|x|x|x|
### 流程概述
**开通配置广告**
1. **开通配置广告**
使用激励视频,需首先申请开通。开通步骤详见 [https://uniapp.dcloud.net.cn/uni-ad.html#start](https://uniapp.dcloud.net.cn/uni-ad.html#start)
2. 在页面合适位置引入`<ad-rewarded-video></ad-rewarded-video>`组件
3. 点击组件后自动开始播放全屏的激励视频,有倒计时。倒计时结束前关闭视频,则无法获得奖励。
4. 在客户端和云端可以监听用户是否观看完毕。注意客户端监听不可信赖,不能根据客户端通知来给用户发激励。需云端监听,也就是开通激励视频服务器回调。
5. 服务器通过激励视频回调,拿到用户id、是否播放完毕,然后给用户发放奖励。
6. 客户端监听到广告播放完毕后,向服务器请求,服务器告知客户端是否发放了奖励。
[开通广告步骤详情](https://uniapp.dcloud.net.cn/uni-ad.html#start)
为提升激励视频cpm收益,开发者需要在uniad后台同时开通多个广告平台,比如穿山甲、优量汇、快手等。然后uniad会自动竞价、分层,在不同的广告平台选择出价最高的广告来播放。
一个用户每日反复观看激励视频,来领取奖励,会造成广告cpm下降、填充不足等问题。因为广告商不愿意给这个用户再投放广告了。所以一般需要限制用户每日观看激励视频的次数,如15次左右。
激励视频广告组件是原生组件,层级最高,会覆盖在普通前端组件上。
### 组件语法
在页面中合适位置,引入下面的激励视频启动组件。
### 语法
该组件是一个容器组件,可以在里面继续包裹`<button>``<image>`等组件,但无需为button编写点击事件,点击后会自动启动全屏的激励视频。
`<ad-rewarded-video></ad-rewarded-video>`
**属性说明**
|属性名 |类型 |默认值 |说明 |平台差异 |
|:- |:- |:- |:- |:- |
|adpid |String&#124;Number&#124;Array| |广告位id,如果传入的是数组,会从索引0开始请求失败后继续下一个,适用于已配置底价的逻辑| |
|adpid |String&#124;Number&#124;Array| |广告位id,到uniad后台申请。如果传入的是数组,会从索引0开始请求失败后继续下一个,适用于已配置底价的逻辑| |
|preload |Boolean |true |页面就绪后加载广告数据 | |
|loadnext |Boolean |false |自动加载下一条广告数据 | |
|disabled |Boolean |false |禁用默认点击行为 | |
......@@ -74,11 +84,9 @@
**注意**
`load``show` 不能同时调用,在 `load` 过程中调用 `show` 会被忽略,因为数据还没加载完毕,可以在`@load`完成事件中调用 `show`
支持重复调用 `show`,调用 `show` 时会判断是否加载过数据,如果没有会自动加载一次,如果组件正在预载数据,调用 `show` 也会被忽略
推荐直接使用组件的自动加载逻辑,完全不需要手动调用 `load``show`
- `load``show` 不能同时调用,在 `load` 过程中调用 `show` 会被忽略,因为数据还没加载完毕,可以在`@load`完成事件中调用 `show`
- 支持重复调用 `show`,调用 `show` 时会判断是否加载过数据,如果没有会自动加载一次,如果组件正在预载数据,调用 `show` 也会被忽略
- 推荐直接使用组件的自动加载逻辑,完全不需要手动调用 `load``show`
#### 简单示例
......@@ -139,6 +147,10 @@ export default {
#### API调用示例
除了使用组件的点击外,也可以使用API来启动激励视频。
比如自定义一个点击位置,然后调用`<ad-rewarded-video>`组件的方法来播放激励视频。如下:
```html
<template>
<view>
......@@ -204,6 +216,10 @@ export default {
#### 瀑布流逻辑广告位@waterfall
分层,是一种持续保持最高广告收益的算法。在不同的出价中阶梯向下,遇到高出价则直接播放广告,未遇到则落入下一阶梯询价播放。
此时需要配置多个广告位。
```html
<template>
<view class="content">
......@@ -300,9 +316,9 @@ export default {
### 显示/隐藏
激励视频广告组件默认是隐藏的,在用户主动触发广告后进行显示。
激励视频广告默认是隐藏的,在用户主动触发广告后进行显示。
只有在用户点击激励视频广告组件上的 关闭广告 按钮时,广告才会关闭。开发者不可控制激励视频广告组件的隐藏。
只有在用户点击激励视频广告组件上的 关闭广告 按钮时,广告才会关闭。开发者不可控制激励视频广告的隐藏。
### 广告拉取成功与失败
......@@ -328,7 +344,7 @@ export default {
|detail: { isEnded }|boolean|视频是否是在用户完整观看的情况下被关闭的,true 表示用户是在视频播放完以后关闭的视频,false 表示用户在视频播放过程中关闭了视频
开发者需要根据 isEnded 判断是否视频是否播放结束,如果成功播放完毕则应该向用户发放奖励。
开发者需要根据 isEnded 判断是否视频是否播放结束。但 isEnded 作为一个客户端参数,无法确定是完整看完了视频,还是提前结束。需通过服务器回调来判断。在 isEnd 后,客户端应该向服务器请求确认,服务器如确认成功播放完毕则应该向用户发放奖励,
```html
<template>
......@@ -367,7 +383,7 @@ App平台 3.1.15+ 支持穿山甲/优量汇/快手
激励视频广告可以支持广告服务器到业务服务器的回调,用于业务系统判断是否提供奖励给观看广告的用户。配置服务器回调后,当用户成功看完广告时,广告服务器会访问配置的云函数,通知用户完成观看激励视频。
相对来讲服务器回调将更加安全,可以依赖广告平台的反作弊机制来避免用户模拟观看广告完成的事件。
服务器回调将更加安全,可以依赖广告平台的反作弊机制来避免用户模拟观看广告完成的事件。
![激励视频回调](https://web-assets.dcloud.net.cn/unidoc/zh/uniAdCallback-01-29.png)
......@@ -553,14 +569,16 @@ exports.main = async (event, context) => {
为了提升安全性,建议所有使用激励视频的开发者都要做如下工作来加强保护:
1. 前端代码加密。涉及激励相关的,在manifest中配置好要加密的代码文件,打包后会自动加密相应文件。[详见](https://ask.dcloud.net.cn/article/36437)
2. apk加固。即便前端代码加密,原生层引擎的java代码仍然可能被反编译,需要对apk加固。市面上很多加固服务,比如360加固、爱加密加固均可以自行选择。
3. 使用uni云端一体安全网络,防止伪造客户端攻击。[详见](/uniCloud/secure-network.md)
3. 使用如下安全类API,防止客户端被篡改
- plus.navigator.getSignature 获取应用签名标识。结合在服务器端存放证书信息,可比对判断App的证书是否被重签 [规范](https://www.html5plus.org/doc/zh_cn/navigator.html#plus.navigator.getSignature)
- plus.navigator.isSimulator 判断App是否运行在模拟器环境 [规范](https://www.html5plus.org/doc/zh_cn/navigator.html#plus.navigator.isSimulator)
- plus.navigator.isRoot 判断设备是否被root或越狱 [规范](https://www.html5plus.org/doc/zh_cn/navigator.html#plus.navigator.isRoot)
- plus.networkinfo.isSetProxy 判断设备的网络是否设置了代理 [规范](https://www.html5plus.org/doc/zh_cn/device.html#plus.networkinfo.isSetProxy)
4. 避免使用短信验证码来识别身份,推荐使用可信度更高的 [手机号一键登录](/univerify)[微信登录](/api/plugins/login?id=login)
5. 必要时可使用[生物认证(指纹和faceid)](/api/system/authentication)[uni实人认证(活体检测)](https://uniapp.dcloud.net.cn/uniCloud/frv/dev.html)
5. 必要时使用[uni实人认证(活体检测)](https://uniapp.dcloud.net.cn/uniCloud/frv/dev.html)
详细的安全方案,请仔细阅读[uni安全专题](/tutorial/safe.md)
### manifest 配置@manifest
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册