tencentYLH

来自于:无意平常心立即使用

openSplash closeSplash openBanner closeBanner openInterstitial closeInterstitial openNative closeNative adjustNative openRewardVideo

论坛示例

为帮助用户更好更快的使用模块,论坛维护了一个示例(模块demo论坛帖链接),示例中包含示例代码、知识点讲解、注意事项等,供您参考。

模块demo论坛帖示例(仅供参考,提交模块的时候删除这一行):https://community.apicloud.com/bbs/thread-160345-1-1.html

概述

模块简介

腾讯广告联盟优量汇模块,实现了原生信息流、横幅、插屏、开屏、激励视频等主流样式。彻底告别信息流广告触摸误点带来的体验感极差的烦恼。并增加了调整原生信息流广告的位置接口,适用于页面可能发生动态改变的情况。使用之前须从腾讯广告联盟申请开发者账号并创建应用,获取 appId 和 对应的广告位 posId。不需要在config.xml中设置,可灵活调用posId。

使用方法

一. 使用之前须从如下腾讯广告联盟的页面申请开发者账号并创建应用,获取 appId 和 对应的广告位 posId。 腾讯广告联盟优量汇(原名广点通):http://adnet.qq.com/

二. 根据腾讯sdk的说明,强烈建议,获取用户的下列权限,会有助于提升cpm。

  1. 1. <permission name="readPhoneState"/>
  2. 2. <permission name="location" />
  3. 3. <permission name="internet" />

三. 添加本插件后,需要自定义Loader,再进行测试。

四. 其他注意事项:

  1. 1. 示例中引用的appIdposId为腾讯优量汇提供的测试id,请放心使用。
  2. 2. 在进行测试的时候,如果更换为自己的id,则要求包名必须与腾讯优量汇注册的包名一致,否则会提示相关的错误码。

五. 错误码信息如下:

  1. 0001 posId不能为空
  2. 0002 appId不能为空
  3. 0003 上一个广告还在加载中
  4. 0004 当前页面广告正在删除中
  5. 0005 激励视频广告已过期(优量汇下载的视频有效期30分钟)
  6. 0006 此条广告已经展示过
  7. 0007 视频还未加载完成就点击了显示
  8. 0008 广告的位置rect没设置
  9. 0009 要调整的tag的广告不存在

其余错误码,请参考如下腾讯优量汇的官方页面 https://developers.adnet.qq.com/doc/android/union/union_debug#sdk%20%E9%94%99%E8%AF%AF%E7%A0%81

模块接口

openSplash

打开开屏广告 openSplash({params}, callback(ret, err))

params

appId:

  • 类型:字符串
  • 描述:(必填)腾讯优量汇(原广点通)申请的应用appId
  • 默认值:无

posId:

  • 类型:字符串
  • 描述:(必填)腾讯优量汇(原广点通)申请的广告位id
  • 默认值:无

canJump:

  • 类型:布尔
  • 描述:(选填)用户点击跳过或者广告倒计时结束,是否自动关闭广告。如设置为false,可以收到回调dismiss后使用closeSplash关闭,并进行其他操作,此接口可以留给开发者做进一步调整业务流程。
  • 默认值:true,即时间结束或者点击倒计时时,关闭广告

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true //布尔型;true||false
  3. option: (值如下)
  4. "receive" -广告获取,准备展示
  5. "exposure"-曝光(开屏的曝光是在倒计时结束时触发)
  6. "dismiss"-用户点击跳过,或者倒计时结束
  7. "onclick"-用户点击了广告
  8. posId: "8863364436303842593" //当前广告位
  9. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. code: "0001" //字符串,请参考概述-使用方法里的错误码详情
  3. msg: "posId不能为空" //字符串,当前错误的问题
  4. }

示例代码

  1. var tencentYLH = api.require("tencentYLH");
  2. tencentYLH.openSplash({
  3. appId: '1101152570', //不可为空
  4. posId: '8863364436303842593', //不可为空
  5. canJump: true
  6. }, function(ret, err) {
  7. if (ret) {
  8. console.log(JSON.stringify(ret));
  9. }
  10. if (err) {
  11. console.log(JSON.stringify(err));
  12. }
  13. });

可用性

Android系统

可提供的1.0.0及更高版本

closeSplash

关闭开屏广告

closeSplash()

打开开屏广告时,如果canJump设置为false,在用户点击了跳过或者倒计时结束,广告不会自动关闭,此时会收到回调”dismiss”,开发者需要调用此接口关闭开屏,并进行下一些相关的业务逻辑操作。无回调。

