挺久没更新公众号了,今天给大家写一个uniapp简单封装的激励广告和插屏广告的教程,主要的解决的问题就是如果一个小程序页面多且需要调用的广告也比较多,这样会导致出现许多的重复代码,而且使得页面js文件看起来很繁琐,如果可以将其封装,那么只需要使用一行代码就可以实现调用了。

首先新建一个js文件,这里为演示方便取名为Utils.js,最好是在根目录新建一个文件夹然后将他放进去,方便之后的调用。

插屏广告由于没有其他的事件需要调用,相当可以独立运行,所以写起来很方便,所以在这个js文件中写起来其实和页面调用差不多,只是我们将广告id以一个参数的形式传进去,这样之后就可以直接调用了,代码如下:

var interstitialAd = null;
let interstitial = {load(id) {if (uni.createInterstitialAd) {interstitialAd = uni.createInterstitialAd({adUnitId: id})interstitialAd.onLoad(() => {console.log('插屏广告加载中')})interstitialAd.onError((err) => {console.log('加载错误', err)})interstitialAd.onClose((res) => {console.log('插屏广告关闭', res)})}},show() {if (interstitialAd) {interstitialAd.show().catch((err) => {console.error(err)})}}
}

这里可以看出interstitial对象有两个函数,一个是加载函数,一个是显示函数,然后我们将他们导出就可以了,由于我们还需要将激励广告也封装进去,那么稍后我们再一起导出。

激励广告这里我们需要传递两个参数,一个是广告id,一个是激励广告完成后的奖励事件,代码如下:

