export default RewardAdNovel; export type IRewordAdConfig = import("./typings/ad.js").IRewordAdConfig; export type IConstructArgs = import("./typings/ad.js").IConstructArgs; export type ICloseArgs = { /** * 是否看完 */ isEnded: boolean; /** * 完整观看次数 */ count: number; }; export type IRewardedVideoAd = { /** * 显示激励视频广告 */ show: () => Promise; }; /** * @typedef {import('./typings/ad.js').IRewordAdConfig} IRewordAdConfig */ /** * @typedef {import('./typings/ad.js').IConstructArgs} IConstructArgs */ /** * @typedef ICloseArgs * @property {boolean} isEnded 是否看完 * @property {number} count 完整观看次数 */ /** * @typedef IRewardedVideoAd * @property {() => Promise.} show 显示激励视频广告 */ declare class RewardAdNovel extends RewardAdFather { /** * * @param {IConstructArgs} args * @returns {RewardAdNovel} */ static build(args: IConstructArgs): RewardAdNovel; /** * * @returns {RewardAdNovel} */ static getInstance(): RewardAdNovel; /** * * @param {IConstructArgs} args * @returns {RewardAdNovel} */ static "new"(args: IConstructArgs): RewardAdNovel; /** * @private 内部方法请勿使用,如需要请使用.onHalfway()替代 * @description 广告中途退出回调 * 初始化广告实例.new()中传入的参数args.collection.onHalfway回调 */ private _onHalfway; /** * @private 内部方法请勿使用,如需要请使用.onShow()替代 * @description 广告展示回调 * 初始化广告实例.new()中传入的参数args.collection.onShow回调 */ private _onShow; /** * @private 内部方法请勿使用,如需要请使用.onFinish()替代 * @description 广告执行成功回调 * 初始化广告实例.new()中传入的参数args.collection.onFinish回调 */ private _onFinish; /** * @private 内部方法请勿使用,如需要请使用.onAlways()替代 * @description 广告执行成功回调 * 初始化广告实例.new()中传入的参数args.collection.onAlways回调 */ private _onAlways; /** * @private 内部方法请勿使用,如需要请使用.onError()替代 * @description 广告执行失败回调 * 初始化广告实例.new()中传入的参数args.collection.onError回调 */ private _onError; _alwaysCallback: any; _halfwayCallback: any; _finishedCallback: any; _resolve: any; _next: any; /** @type {{options: import('./typings/ad.js').IAdOptions, collection: import('./typings/ad.js').CallbackCollection, recovered: import('./typings/ad.js').RecoveredInfo}} */ _adExecuteArgs: { options: import("./typings/ad.js").IAdOptions; collection: import("./typings/ad.js").CallbackCollection; recovered: import("./typings/ad.js").RecoveredInfo; }; /** @type {Function} */ _adNext: Function; /** @type {number} 广告执行场景 */ _scene: number; /** @type {string} 当前广告执行的唯一ID */ _eId: string; _adTypeR: 1; _adTimeout: any; _adBeforeShowTimer: any; _adBeforeShowTime: number; _adSpeedCloseTimer: any; _adSpeedCloseTime: number; _needEndOnTimeout: boolean; _lookUpRemainOnError: boolean; /** @deprecated TODO 移除 */ _needSpeedEndOnTimeout: boolean; /** * @private */ private bindAdCloseLister; /** * @private 内部方法请勿使用 */ private bindAdErrorLister; /** * @private 内部方法请勿使用 */ private bindAdLoadLister; /** * @private 内部方法请勿使用 */ private bindApiAdErrorLister; /** * @private 内部方法请勿使用 */ private _bindShiftCloseLister; /** * @private 内部方法请勿使用 */ private _bindShiftErrorLister; /** * @private 内部方法请勿使用 */ private bindAdTimeoutCloseLister; /** * @private 内部方法请勿使用 */ private bindAdTimeoutErrorLister; /** * 初始化 * 子类可以选择覆盖此方法,或使用默认实现 * @param {import('./typings/ad.js').IAdOptions} args * @param {(v: IRewardedVideoAd) => void} [callback] 初始化成功回调 * @returns {this} 当前实例 */ initialize(args: import("./typings/ad.js").IAdOptions, callback?: (v: IRewardedVideoAd) => void): this; _initAdLister(): void; /** * @param {object} args * @param {number} [args.retry] 重试次数 */ _initNovelConfig(args: { retry?: number; }): void; novelConfig: RewardAdNovelConfig; _onInnerExecuteBefore(_args: any): any; _onAdExecuteBefore(_args: any): any; /** * @param {object} _args * @param {string} _args.scene 广告执行场景 必填 * @param {string} _args.eId 广告执行唯一ID 必填 * @param {number} [_args.result] 广告执行成功结果 必填 * @param {import('./typings/ad.js').RecoveredInfo} [_args.recovered] 恢复重试信息 * @returns */ _onInnerAdShowSuccess(_args: { scene: string; eId: string; result?: number; recovered?: import("./typings/ad.js").RecoveredInfo; }): any; /** * 子类可以选择覆盖此方法,或使用默认实现 * 视频展示中时 android会销毁成功,iOS会销毁失败 * @param {object} _args * @param {string} _args.scene 广告执行场景 必填 * @param {string} _args.eId 广告执行唯一ID 必填 * @param {string} [_args.errMsg] 广告销毁失败原因 * @param {number} [_args.errorCode] 广告销毁失败错误码 * @returns */ _onInnerAdDestroySuccess(_args: { scene: string; eId: string; errMsg?: string; errorCode?: number; }): any; /** * 子类可以选择覆盖此方法,或使用默认实现 * @param {object} _args * @param {string} _args.scene 广告执行场景 必填 * @param {string} _args.eId 广告执行唯一ID 必填 * @param {string} [_args.errMsg] 广告销毁失败原因 * @param {number} [_args.errorCode] 广告销毁失败错误码 * @returns */ _onInnerAdDestroyFailed(_args: { scene: string; eId: string; errMsg?: string; errorCode?: number; }): any; /** * @private * 广告展示超时设置 * @param {object} args * @param {string} args.scene 广告执行场景 必填 * @param {number} [args.timeout] 广告超时时间 单位ms * @param {Function} args.end 结束当前广告任务的回调函数 必填 * @param {boolean} [args.preserved] 是否在超时情况下保留广告实例 - 自用参数,非tt API要求的参数 */ private _setAdTimeout; /** * @protected * 广告展示超时设置 * @param {object} _args * @param {string} _args.scene 广告执行场景 必填 * @param {number} [_args.timeout] 广告超时时间 单位ms * @param {string} _args.eId 广告执行唯一ID 必填 * @param {Function} _args.end 结束当前广告任务的回调函数 必填 */ protected customExecuteAfterTimeout(_args: { scene: string; timeout?: number; eId: string; end: Function; }): void; /** * 子类可以选择覆盖此方法 * 添加超时情况下结束任务前的回调 * @param {object} args * @param {string} args.scene 广告执行场景 必填 * @param {number} args.timeout 广告超时时间 单位ms 必填 * @param {string} args.eId 广告执行唯一ID 必填 */ _adTimeoutBeforeEnd(args: { scene: string; timeout: number; eId: string; }): { scene: string; timeout: number; eId: string; }; /** * 广告展示前定时器 * @param {object} args * @param {string} args.scene 广告执行场景 必填 * @param {string} args.eId 广告执行唯一ID 必填 * @param {Function} args.prelude 广告展示前回调函数 可选 */ _adPreludeInterval(args: { scene: string; eId: string; prelude: Function; }): void; _clearAdTimeout(): void; /** * 广告展示成功前分析 * 子类需要埋点可以选择覆盖此方法 * @protected * @param {object} _args * @param {string} _args.scene 广告执行场景 必填 * @param {string} _args.eId 广告执行唯一ID 必填 * @returns */ protected _adShowBeforeAnalytics(_args: { scene: string; eId: string; }): any; /** * 广告展示成功分析 * 子类需要埋点可以选择覆盖此方法 * @protected * @param {object} _args * @param {string} _args.scene 广告执行场景 必填 * @param {string} _args.eId 广告执行唯一ID 必填 * @param {string} [_args.msg] 广告执行成功原因 * @param {0|1} _args.result 广告执行成功结果 必填 * @param {import('./typings/ad.js').RecoveredInfo} [_args.recovered] 恢复重试信息 * @returns */ protected _adShowSuccessAnalytics(_args: { scene: string; eId: string; msg?: string; result: 0 | 1; recovered?: import("./typings/ad.js").RecoveredInfo; }): any; /** * 广告展示失败分析 * 子类需要埋点可以选择覆盖此方法 * ATTENTION:该方法可能会调用两次,一次是show().catch(),一次是onError(),所以需要做好去重处理 * @protected * @param {object} _args * @param {string} _args.scene 广告执行场景 必填 * @param {string} _args.eId 广告执行唯一ID 必填 * @param {number} _args.poz 广告执行位置 必填 * @param {string} _args.msg 广告执行失败原因 必填 * @param {number} _args.errorCode 广告执行失败错误码 必填 * @param {0|1} _args.result 广告执行失败结果 * @returns */ protected _adShowFailureAnalytics(_args: { scene: string; eId: string; poz: number; msg: string; errorCode: number; result: 0 | 1; }): any; /** * 广告加载成功分析 * 子类需要埋点可以选择覆盖此方法 * @protected * @param {object} _args * @param {string} _args.scene 广告执行场景 必填 * @param {string} _args.eId 广告执行唯一ID 必填 * @param {string} [_args.msg] 广告执行成功原因 * @param {0|1} _args.result 广告执行成功结果 必填 * @param {object} [_args.frequency] 广告执行重试参数 * @param {number} _args.frequency.total 广告执行总次数 必填 * @param {number} _args.frequency.current 广告执行当前次数 必填 * @returns */ protected _adLoadSuccessAnalytics(_args: { scene: string; eId: string; msg?: string; result: 0 | 1; frequency?: { total: number; current: number; }; }): any; /** * 广告加载失败分析 * 子类需要埋点可以选择覆盖此方法 * @protected * @param {object} _args * @param {string} _args.scene 广告执行场景 必填 * @param {string} _args.eId 广告执行唯一ID 必填 * @param {string} _args.msg 广告执行失败原因 必填 * @param {0|1} _args.result 广告执行失败结果 * @returns */ protected _adLoadFailureAnalytics(_args: { scene: string; eId: string; msg: string; result: 0 | 1; }): any; /** * 广告关闭成功分析 * 子类需要埋点可以选择覆盖此方法 * @protected * @param {object} _args * @param {string} _args.scene 广告执行场景 必填 * @param {string} _args.eId 广告执行唯一ID 必填 * @param {number} _args.ad_is_completed 广告是否完成 必填 * @param {number} _args.ad_count 广告执行次数 必填 * @returns */ protected _adCloseSuccessAnalytics(_args: { scene: string; eId: string; ad_is_completed: number; ad_count: number; }): any; get rewardAd(): import("./typings/create-rewarded-video-ad.js").RewardedVideoAd; /** * @override * @param {object} [ctx] 广告执行上下文 * @param {import('./typings/ad.js').IAdOptions} [ctx.options] 广告执行选项 * @param {import('./typings/ad.js').CallbackCollection} [ctx.collection] 回调集合 * @param {import('./typings/ad.js').RecoveredInfo} [ctx.recovered] 恢复重试信息 * @param {Function} next 执行下一个任务的回调函数,手动调用以继续执行流程 * @returns {Promise.} */ override ad(ctx?: { options?: import("./typings/ad.js").IAdOptions; collection?: import("./typings/ad.js").CallbackCollection; recovered?: import("./typings/ad.js").RecoveredInfo; }, next?: Function): Promise; _recovered: import("./typings/ad.js").RecoveredInfo; _preservedOnTimeout: boolean; /** * ATTENTION: 广告循环执行内部函数,如果需要循环执行,请使用adCircleInner()函数, 不要直接调用此函数 * @private * @param {object} [ctx] 广告执行上下文 * @param {object} [ctx.options] 广告执行选项 * @param {number} [ctx.options.scene] 广告执行场景 必填 * @param {number} [ctx.options.timeout] 广告超时时间 单位ms * @param {object} ctx.collection 回调集合 * @param {(v?: unknown) => void} ctx.collection.resolve 广告执行成功的回调函数 * @param {(v?: unknown) => void} [ctx.collection.before] 广告执行前的回调函数 * @param {(v?: unknown) => void} [ctx.collection.success] 广告执行成功的回调函数 * @param {(v?: unknown) => void} [ctx.collection.prelude] 拉起广告前计时的回调函数 * @param {import('./typings/ad.js').RecoveredInfo} [ctx.recovered] 恢复重试信息 * @param {Function} next 执行下一个任务的回调函数,手动调用以继续执行流程 */ private _adInner; _before: (v?: unknown) => void; _success: (v?: unknown) => void; /** * 广告循环执行 * @public * @param {object} [ctx] 广告执行上下文 * @param {object} [ctx.options] 广告执行选项 * @param {number} [ctx.options.scene] 广告执行场景 必填 * @param {number} [ctx.options.timeout] 广告超时时间 单位ms * @param {object} ctx.collection 回调集合 * @param {(v?: unknown) => void} [ctx.collection.before] 广告执行前的回调函数 * @param {(v?: unknown) => void} [ctx.collection.success] 广告执行成功的回调函数 * @param {(v?: unknown) => void} [ctx.collection.prelude] 拉起广告前计时的回调函数 */ public adCircleInner(ctx?: { options?: { scene?: number; timeout?: number; }; collection: { before?: (v?: unknown) => void; success?: (v?: unknown) => void; prelude?: (v?: unknown) => void; }; }): void; /** * 广告加载 * @returns */ adLoad(): Promise; /** * 广告展示 * @returns */ adShow(): Promise; /** * @deprecated - 1.x版本自v2.1.1已废弃,使用onExeAlways代替 * - 关闭广告时候调用的回调,不管是否看完视频都会调用 * - 调用adExecuteManager时collection.always回调 * @param {Array.} args */ _outerCloseCallback(...args: Array): any; /** * - 关闭广告时候调用的回调 不管是否看完视频都会调用 * - 调用adExecuteManager时collection.always回调 * @param {Array.} args */ onExeAlways(...args: Array): any; /** * @deprecated 1.x版本自v2.1.1已废弃,使用onExeHalfway代替 * - 广告未看完时候调用的回调 * - 调用adExecuteManager时collection.halfway回调 * @param {Array.} args */ _outerHalfwayCallback(...args: Array): any; /** * - 广告未看完时候调用的回调 * - 调用adExecuteManager时collection.halfway回调 * @param {Array.} args */ onExeHalfway(...args: Array): any; /** * @deprecated 1.x版本自v2.1.1已废弃,使用onExeFinished代替 * - 广告看完时候调用的回调 * - 调用adExecuteManager时collection.finished回调 * @param {Array.} args */ _outerFinishedCallback(...args: Array): any; /** * - 广告看完时候调用的回调 * - 调用adExecuteManager时collection.finished回调 * @param {Array.} args */ onExeFinished(...args: Array): any; /** * @description 广告中途退出回调 * 初始化广告实例.new()中传入的参数args.collection.onHalfway回调 * @param {Array.} args */ onFinish(...args: Array): any; /** * * @description 广告展示回调 * 初始化广告实例.new()中传入的参数args.collection.onShow回调 * @param {Array.} args */ onHalfway(...args: Array): any; /** * @description 广告展示回调 * 初始化广告实例.new()中传入的参数args.collection.onAlways回调 * @param {Array.} args */ onAlways(...args: Array): any; /** * 内部关闭激励视频 * @private * @param {ICloseArgs} args */ private __adTimeoutCloseLister__; /** * 子类可以选择覆盖此方法 * @param {*} args * @returns */ adTimeoutCloseLister(args: any): any; /** * 内部关闭激励视频 * @private * @param {*} e */ private __adTimeoutErrorLister__; /** * 子类可以选择覆盖此方法 * @param {*} e * @returns */ adTimeoutErrorLister(e: any): any; /** * 内部关闭激励视频 * @private * @param {ICloseArgs} args */ private __adCloseLister__; /** * 关闭激励视频 * 子类可重写该方法 * @protected * @param {object} args * @param {boolean} args.isEnded 广告是否完成 * @param {number} args.count 广告执行次数 * @param {string} args.scene 广告执行场景 * @param {number} args.adTypeR 广告类型 * @param {string} args.end_type 广告关闭类型 * @param {object} [connection] 广告关闭回调集合 * @param {(ctx: object) => void} [connection.conn] 调用外部传入的回调 * @param {(ctx: object) => void} [connection.end] 结束任务的回调 * */ protected adCloseLister(args: { isEnded: boolean; count: number; scene: string; adTypeR: number; end_type: string; }, connection?: { conn?: (ctx: object) => void; end?: (ctx: object) => void; }): void; /** * 激励视频广告组件**失败**时会触发 * @private */ private __adErrorLister__; /** * 激励视频广告组件**失败**时会触发 * @protected */ protected adErrorLister(e: any): any; /** * 激励视频广告组件api**失败**时会触发 * @private */ private __apiAdErrorLister__; /** * 激励视频广告组件api**失败**时会触发 * @protected */ protected apiAdErrorLister(e: any): any; /** * @private * 激励视频广告组件**成功**拉取广告素材时会触发 * 创建激励时候后会自动拉取广告素材,如果广告拉取成功,也会触发此事件,不管是否调用show方法 * @param {unknown} e */ private __adLoadLister__; /** * @protected * 激励视频广告组件**成功**拉取广告素材时会触发 * 创建激励时候后会自动拉取广告素材,如果广告拉取成功,也会触发此事件,不管是否调用show方法 * @param {unknown} e */ protected adLoadLister(e: unknown): unknown; /** * 销毁广告实例 * @private * @param {object} [args] - 参数对象 * @param {boolean} [args.preserved] - 是否保留某些状态或数据的标志 */ private __novelDestroy__; /** * 销毁广告实例 * @protected * @param {object} args 广告实例销毁参数 * @param {boolean} [args.preserved] 是否保留广告实例 */ protected adDestroy(args: { preserved?: boolean; }): void; _shiftCloseLister(args: any): void; _shiftErrorLister(args: any): void; /** * 手动出栈 */ shift(): void; } import RewardAdFather from './RewardAdFather.js'; declare class RewardAdNovelConfig { /** * * @param {object} args * @param {string} args.sign 初始化标识 * @param {number} [args.retry] 重试次数 * @returns {RewardAdNovelConfig} */ static "new"(args: { sign: string; retry?: number; }): RewardAdNovelConfig; /** * * @param {object} [args] * @param {number} [args.retry] */ constructor(args?: { retry?: number; }); frequency: { total: number; current: number; }; /** * * @param {object} [args] * @param {number} [args.retry] */ _init(args?: { retry?: number; }): void; /** * * @param {object} [args] * @param {number} [args.retry] */ _adTimes(args?: { retry?: number; }): void; reset(): void; updateRetry(): void; remain(): number; }