【快应用】快应用广告学习之激励视频广告
【关键词】
快应用、激励视频广告、广告接入
【介绍】
一、关于激励视频广告
- 定义:用户通过观看完整的视频广告,获得应用内相关的奖励。
- 适用场景:游戏/快游戏的通关、继续机会、道具获取、积分等场景中,阅读、影音等应用的权益体系也有相关使用。
- 支持格式:横版视频、竖版视频。
二、实现流程
- 调用ad.getProvider()判断是否支持广告服务,如果返回空字符串,则无法使用广告服务。
- 通过 const rewardedVideoAd=ad.createRewardedVideoAd()创建广告。
- 调用rewardedVideoAd.load()拉取广告数据,成功拉取广告数据后再显示广告的播放入口。成功执行rewardedVideoAd.onLoad()回调。失败执行rewardedVideoAd.onError回调。
- 调用rewardedVideoAd.show()上报广告曝光。
- 调用rewardedVideoAd.onClose()监听激励视频广告的关闭。
- 关闭广告前调用rewardedVideoAd.load()获取下一次广告的数据。
- 当应用页面销毁时,调用rewardedVideoAd.destory()销毁激励视频广告。
【代码实现】
这里通过一个简单的在阅读中通过观看激励视频广告解锁章节的demo来加深一下对这块的掌握。
<template><!-- Only one root node is allowed in template. --><div class="container"><div><text class="title">第{{titleNum}}章</text><text class="title">{{title}}</text></div><div class="cont"><div style="flex-direction: column" show="{{!nextSection}}"><text class="content">这一段写啥?我想写啥就写啥?啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥啥</text><text class="content">这一段写设什么?我也不知道写啥,那怎么办,写一颗菠菜吧,菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜</text><text class="content">我是一个苹果,果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果</text><text class="content">我是一个栗子,栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗栗</text></div><div style="flex-direction: column" show="{{nextSection}}"><text class="content">我是一个有信仰的梨子,梨梨梨梨梨梨梨梨梨梨梨梨梨梨梨梨梨梨梨梨梨梨梨梨梨梨梨梨梨梨梨梨梨梨梨梨梨梨梨梨梨梨梨梨梨梨梨梨梨梨梨梨梨梨梨梨梨梨梨梨梨梨梨梨梨梨梨梨梨梨梨梨梨梨梨梨</text><text class="content">最后一段了,来个水果大集合吧,果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果果</text></div></div><div style="width: 100%; display: flex; justify-content: space-between; margin: 0 20px"><text class="title" show="{{nextSection}}" onclick="backClick">上一章</text><text class="title next" onclick="nextClick" show="{{!nextSection}}">下一章</text></div></div>
</template><style>.container {flex-direction: column;}.clickStyle {height: 100px;width: 100%;background-color: #00bfff;color: #4b0082;font-size: 50px;font-weight: 500;}.img {width: 100%;height: 300px;}.title {font-size: 36px;font-weight: bold;margin-right: 20px;color: #4a90e2;}.next {left: 550;}.content {font-size: 36px;letter-spacing: 2px;text-indent: 2em;}.cont {width: 100%;}
</style><script>import ad from '@service.ad'import prompt from '@system.prompt';let rewardedVideoAdmodule.exports = {data: {componentName: 'ad',provider: '',title: `我是一个有信仰的水果`,titleNum: 1,imgSrc: '/Common/logo.png',componentData: {},nextSection: false,adStyle: {backgroundColor: '#4A90E2'},rewarded: {adUnitId: "testx9dtjwj8hp",errStr: ""}},onInit() {// this.$page.setNavigationBar({visible: false})this.$page.setTitleBar({text: 'adExample',textColor: '#ffffff',backgroundColor: '#007DFF',backgroundOpacity: 0.5,menu: true})},onReady(options) {this.loadRewardAd();},loadRewardAd() {// 判断是否支持广告服务,如果返回空字符串,则无法使用广告服务this.provider = ad.getProvider(); console.log("getProvider : " + this.provider)if (this.provider !== "huawei") {console.info("the device does not support ad.");return;}// 创建广告rewardedVideoAd = ad.createRewardedVideoAd({adUnitId: this.rewarded.adUnitId});// 拉取广告成功rewardedVideoAd.onLoad(() => {this.rewarded.errStr = "";console.log("onRewardedLoaded")});// 拉取广告失败rewardedVideoAd.onError(e => {console.error("load rewarded video ad error:" + JSON.stringify(e));this.rewarded.errStr = JSON.stringify(e);});// 监听激励视频广告的关闭rewardedVideoAd.onClose(res => {console.log("rewarded ad onClose is watch end: " + res.isEnded);if (res.isEnded) {var that = thisthat.titleNum = that.titleNum + 1that.title = '民族有希望'this.nextSection = trueprompt.showToast({message: "成功解锁章节!",duration: 2000,gravity: "center"});}//下一次广告预加载rewardedVideoAd.load();});// 拉取广告数据rewardedVideoAd.load();},backClick() {this.nextSection = false},nextClick(e) {console.log(e, '---->')if (!this.nextSection) {prompt.showDialog({title: '观看视频免费解锁下一章节',message: '当前免费章节已试读完毕,观看视频免费解锁下一章节!',buttons: [{text: '确定',color: '#4a90e2'},{text: '取消',color: 'red'}],success: function (data) {console.log("handling callback", data.index, data.index === 0);if (data.index === 0) {// 上报广告曝光rewardedVideoAd.show();} else {console.log(rewardedVideoAd)// 销毁激励视频广告rewardedVideoAd && rewardedVideoAd.destroy();}}})return}}}
</script>
【效果展示】
相关文章:

【快应用】快应用广告学习之激励视频广告
【关键词】 快应用、激励视频广告、广告接入 【介绍】 一、关于激励视频广告 定义:用户通过观看完整的视频广告,获得应用内相关的奖励。适用场景:游戏/快游戏的通关、继续机会、道具获取、积分等场景中,阅读、影音等应用的权益体系…...

国产化系统中遇到的视频花屏、卡顿以及延迟问题的记录与总结
目录 1、国产化系统概述 1.1、国产化操作系统与国产化CPU 1.2、国产化服务器操作系统 1.3、当前国产化系统的主流配置 2、视频解码花屏与卡顿问题 2.1、视频解码花屏 2.2、视频解码卡顿 2.3、关于I帧和P帧的说明 3、国产显卡处理速度慢导致图像卡顿问题 3.1、视频延…...

go内存管理机制
golang内存管理基本是参考tcmalloc来进行的。go内存管理本质上是一个内存池,只不过内部做了很多优化:自动伸缩内存池大小,合理切割内存块。 基本概念: Page:页,一块 8 K大小的内存空间。Go向操作系统申请和…...

【Python】Web学习笔记_flask(5)——会话cookie对象
HTTP是无状态协议,一次请求响应结束后,服务器不会留下对方信息,对于大部分web程序来说,是不方便的,所以有了cookie技术,通过在请求和响应保温中添加cookie数据来保存客户端的状态。 html代码: …...

用友U8+CRM 任意文件上传+读取漏洞复现
0x01 产品简介 用友U8 CRM客户关系管理系统是一款专业的企业级CRM软件,旨在帮助企业高效管理客户关系、提升销售业绩和提供优质的客户服务。 0x02 漏洞概述 用友 U8 CRM客户关系管理系统 getemaildata.php 文件存在任意文件上传和任意文件读取漏洞,攻击…...

【量化课程】08_1.机器学习量化策略基础实战
文章目录 1. 常用机器学习模型1.1 回归模型1.2 分类模型1.2.1 SVC介绍1.2.2 SVC在量化策略中的应用 2. 机器学习量化策略实现的基本步骤3. 策略实现 1. 常用机器学习模型 1.1 回归模型 线性回归多层感知器回归自适应提升树回归随机森林回归 1.2 分类模型 线性分类支持向量机…...
Mongodb 更新集合的方法到底有几种 (中) ?
更新方法 Mongodb 使用以下几种方法来更新文档 , Mongodb V5.0 使用 mongosh 客户端: db.collection.updateOne(<filter>, <update>, <options>) db.collection.updateMany(<filter>, <update>, <options>) db.c…...

预演攻击:谁需要网络靶场,何时需要
"网络演习 "和 "网络靶场 "几乎是当今信息安全领域最流行的词汇。与专业术语不同的是,这些词对于企业和高级管理人员来说早已耳熟能详:法律要求他们进行演习,包括网络演习,而网络射击场也经常在企业界和媒体上…...

【Linux】IO多路转接——poll接口
目录 poll初识 poll函数 poll服务器 poll的优点 poll的缺点 poll初识 poll也是系统提供的一个多路转接接口。 poll系统调用也可以让我们的程序同时监视多个文件描述符上的事件是否就绪,和select的定位是一样的,适用场景也是一样的。 poll函数 po…...
系统架构设计师---OSI七层协议
目录 OSI七层协议 各层主要功能和详细说明 Internet协议的主要协议及其层次关系...

Next.js - Route Groups(路由组)
路由组的作用 在应用程序目录中,嵌套文件夹通常会映射到 URL 路径。不过,您可以将文件夹标记为路由组,以防止该文件夹包含在路由的 URL 路径中。 这样就可以在不影响 URL 路径结构的情况下,将路由段和项目文件组织到逻辑组中。 …...

musl libc ldso 动态加载研究笔记:01
前言 musl 是一个轻量级的标准C库,建立在系统调用之上,可以认为是【用户态】的C 库,与 glibc 或者 uClibc 属于同一类。 基于 musl 的 gcc 工具链包括交叉编译工具链,可以用于编译 Linux 或者其他的操作系统,如当前 L…...

2023 年 4 款适用于安卓手机的最佳 PDF 转 Word 转换器
尝试在 Android 上将 PDF 文档转换为 Word 文件?好吧,您可能会发现要让它发挥作用几乎是不可能的,至少在没有任何额外工具的情况下是这样。Web 上有用于此类转换的选项,但本地不一定会发生任何情况(可能除了一个应用程…...

前端:运用html+css+jquery.js实现截图游戏
前端:运用htmlcssjquery.js实现截图游戏 1. 前言2. 实现原理3. 参考代码和运行结果 1. 前言 最近在刷手机视频时,总是能刷到一个这样的视频,视频上是一个截图游戏,当图片上的某个片段正好在图片的正确位置时,暂停视频,…...

Maven之JDK编译问题
IDEA Maven 默认使用 JDK 1.5 编译问题 IDEA 在「调用」maven 时,IDEA 默认都会采用 JDK 1.5 编译,不管你安装的 JDK 版本是 JDK 7 还是 JDK 8 或者更高。这样一来非常不方便,尤其是时不时使用 JDK 7/8 的新特性时。如果使用新特性ÿ…...

开发测试框架一 - 创建springboot工程及基础操作
一、创建及运行方式 1. 从官网导入: 注意:由于我的java版本是1.8;所以选中了spring2.7.14;如果你的java版本是9及以上,选中spring3相关的同时Java 版本也要对应起来 2. 创建第一个get请求 创建Controller package及…...

【IMX6ULL驱动开发学习】08.马达驱动实战:驱动编写、手动注册平台设备和设备树添加节点信息
目录 一、使用设备树 1.1 修改设备树流程 二、手动创建平台设备 三、总结(附驱动程序) 前情提要:【IMX6ULL驱动开发学习】07.驱动程序分离的思想之平台总线设备驱动模型和设备树_阿龙还在写代码的博客-CSDN博客 手动注册…...

直方图均衡化和自适应直方图均衡化
前言: Hello大家好,我是Dream。 均衡化是数字图像处理中常用的一种技术,用于增强图像的视觉效果和对比度。,今天我们将实现对同一张图像的直方图均衡化和自适应直方图均衡化处理,学习一下两者的的基本原理和实现过程&a…...

京东门详一码多端探索与实践 | 京东云技术团队
本文主要讲述京东门详业务在支撑过程中遇到的困境,面对问题我们在效率提升、质量保障等方向的探索和实践,在此将实践过程中问题解决的思路和方案与大家一起分享,也希望能给大家带来一些新的启发 一、背景 1.1、京东门详介绍 1.1.1、京东门…...

数据挖掘 | 零代码采集房源数据,支持自动翻页、数据排重等
1 前言 城市规划、商业选址等应用场景中经常会对地区房价、地域价值进行数据分析,其中地区楼盘房价是分析数据中重要的信息参考点,一些互联网网站上汇聚了大量房源信息,通过收集此类数据,能够对地区房价的分析提供参考依据。 如何…...

第19节 Node.js Express 框架
Express 是一个为Node.js设计的web开发框架,它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用,和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...

国防科技大学计算机基础课程笔记02信息编码
1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制,因此这个了16进制的数据既可以翻译成为这个机器码,也可以翻译成为这个国标码,所以这个时候很容易会出现这个歧义的情况; 因此,我们的这个国…...

python/java环境配置
环境变量放一起 python: 1.首先下载Python Python下载地址:Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个,然后自定义,全选 可以把前4个选上 3.环境配置 1)搜高级系统设置 2…...
Web 架构之 CDN 加速原理与落地实践
文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 …...

视觉slam十四讲实践部分记录——ch2、ch3
ch2 一、使用g++编译.cpp为可执行文件并运行(P30) g++ helloSLAM.cpp ./a.out运行 二、使用cmake编译 mkdir build cd build cmake .. makeCMakeCache.txt 文件仍然指向旧的目录。这表明在源代码目录中可能还存在旧的 CMakeCache.txt 文件,或者在构建过程中仍然引用了旧的路…...

免费数学几何作图web平台
光锐软件免费数学工具,maths,数学制图,数学作图,几何作图,几何,AR开发,AR教育,增强现实,软件公司,XR,MR,VR,虚拟仿真,虚拟现实,混合现实,教育科技产品,职业模拟培训,高保真VR场景,结构互动课件,元宇宙http://xaglare.c…...
Python+ZeroMQ实战:智能车辆状态监控与模拟模式自动切换
目录 关键点 技术实现1 技术实现2 摘要: 本文将介绍如何利用Python和ZeroMQ消息队列构建一个智能车辆状态监控系统。系统能够根据时间策略自动切换驾驶模式(自动驾驶、人工驾驶、远程驾驶、主动安全),并通过实时消息推送更新车…...

day36-多路IO复用
一、基本概念 (服务器多客户端模型) 定义:单线程或单进程同时监测若干个文件描述符是否可以执行IO操作的能力 作用:应用程序通常需要处理来自多条事件流中的事件,比如我现在用的电脑,需要同时处理键盘鼠标…...
鸿蒙(HarmonyOS5)实现跳一跳小游戏
下面我将介绍如何使用鸿蒙的ArkUI框架,实现一个简单的跳一跳小游戏。 1. 项目结构 src/main/ets/ ├── MainAbility │ ├── pages │ │ ├── Index.ets // 主页面 │ │ └── GamePage.ets // 游戏页面 │ └── model │ …...

对象回调初步研究
_OBJECT_TYPE结构分析 在介绍什么是对象回调前,首先要熟悉下结构 以我们上篇线程回调介绍过的导出的PsProcessType 结构为例,用_OBJECT_TYPE这个结构来解析它,0x80处就是今天要介绍的回调链表,但是先不着急,先把目光…...