示例代码

  1. var tencentYLH = api.require("tencentYLH");
  2. tencentYLH.closeSplash();

可用性

Android系统

可提供的1.0.0及更高版本

openBanner

打开横幅广告

openBanner({params}, callback(ret, err))

params

appId:

  • 类型:字符串
  • 描述:(必填)腾讯优量汇(原广点通)申请的应用appId
  • 默认值:无

posId:

  • 类型:字符串
  • 描述:(必填)腾讯优量汇(原广点通)申请的广告位id
  • 默认值:无

rect:

  • 类型:对象
  • 描述:广告位置
  • 内部字段

    1. {
    2. x:0, //(选填)起始位置的x坐标,默认0
    3. y:0, //(选填)起始位置的y坐标,默认0
    4. w:0, //(选填)广告的宽度,默认为(屏幕宽度-2*x)居中显示,banner广告的比例为默认的6.4:1,开发者可根据计算调整页面
    5. }

frameName:

  • 类型:字符串
  • 描述:(选填)需要绑定的页面,仅frame有效。window不能传,并且window下只能固定,不能滚动
  • 默认值:无

fixed:

  • 类型:布尔
  • 描述:(选填)是否需要跟随页面滚动,true-不滚动,false-跟随frame滚动,仅frameName设置了frame的情况有效
  • 默认值:true,即不跟随页面滚动

refreshTime:

  • 类型:数字
  • 描述:(选填)banner广告刷新的时间(秒),默认为30,必须大于30
  • 默认值:30

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true //布尔型;true||false
  3. option: (值如下)
  4. "receive" -广告获取,准备展示
  5. "exposure"-曝光(显示在屏幕中即触发)
  6. "onclick"-用户点击了广告
  7. "left"-用户点击广告后离开了当前页面
  8. "openoverlay"-用户点击了网页广告,在app内容浮层打开
  9. "closeoverlay"-用户关闭了浮层页面
  10. "close"-用户关闭了广告
  11. posId: "8863364436303842593" //当前广告位
  12. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. code: "0001" //字符串,请参考概述-使用方法里的错误码详情
  3. msg: "posId不能为空" //字符串,当前错误的问题
  4. }

示例代码

  1. var tencentYLH = api.require("tencentYLH");
  2. tencentYLH.openBanner({
  3. appId: 1101152570, //腾讯优量汇的appId
  4. posId: 4080052898050840 //banner2.0广告位的id
  5. rect: {
  6. x: 10,
  7. y: 200,
  8. w: 0,
  9. },
  10. frameName: api.frameName,
  11. fixed: false,
  12. refreshTime: 30
  13. }, function(ret, err) {
  14. if (ret) {
  15. console.log(JSON.stringify(ret));
  16. }
  17. if (err) {
  18. console.log(JSON.stringify(err));
  19. }
  20. });

可用性

Android系统

可提供的1.0.0及更高版本

closeBanner

关闭当前页面的横幅banner广告

closeBanner()

示例代码

  1. var tencentYLH = api.require("tencentYLH");
  2. tencentYLH.closeBanner();

可用性

Android系统

可提供的1.0.0及更高版本

openInterstitial

打开插屏广告(含popUp类型插屏广告)

openInterstitial({params}, callback(ret, err))

params

appId:

  • 类型:字符串
  • 描述:(必填)腾讯优量汇(原广点通)申请的应用appId
  • 默认值:无

posId:

  • 类型:字符串
  • 描述:(必填)腾讯优量汇(原广点通)申请的广告位id
  • 默认值:无

popUp:

  • 类型:布尔
  • 描述:(选填)是否是popUp类型(背景页面是否滚动),true-背景页面仍可滚动,false-背景页面不可滚动
  • 默认值:true,即插屏广告显示时,背景页面仍可滚动

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true //布尔型;true||false
  3. option: (值如下)
  4. "receive" -广告获取,准备展示
  5. "show" -插屏广告在屏幕打开(弹出)成功 (仅插屏有)
  6. "exposure"-曝光
  7. "onclick"-用户点击了广告
  8. "left"-用户点击广告后离开了当前页面
  9. "close"-用户关闭了广告
  10. posId: "8863364436303842593" //当前广告位id
  11. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. code: "0001" //字符串,请参考概述-使用方法里的错误码详情
  3. msg: "posId不能为空" //字符串,当前错误的问题
  4. }

