quick_快应用_广告接入

目录

      • 接入厂商广告
        • oppo广商接入广告
          • banner广告
          • 信息流广告
            • [1] 组件封装
            • [2] 渲染数据
            • [3] 测试
            • [4] 样式调整
            • [5] 加载失败
            • [6] 预加载
            • [7] 应用要素信息

接入厂商广告

广告接口

  • [1] 接口声明

    {"name":"service.ad"}
    
  • [2] 导入模块

    import ad from '@service.ad'const ad = require('@service.ad')
    
  • [3] 获取服务提供商

    由于各厂商的尺寸不同,开发的时候需要进行区分,所以先获取厂商

    ad.getProvider() // OPPO vivo ....
    

tips: 根据规范,快应用一个页面中只能添加最多2个广告。

oppo广商接入广告

广告接入流程
在这里插入图片描述

banner广告

banner广告

信息流广告

信息流广告
信息流广告相较banner广告的优势是 => 广告使用组件的方式进行展示,开发者可以自定义广告内容的排版与样式。

[1] 组件封装

直接使用“使用实例”进行组件封装。

<template><div><text class="btn" onclick="reload">重新加载广告</text><adif="{{ showAd }}"adunitid="{{ adunitid }}"class="ad-native"onload="adLoad(evt)"onerror="adError(err, evt)"onadclick="adClick"onadshow="adShow"type="native"><ad-clickable-area class="ad-content"><slot><!-- 广告可以按照UI样式进行编写 --></slot></ad-clickable-area><div class="ad-close" onclick="onclose"><text>关闭</text></div></ad></div>
</template>
<script>
import prompt from '@system.prompt'
// JS部分请尽量按照广告示例demo编写
export default {data: {showAd: true,adunitid: '', // 等待快应用上线之后创建广告位的idadData: { // 此处广告的初始值需严格按照文档来imgUrlList: [],title: '',desc: '',clickBtnTxt: ''},},// 信息流广告展示成功adLoad(evt) {if (evt && evt.adData) {const adData = JSON.parse(evt.adData)this.adData = adData}},// 广告展示回调事件成功触发adShow(evt){},// 广告点击回调事件成功触发adClick(evt) {},// 信息流广告展示失败adError(err, evt) {if(err) {console.log('adError 信息流广告加载出错:', err)} else if(evt) {prompt.showToast({message: '信息流广告展示失败:' + evt.errCode + ', errMsg=' + evt.errMsg})}},// 信息流广告重新加载reload() {// 可通过 if 先销毁原广告组件,再重新创建广告组件,达到重新加载的效果this.showAd = falsesetTimeout(() => {this.adData = {imgUrlList: [],title: '',desc: '',clickBtnTxt: ''}this.showAd = true}, 500)},// 关闭广告onclose() {this.showAd = false}
}
</script>
<style lang="less">
.btn {height: 86px;border: 1px solid #333;padding: 20px;
}.ad-native {background-color: lightgray;width: 100%;height: 100%;position: relative;.ad-content {width: 100%;height: 100%;}.ad-close {width: 50px;height: 30px;background-color: gray;opacity: 0.5;position: absolute;margin-left: 700px;text {font-size: 20px;padding: 5px;color: #ffffff;}}
}
</style>
[2] 渲染数据

在信息流加载(adLoad方法中)时返回的adData对象中的数据格式如下,
开发者可以根据返回值进行排版与样式编写。
在这里插入图片描述

[3] 测试

模拟器不支持广告,在模拟器中是看不到真实广告返回值以及数据渲染的。

需要在真机上进行测试。我在真机上进行测试报错:

java.lang.IllegalArgumentException: Unsupported element: ad-clickable-area

🤔难道ad组件不能用?还是版本太低不合适? (我是在1070版本上进行测试的)

事实是因为oppo的包名是com.nearme.instant.platform,因此在测试之前需要将快应用预览版切换为oppo快应用。

需使用oppo引擎进行调试,使用联盟预览版是无法调试oppo广告的

在这里插入图片描述

[4] 样式调整

ad组件必须设置宽高,否则可能会导致布局异常。
在这里插入图片描述

[5] 加载失败

广告存在加载失败的情况,失败状态码如下:
在这里插入图片描述

[6] 预加载

1、由于ad组件显示时才会去请求广告素材,因此当页面渲染完成后需要一定的时间才会显示广告,若希望即时显示广告,可以使用广告预加载接口(文档后面有相关描述),提前请求广告素材。

tips: 使用预加载 加载广告成功的概率高些!

import ad from '@service.ad'
export default{onInit() {this.adPreloaded()},// 广告预加载,5.2以后就不需要提前使用了adPreloaded() {ad.preloadAd({adUnitId: this.adunitid,type: 'native',success: (data) => {console.log(data, '预加载成功')},fail: function (err, code) {console.log(err, code, '预加载失败')}})}
}
[7] 应用要素信息

发现在请求的广告中 某些广告存在下图所示的应用要素信息
在这里插入图片描述
而且开发无法修改文本和按钮的内容以及样式。

此时可以联系oppo快应用的技术,他可以去掉这些信息的展示。

若是想展示这些信息(同时可以修改这些信息的样式),可以使用应用要素信息组件
在这里插入图片描述

<div class="ad-content-footer" if="{{ adData.hasPrivacy }}"><text class="ad-content-footer-version">{{adData.appInfo.appVersion}}</text><div class="ad-content-footer-line"></div><text class="ad-content-footer-company">{{adData.appInfo.developer}}</text><div class="ad-content-footer-line"></div><ad-clickable-areaclass="ad-content-footer-private"type="privacy"font-size="11dp"color="rgb(245, 34, 34)"></ad-clickable-area>
</div>

tips: 只有adLoad加载广告返回信息中的hasPrivacy为true时type为privacy才有效果,否则不显示。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/189054.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[FUNC]判断窗口在哪一个屏幕上

#Requires AutoHotkey v2.0#z:: { ToolTip "Notepad窗口所在显示屏是&#xff1a;" GetMonitor() } GetMonitor() {CoordMode("Mouse", "Screen"); MouseGetPos &mx, &myWinGetPos &mx, &my,,,"ahk_class Notepad"…

【小布_ORACLE笔记】Part11-6 RMAN Backups

【小布_ORACLE笔记】Part11-6 RMAN Backups 1.track文件的作用 当做差异性备份时&#xff0c;server process对应的RMAN客户端的server process就不用去每个块每个块的检查&#xff0c;只要到trackfile 里面去读一下&#xff0c;看哪个块改变了就直接把哪个块备份下来&#x…

matlab 混沌动力学行为-分岔图-李雅普指数等

1、内容简介 略 24-可以交流、咨询、答疑 2、内容说明 混沌动力学行为-分岔图-李雅普指数等 包含各种类型的混沌模型求解&#xff0c;包含其分叉图、李雅普指数等 混沌、分叉图、李雅普指数 3、仿真分析 略 4、参考论文 略 链接&#xff1a;https://pan.baidu.com/…

无限移动的风景 css3 动画 鼠标移入暂停

<style>*{margin:0;padding:0;/* box-sizing: border-box; */}ul{list-style: none;}#nav{width:900px;height:100px;border:2px solid rgb(70, 69, 69);margin:100px auto; overflow: hidden;}#nav ul{animation:moving 5s linear infinite;width:200%; /*怎么模拟动画…

【已解决】Cannot find project Scala library 2.11.8 for module XXX

问题描述 在 flink 示例程序调试过程中&#xff0c;reload project 报错 Cannot find project Scala library 2.11.8 for module HbasePrint 报错如下图所示&#xff1a; 问题解决 经过搜索&#xff0c;初步判定是 pom 文件中 Scala 版本配置和项目中实际使用的版本不一致导…

在 SQL Server 中备份和恢复数据库的最佳方法

在SQL Server中&#xff0c;创建备份和执行还原操作对于确保数据完整性、灾难恢复和数据库维护至关重要。以下是备份和恢复过程的概述&#xff1a; 方法 1. 使用 SQL Server Management Studio (SSMS) 备份和还原数据库 按照 SSMS 步骤备份 SQL 数据库 打开 SSMS 并连接到您…

什么是OV SSL证书?

OV SSL证书是组织验证SSL证书的缩写&#xff0c;是三个SSL验证级别之一的名称。 OV是指实名类型的SSL证书&#xff0c;这个实名其实只要证明发布者身份就可以签发&#xff0c;无论是个人还是企业都可以进行申请。 SSL证书大家都知道就是用于网站地址的http改成https加密协议的…

Redis部署-主从模式

目录 单点问题 主从模式 解析主从模式 配置redis主从模式 info replication命令查看复制相关的状态 断开复制关系 安全性 只读 传输延迟 拓扑结构 数据同步psync replicationid offset psync运行流程 全量复制流程 无硬盘模式 部分复制流程 积压缓冲区 实时复…

如何生成纯文本的目录树

参考资料&#xff1a; https://ascii-tree-generator.com/ 无需多言&#xff0c;感谢这些前辈的智慧。界面如下&#xff1a;

河南省第一届职业技能大赛网络安全项目试题

河南省第一届职业技能大赛 网络安全项目试题 一、竞赛时间 总计&#xff1a;420分钟 竞赛阶段 竞赛阶段 任务阶段 竞赛任务 竞赛时间 分值 A模块 A-1 登录安全加固 240分钟 200分 A-2 Web安全加固&#xff08;Web&#xff09; A-3 流量完整性保护与事件监控&am…

【AB平台数据建设】从实验平台到数据管道

文章目录 前言1.从AB实验平台聊起(1)AB平台在业务中的发挥那些作用(2)AB平台进行实验工作流介绍 2.实验平台底层数据管道最小MVP解构(1)数据管道数据从哪里来&#xff1f;(2)数据管道的输出数据有哪些&#xff1f; 小结 前言 AB实验平台是一种通过小范围放量&#xff0c;测试不…

Python 网络爬虫(一):HTML 基础知识

《Python入门核心技术》专栏总目录・点这里 文章目录 1. 什么是 HTML2. HTML 的特点3. HTML 的标签和属性4. HTML 的结构4.1 文档类型声明4.2 根元素4.3 头部部分4.4 主体部分4.5 表格标签4.6 区块4.7 嵌套和层次结构4.8 表单4.9 注释 5. HTML 交互事件 大家好&#xff0c;我是…

#zookeeper集群+kafka集群

kafka3.0之前是依赖于zookeeper的。 zookeeper是开源&#xff0c;分布式的架构。提供协调服务&#xff08;Apache项目&#xff09; 基于观察者模式涉及的分布式服务管理架构。 存储和管理数据。分布式节点上的服务接受观察者的注册。一旦分布式节点上的数据发生变化&#xf…

【快速见刊|投稿优惠】2024年机电一体与自动化技术国际学术会议(IACMAT 2024)

2024年机电一体与自动化技术国际学术会议(IACMAT 2024) 2024 International Academic Conference on Mechatronics and Automation Technology(IACMAT 2024) 一【会议简介】 2024年机电一体与自动化技术国际学术会议(IACMAT 2024)即将召开&#xff0c;它以“机电一体&#xff0…

2023年【安全员-B证】最新解析及安全员-B证免费试题

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 安全员-B证最新解析是安全生产模拟考试一点通生成的&#xff0c;安全员-B证证模拟考试题库是根据安全员-B证最新版教材汇编出安全员-B证仿真模拟考试。2023年【安全员-B证】最新解析及安全员-B证免费试题 1、【多选题…

用友U8 ERP和面粉行业专版系统接口集成方案

面粉加工行业面临着数据管理和业务流程自动化的挑战。众诚ERP系统和用友U8系统的数据集成是解决这一挑战的关键。 解决方案 轻易云平台提供了一套完善的数据同步和集成解决方案&#xff0c;包括以下几个方面&#xff1a; 基础资料同步&#xff1a;包括物料、客户、供应商、仓…

解决:AttributeError: ‘NoneType’ object has no attribute ‘shape’

解决&#xff1a;AttributeError: ‘NoneType’ object has no attribute ‘shape’ 文章目录 解决&#xff1a;AttributeError: NoneType object has no attribute shape背景报错问题报错翻译报错位置代码报错原因解决方法今天的分享就到此结束了 背景 在使用之前的代码时&…

【数值计算方法(黄明游)】矩阵特征值与特征向量的计算(二):Jacobi 过关法(Jacobi 旋转法的改进)【理论到程序】

文章目录 一、Jacobi 旋转法1. 基本思想2. 注意事项 二、Jacobi 过关法1. 基本思想2. 注意事项 三、Python实现迭代过程&#xff08;调试&#xff09; 矩阵的特征值&#xff08;eigenvalue&#xff09;和特征向量&#xff08;eigenvector&#xff09;在很多应用中都具有重要的数…

c语言:模拟实现atoi函数

atoi函数的功能和用法&#xff1a; 主要功能&#xff1a;将字符串转换为整数。例如&#xff0c;将字符类型的“123”转换为整数123. #include <stdio.h> #include <stdlib.h>int main() {char str[] "123";int num atoi(str);printf("Converted …

【matlab程序】画海洋流场

【matlab程序】画海洋流场 clear;clc; file ( ‘0227.nc’); latncread(file,‘latitude’); lonncread(file,‘longitude’); uncread(file,‘water_u’); vncread(file,‘water_v’); [x,y]meshgrid(lon,lat); xx’; yy’; interval4; figure (1) set(gcf,‘color’,[1 1 1…