主题
Skip to content
广告模块
AdsModule AdsVideoManager
模块
GameHelper.AdsFunc
GameHelper.AdsVideoManager
TIP
开始播放视频广告时,暂停游戏背景音乐
展示 banner
TypeScript
/**
* 显示Banner广告,静态方法,用于Jni调用 pos
* @param pos: 1-Bottom 2-Top
*/
public showBannerStatic(pos : number = 1, opts?: {clickCallback? : () => void}) {}
隐藏 banner
TypeScript
public hideBannerStatic() {}
插屏
TypeScript
/**
* 调用插屏展示【静态方法,用于Jni调用】
* 插屏的fail close回调是百分百准确的 show不保证百分百准确
* @param name 游戏名 内部做统计用
* @param insertName 插屏名
* @param type 0游戏结束插屏,1游戏内插屏
*/
public showInterstitialStatic(obj? : {name? : string, insertName? : string, type? : string, show? : Function, fail? : Function ,close? : Function}) {}
AdsFunc 视频
WARNING
💡 视频未填充时,提示文本为:视频未拉取到,请稍后再试 💡 视频中途退出 提示文本为:视频未完整播放
AdsFunc.showVideoStatic 不建议使用 使用 AdsVideoManager.showVideo 播放视频,后续 AdsFunc.showVideoStatic 会被删除
关于视频广告的一些说明
- 视频广告依赖上报模块的
EnterGame
,如果带视频广告,初始化完成进游戏后,优先调用GameHelper.GameStatistics.EnterGame("GameName")
,GameName
是游戏名称,需要具体传入 - 然后再调
showVideoStatic
- 视频广告的统计说明:只有视频按钮被点击就统计
GameHelper.GameStatistics.ClickVideo("videoName");
和GameHelper.GameStatistics.trackVideo(3)
这两个事件。videoName
是视频名称,需要具体传入
TypeScript
// success 播放完给奖励 fail 中途退出 error 不支持 或没有拉取到视频
// videoName 视频点名字 每个视频点保证名字唯一
public showVideoStatic(obj : {
videoName : string,
success : (videoFlag : number, rewardTime : number) => void,
fail? : (videoFlag : number) => void,
error? : () => void
}) : boolean {}
AdsVideoManager 视频
WARNING
💡 视频未填充时,提示文本为:视频未拉取到,请稍后再试
💡 视频中途退出 提示文本为:视频未完整播放
使用 AdsVideoManager 播放视频 就不用再自己统计视频相关统计 trackVideo ShowVideo UnableVideo ClickVideo StartPlayVideo PlayedVideoOver PlayedVideoFail,内部已经统计
AdsVideoManager 是封装了视频相关统计的视频管理类 使用方法如下:
首先 addVideoNode 绑定一个视频节点,这个视频节点就是你的视频按钮。第一个参数即是这个节点,第二个参数 videoName 是这个节点的“唯一标识” 注意取名要“唯一”,不能和其他视频节点冲突,第三个参数是渲染这个节点的相机组件,是 Camera 组件,如果这个节点是 UI 节点可以不传。注意每个视频节点都要绑定 如果用的预制或复制创的视频节点 一定要记得重新设置 videoName 的名字 “videoName”一定要“唯一”
然后点击(点击事件自己处理)这个视频节点时 调用 AdsVideoManager.showVideo 播放视频,注意这个方法第一个参数 videoName 和 addVideoNode 的第二个参数 videoName 要“一致”
注意:addVideoNode 要先于 showVideo 绑定,最好在当前界面的初始化就绑定好
TypeScript
/**
* 增加视频互动节点
* @param node Node
* @param videoFlag 视频的唯一标识
* @param camera 相机 2D节点可以不传 如果此节点是3d节点 需要告知渲染他的相机组件是哪一个,如果不指定 会根据layer自动搜寻
*/
addVideoNode(node, videoFlag: string, camera? : any){}
/**
* 展示广告视频
* @param videoName 视频的唯一标识 用于统计
* @param statExt 业务额外扩展需要上报的参数,可以放到 statExt 里上报
* @returns 返回值可以认为是否播放成功 true播放成功
*/
showVideo(videoName: string, opts: {
param?: any, // 想要回传参数,根据业务自己定义 非必须
statExt? : object, // 统计相关的扩展属性参数
success?: (videoName: string, param: any) => void, // 视频播放成功,给奖励的回调
fail?: (videoName: string, param: any) => void, // 视频播放失败(中途退出)
error?: (videoName: string, err: any, param: any) => void, // 视频拉取失败
}) : boolean;
//存在某些情况,一个节点同时存在不同状态,有点击播放视频,或者点击分享 等其他情况,此时要主动告诉管理器当前是否是视频状态,
//如果点击非播放视频时请设置为false
//管理器内部会做相应的点击播放视频和统计操作,如果这个节点只有视频这一种情况,此方法则不用管,内部已经默认是视频状态
setVideoStatus(videoFlag: string, isVideo: boolean);
点我快速对接