示例代码

  1. var tencentYLH = api.require("tencentYLH");
  2. tencentYLH.openInterstitial({
  3. popUp: false, //是否为pop插屏,如果设置为false,当前页面将不能滑动
  4. appId: 1101152570,
  5. posId: 8020259898964453
  6. }, function(ret, err) {
  7. if (ret) {
  8. console.log(JSON.stringify(ret));
  9. }
  10. if (err) {
  11. console.log(JSON.stringify(err));
  12. }
  13. });

可用性

Android系统

可提供的1.0.0及更高版本

closeInterstitial

关闭当前页面的插屏广告(含popUp类型插屏广告)

closeInterstitial()

示例代码

  1. var tencentYLH = api.require("tencentYLH");
  2. tencentYLH.closeInterstitial();

可用性

Android系统

可提供的1.0.0及更高版本

openNative

打开原生信息流广告(模板渲染)

openNative({params}, callback(ret, err))

params

appId:

  • 类型:字符串
  • 描述:(必填)腾讯优量汇(原广点通)申请的应用appId
  • 默认值:无

posId:

  • 类型:字符串
  • 描述:(必填)腾讯优量汇(原广点通)申请的广告位id
  • 默认值:无

rect:

  • 类型:对象
  • 描述:广告位置
  • 内部字段

    1. {
    2. x:0, //(选填)起始位置的x坐标,默认0
    3. y:0, //(选填)起始位置的y坐标,默认0
    4. w:0, //(选填)广告的宽度,默认为(屏幕宽度-2*x)即居中显示,高度会根据渲染的结果进行回调,请参考callback,开发者可根据回调的高度,来调整信息流广告位置的高度。
    5. }

frameName:

  • 类型:字符串
  • 描述:(选填)需要绑定的页面,仅frame有效。window不能传,并不能随window滚动
  • 默认值:无

fixed:

  • 类型:布尔
  • 描述:(选填)是否需要跟随页面滚动,true-不滚动,false-跟随frame滚动,仅当frameName传frame值时有效
  • 默认值:false,跟随frame滚动

tag: -类型:数字 -描述:(选填)指定当前广告位的一个标记,可用于adjustNative调整位置时使用。 -默认值:无

videoPolicy:

  • 类型:字符串
  • 描述:(选填)当获取的广告为视频时,播放的策略。”always”-总是自动播放,”wifi”-仅wifi情况下自动播放,”manual”-任何时候都是用户手动点击播放。
  • 默认值:”always”

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true //布尔型;true||false
  3. option: (值如下)
  4. "receive"-广告获取,准备展示(在ret.data.titleLines里会附带广告标题计算的行数,仅开发者参考)
  5. "heightchange"-原生信息流广告高度变化时回调,渲染过程,可能会变化2次以上,为了方便开发者根据广告高度,调整界面的高度。(广告高度通过ret.height获取)
  6. "renderfail"-原生信息流广告获取后,但是因其他原因渲染失败
  7. "rendersuccess"-原生信息流广告渲染成功
  8. "exposure"-曝光
  9. "onclick"-用户点击了广告
  10. "left"-用户点击广告后离开了当前页面
  11. "openoverlay"-用户点击了网页广告,在app内容浮层打开
  12. "closeoverlay"-用户关闭了浮层页面
  13. "close"-用户关闭了广告
  14. posId: "8863364436303842593" //当前广告位
  15. height: 300 //广告的高度,仅在广告渲染过程高度改变的时候ret.option = "heightchange"时回调
  16. adInfo: { //广告的相关信息,heightchange|renderfail-无此回调
  17. title: "..." //广告标题
  18. desc: "..." //广告描述
  19. patternType: "0" //广告类型,请参考优量汇sdk文档
  20. }
  21. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. code: "0001" //字符串,请参考概述-使用方法里的错误码详情
  3. msg: "posId不能为空" //字符串,当前错误的问题
  4. }

示例代码

  1. var tencentYLH = api.require("tencentYLH");
  2. tencentYLH.openNative({
  3. posId: '7030020348049331',
  4. appId: '1101152570',
  5. rect: {
  6. x: 0,
  7. y: 0,
  8. w: 0,
  9. },
  10. frameName: api.frameName,
  11. fixed: false
  12. }, function(ret, err) {
  13. if (ret) {
  14. console.log(JSON.stringify(ret));
  15. }
  16. if (err) {
  17. console.log(JSON.stringify(err));
  18. }
  19. });