var videoAd = null;
let rewarded = {load(id, e) {if (uni.createRewardedVideoAd) {videoAd = uni.createRewardedVideoAd({adUnitId: id})videoAd.onError(err => {})videoAd.onClose((status) => {if (status && status.isEnded || status === undefined) {e()} else {}})}},show() {if (videoAd) {videoAd.show().catch(() => {// 失败重试videoAd.load().then(() => videoAd.show()).catch(err => {console.log('激励视频 广告显示失败')})})}}}

其中e就是传入的奖励事件,如何使用待会给大家讲解,最后我们将这两个封装好的对象导出就可以了,代码如下:

module.exports = {interstitial,rewarded
};

这样Utils.js文件就已经完成了,如果你还需要封装其他的对象也可以按照上诉方法进行操作。

首先在你需要调用广告的页面导入这个js文件,代码如下:

import Utils from '../../utils/Utils.js';

注意文件的相对路径不要写错,不过你写错ide也会给你报错的。

插屏广告

在onLoad里面加载插屏广告,代码如下:

Utils.interstitial.load('你的广告id')

展示插屏广告,代码如下:

Utils.interstitial.show()

激励广告

在onLoad里面加载激励广告,代码如下:

Utils.rewarded.load('adunit-85e98527c651f48f', () => {//这里写你的任意奖励事件
});

展示激励视频广告,代码如下:

Utils.rewarded.show();

以上就是本章的全部内容,更多优质内容请关注本公众号。

uniapp简单封装的激励广告和插屏广告相关推荐

  1. uniapp封装的激励广告和插屏广告以及banner广告

    uniapp简单封装的激励广告和插屏广告 今天给大家写一个uniapp简单封装的激励广告和插屏广告的教程,主要的解决的问题就是如果一个小程序页面多且需要调用的广告也比较多,这样会导致出现许多的重复代码 ...

  2. 谷歌AdMob广告接入(插屏广告)

    谷歌AdMob广告接入(插屏广告) 第一步:翻墙注册并登陆AdMob开发者平台第二步:添加广告,获取广告单元ID第三步:导入sdk, android studio可直接关联依赖:com.google. ...

  3. js实现banner广告和插屏广告

    <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8" ...

  4. uniapp 小程序 加载显示插屏广告

    uniapp插屏广告文档uni-app官网uni-app:一个使用 Vue.js 开发跨平台应用的前端框架https://uniapp.dcloud.io/api/a-d/interstitial微信 ...

  5. 微信小程序接入广告(banner广告 激励视频广告 插屏广告)

    1.banner广告 <ad unit-id="{{ adUnitId }}"></ad> 2.视频广告 <ad unit-id="{{ a ...

  6. 6月红包广告插屏广告 视频广 激励广告源码【开源无授权版】2021最新微信红包封面小程序源码/带文字搭建教程

    源码介绍 此小程序适合流量主引流,赚广告费,适合广流量主,适合流量主,适合流量主懂.所以懂的都懂,不要问我封面去哪里整.采用云开发,无需服务器,无需域名.小程序里插入banner广告,插屏广告,视频广 ...

  7. Uni-app开发App和插件以后如何开通广告盈利:uni-AD

    Uni-app 作为近些年国内逐渐兴起的跨平台开发架构,一次开发就可以完成小程序.iOS APP.安卓 APP. H5等平台的打包是受到关注的原因.于此同时,很多开发者也开始关注Uni-app架构之外 ...

  8. cocos2d-x 植入广告(二) 有米横屏、插屏广告和积分墙广告

    相比于百度广告的SDK,有米广告的植入就很简单了,因为有米提供的有cocos2d-x的demo,基本上就是看着文档的流程,照着demo写自己的代码. [申请发布ID和应用密钥,下载SDK] 1.上传应 ...

  9. 插屏广告怎么玩?这些优化要点请get~

    在 2021 年一系列开屏广告合规整改政策之后,插屏广告成为了许多开发者调优广告策略的重要补充:并且,随着越来越多的广告预算向插屏广告倾斜,插屏样式的 eCPM 也随之推高. 所谓插屏广告,是用户在应 ...

最新文章

  1. c++纯虚函数在父类中调用的规避
  2. 了解零信任-SDP关系
  3. 程序员面试100题之六:最长公共子序列
  4. TianyaDL_4thread天涯帖子下载4线程版
  5. APP技巧:盘点微信去年更新的9个更新功能,你都知道吗?
  6. SAP License:后SAP ECC 6.0 时代
  7. scala练习100道解析
  8. CentOS7 yum 安装 maven
  9. 计算机金融学校排名2015,金融学院2015级各专业排名情况统计表
  10. hadoop学习笔记7-Azkaban
  11. MySQL查询不同年份母亲节_不同国家的母亲节发展故事
  12. nginx 请求头转发
  13. 攻防世界——web高手进阶区题解
  14. Total Access Emailer维护审计跟踪
  15. 网络安全通识全解|第12期 《网络安全审查办法》解读
  16. 崇闵摄影课·10款日常后期视频调色LUT 支持PR/达芬奇/FCPX
  17. python语言基本语句-python基本语句
  18. 通用的JS表单验证插件代码
  19. 谷歌创始人拉里·佩奇和谢尔盖·布林发表了论文 The Pagerank Citation Rank :Bringing Order to the Web...
  20. MATLAB机器人工具箱的安装与下载(基于已经安装了MATLAB软件)

热门文章

  1. win7无法打开计算机共享文件夹,Win7共享文件夹无法访问怎么办?Win7共享文件夹无法访问解决方法...
  2. 西北工业大学明德学院计算机老师,师资队伍结构
  3. java ews_如何验证EWS Java API
  4. createBuilderConfig 0XFFFF异常
  5. web scraper翻页功能的实现
  6. 【JAVA】文件储存——File
  7. vue、dom、监听扫码枪 输入框与全屏获取扫码输入的结果 及 非扫码输入的结果 单输入框 多状态接口查询
  8. WSTMart 1.4.2 发布,让 bug 不再飞
  9. RMON学习笔记(一)
  10. PC博物馆(番外01)-城会玩,初中生开发实体尺规大航海游戏