export default RewardAdFather; export type IRewordAdConfig = import("./typings/ad.js").IRewordAdConfig; export type CallbackCollection = import("./typings/ad.js").CallbackCollection; export type RecoveredInfo = import("./typings/ad.js").RecoveredInfo; export type IConstructArgs = import("./typings/ad.js").IConstructArgs; export type RewardedVideoAd = import("./typings/create-rewarded-video-ad.js").RewardedVideoAd; export type ITaskResult = import("./typings/ad.js").ITaskResult; export type ITaskResultGeneric = ITaskResult & T; export type IRewardedVideoAd = { /** * 显示激励视频广告 */ show: () => Promise; }; /** * @typedef IRewardedVideoAd * @property {() => Promise.} show 显示激励视频广告 */ declare class RewardAdFather { /** @type {IRewordAdConfig | null} */ static args: IRewordAdConfig | null; /** * @param {IRewordAdConfig} args */ static buildArgs(args: IRewordAdConfig): void; /** * @template {object} T * 使用管理器执行广告 * @param {Object} adInstance 广告实例 * @param {Object} ctx 上下文对象,用于传递数据和状态 * @param {import('./typings/ad.js').IAdOptions} ctx.options 广告执行选项 * @param {CallbackCollection} ctx.collection 回调集合 * @returns {Promise | undefined>} 广告执行结果的Promise */ static executeWithManager(adInstance: any, ctx: { options: import("./typings/ad.js").IAdOptions; collection: CallbackCollection; }): Promise | undefined>; /** * @param {IConstructArgs} args */ constructor(args: IConstructArgs); /** @private */ /** @type {Logger} */ _logger: Logger; _adTimeoutTime: number; _initSign: string; _preserveOnEnd: boolean; /** * 激励视频实例 * @type {RewardedVideoAd | null} */ _rewardAd: RewardedVideoAd | null; /** * 激励视频实例 * @type {RewardedVideoAd | null} */ __ad__: RewardedVideoAd | null; _ttErrorMsgs: string[]; _ttErrorCodes: number[]; __bindAdErrorForeverHandler: any; _adConfig: {}; /** * 初始化 * 子类可以选择覆盖此方法,或使用默认实现 * @param {import('./typings/ad.js').IAdOptions} params * @param {(v: IRewardedVideoAd) => void} [callback] 初始化成功回调 * @returns {this} 当前实例 */ initialize(params: import("./typings/ad.js").IAdOptions, callback?: (v: IRewardedVideoAd) => void): this; initialized(): boolean; /** * 激励视频展示失败时始终执行的一个方法 * @private * @param {{errMsg: string; errCode: number}} e 错误信息 */ private __adErrorForeverHandler; /** * 激励视频展示失败时始终执行的一个方法 * @abstract 激励视频展示失败时始终执行的一个方法,子类需要用到时实现此方法 * @param {{errMsg: string; errCode: number}} _e 错误信息 * @returns */ adErrorForeverHandler(_e: { errMsg: string; errCode: number; }): any; /** * 执行广告展示 * @abstract * @param {Object} [ctx] 上下文对象,用于传递数据和状态 * @param {import('./typings/ad.js').IAdOptions} [ctx.options] 广告执行选项 * @param {CallbackCollection} [ctx.collection] 回调集合 * @param {RecoveredInfo} [ctx.recovered] 恢复重试信息 * @param {Function} next 执行下一个任务的回调函数,在洋葱模型中手动调用以继续执行流程 * @returns {Promise} 广告执行结果的Promise * @throws {Error} 子类必须实现此方法 */ ad(ctx?: { options?: import("./typings/ad.js").IAdOptions; collection?: CallbackCollection; recovered?: RecoveredInfo; }, next?: Function): Promise; /** * @template {object} T * 确保广告按顺序执行 * @param {Object} [ctx] 上下文对象,用于传递数据和状态 * @param {import('./typings/ad.js').IAdOptions} [ctx.options] 广告执行选项 * @param {CallbackCollection} [ctx.collection] 回调集合 * @returns {Promise | undefined>} 广告执行结果的Promise */ addExecuteManager(ctx?: { options?: import("./typings/ad.js").IAdOptions; collection?: CallbackCollection; }): Promise | undefined>; /** * 销毁广告实例 * 只要调用销毁,无论销毁成功或者失败,销毁时会自动移除广告对象上监听的所有 loaded,error,close 事件。 * @param {boolean} preserved 是否保留广告实例 * @returns { Promise.} */ destroy(preserved?: boolean): Promise; /** * 清理广告实例 * @abstract 清理广告实例,子类必须实现此方法 */ clear(): void; /** * 任务执行完成后始终执行的一个方法 * @abstract 任务执行完成后始终执行的一个方法,子类需要用到时实现此方法 * @param {object} [_args] 执行结果信息 * @param {number} [_args.scene] 场景信息 * @param {string} _args.id 任务id * @param {object} [_args.apiError] 广告api错误信息 * @param {number} [_args.adTypeR] 广告类型 1 激励视频 2插屏广告 * @param {object} _args.recovered 后台恢复重试 * @param {boolean} [_args.recovered.retry] 后台恢复预估是否重试 * @param {number} [_args.recovered.count] 后台恢复预估重试次数 * @param {string} [_args.recovered.message] 后台恢复预估重试原因 */ record(_args?: { scene?: number; id: string; apiError?: object; adTypeR?: number; recovered: { retry?: boolean; count?: number; message?: string; }; }): this; /** * * @param {({isEnded: boolean, count: number}) => void} callback */ onClose(callback: ({ isEnded: boolean, count: number }: any) => void): void; /** * * @param {({isEnded: boolean, count: number}) => void} callback */ offClose(callback: ({ isEnded: boolean, count: number }: any) => void): void; /** * show * @returns { Promise.} * @params {{errMsg: string; errCode: number}} err */ show(): Promise; /** * load * @returns { Promise.} */ load(): Promise; /** * * @param {({errMsg: string; errCode: number}) => void} callback */ onError(callback: any): void; /** * * @param {({errMsg: string; errCode: number}) => void} callback */ offError(callback: any): void; onLoad(callback: any): void; offLoad(callback: any): void; /** * 站位方法,没有任何左右 * @returns */ placeholder(): any; } import { Logger } from '@ad-execute-manager/logger';