可用性

Android系统

可提供的1.0.0及更高版本

closeNative

关闭当前页面的所有原生信息流广告(模板渲染)

closeNative()

示例代码

  1. var tencentYLH = api.require("tencentYLH");
  2. tencentYLH.closeNative();

可用性

Android系统

可提供的1.0.0及更高版本

adjustNative

调整原生信息流广告的位置(模板渲染)

adjustNative({params}, callback(ret, err))

params

tag:

  • 类型:数字
  • 描述:(必填)指定要调整位置广告位的标记(在openNative中打开广告时,设置的tag)。
  • 默认值:无

rect:

  • 类型:对象
  • 描述:调整的广告新位置
  • 内部字段

    1. {
    2. x:0, //(选填)起始位置的x坐标,默认0
    3. y:0, //(选填)起始位置的y坐标,默认0
    4. w:0, //(选填)广告的宽度,默认为(屏幕宽度-2*x)即居中显示。
    5. }

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true //布尔型;true||false
  3. option: (值如下)
  4. "adjust"-广告位置调整成功
  5. posId: "8863364436303842593" //当前广告位
  6. adInfo: { //广告的相关信息
  7. title: "..." //广告标题
  8. desc: "..." //广告描述
  9. patternType: "0" //广告类型,请参考优量汇sdk文档
  10. }
  11. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. code: "0009" //字符串,请参考概述-使用方法里的错误码详情
  3. msg: "tag对应的广告不存在" //字符串,当前错误的问题
  4. }

示例代码

  1. var tencentYLH = api.require("tencentYLH");
  2. tencentYLH.adjustNative({
  3. rect: {
  4. x: 0,
  5. y: 0,
  6. w: 0
  7. },
  8. tag: 1
  9. }, function(ret, err) {
  10. if (ret) {
  11. console.log(JSON.stringify(ret));
  12. }
  13. if (err) {
  14. console.log(JSON.stringify(err));
  15. }
  16. });

可用性

Android系统

可提供的1.0.0及更高版本

openRewardVideo

下载、展示、下载并展示激励视频

openRewardVideo({params}, callback(ret, err))

如果没有下载视频,直接展示将会失败。正常的流程是:先下载视频,监听到视频已经缓存videoCached后,再展示视频。如果开发者想省事,可以直接使用downloadShow,下载后即可马上展示视频。

params

appId:

  • 类型:字符串
  • 描述:(必填)腾讯优量汇(原广点通)申请的应用appId
  • 默认值:无

posId:

  • 类型:字符串
  • 描述:(必填)腾讯优量汇(原广点通)申请的广告位id
  • 默认值:无

option:

  • 类型:字符串
  • 描述:(必填)download-下载视频, show-展示视频, downloadShow-下载并展示视频。如果没有下载视频,直接展示将会失败。正常的流程是:先下载视频,监听到视频已经缓存videoCached后,再展示视频。如果开发者想省事,可以直接使用downloadShow,下载后即可马上展示视频。
  • 默认值:无

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true //布尔型;true||false
  3. option: (值如下)
  4. "videoLoad"-激励视频加载成功,准备缓存视频
  5. "videoCached"-激励视频缓存成功(如果是download下载激励视频,到此步停止)
  6. "videoShow"-激励视频开始展示
  7. "videoExpose"-激励视频曝光
  8. "videoComplete"-激励视频播放完成
  9. "videoReward"-激励视频奖励,开发者监听到这里,就可以给用户进行积分奖励。
  10. "videoOnclick"-激励视频播放结束后,广告按钮被点击
  11. "videoClose"-激励视频页面被关闭
  12. posId: "8863364436303842593" //当前广告位
  13. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. code: "0001" //字符串,请参考概述-使用方法里的错误码详情
  3. msg: "posId不能为空" //字符串,当前错误的问题
  4. }

示例代码

  1. var tencentYLH = api.require("tencentYLH");
  2. tencentYLH.openRewardVideo({
  3. option: 'download', //show之前,必须要download,如果嫌麻烦,可以直接使用downloadShow
  4. appId: '1101152570',
  5. posId: '2090845242931421'
  6. }, function(ret, err) {
  7. if (ret) {
  8. console.log("ret" + JSON.stringify(ret));
  9. }
  10. if (err) {
  11. console.log("err" + JSON.stringify(err));
  12. }
  13. });

可用性

Android系统

可提供的1.0.0及更高版本