@tarojs/taro
Version:
Taro framework
198 lines (191 loc) • 8.61 kB
TypeScript
import Taro from '../../index'
declare module '../../index' {
namespace createRewardedVideoAd {
interface Option {
/** 小程序广告位 ID
* @supported weapp, tt, swan
*/
adUnitId: string
/** 是否启用多例模式
* @default false
* @supported weapp
*/
multiton?: boolean
/** 小程序应用 ID
* @supported swan
* @swan 必填
*/
appSid?: string
}
}
namespace createInterstitialAd {
interface Option {
/** 广告单元 id */
adUnitId: string
}
}
/**
* 插屏广告组件。插屏广告组件是一个原生组件,层级比普通组件高。插屏广告组件每次创建都会返回一个全新的实例(小程序端的插屏广告实例不允许跨页面使用),默认是隐藏的,需要调用 InterstitialAd.show() 将其显示。
* @see https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.html
*/
interface InterstitialAd {
/** 销毁插屏广告实例。
* @supported weapp
* @see https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.destroy.html
*/
destroy(): void
/** 取消监听插屏广告关闭事件
* @supported weapp
* @see https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.offClose.html
*/
offClose(callback: InterstitialAd.OnCloseCallback): void
/** 取消监听插屏错误事件
* @supported weapp
* @see https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.offError.html
*/
offError(callback: InterstitialAd.OnErrorCallback): void
/** 取消监听插屏广告加载事件
* @supported weapp
* @see https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.offLoad.html
*/
offLoad(callback: InterstitialAd.OnLoadCallback): void
/** 监听插屏广告关闭事件。
* @supported weapp
* @see https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.onClose.html
*/
onClose(callback: InterstitialAd.OnCloseCallback): void
/** 监听插屏错误事件。
* @supported weapp
* @see https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.onError.html
*/
onError(callback: InterstitialAd.OnErrorCallback): void
/** 监听插屏广告加载事件。
* @supported weapp
* @see https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.onLoad.html
*/
onLoad(callback: InterstitialAd.OnLoadCallback): void
/** 加载插屏广告。
* @supported weapp
* @see https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.load.html
*/
load(): Promise<any>
/** 显示插屏广告。
*
* **错误码信息表**
*
* 如果插屏广告显示失败,InterstitialAd.show() 方法会返回一个rejected Promise,开发者可以获取到错误码及对应的错误信息。
*
* | 代码 | 异常情况 | 理由 |
* | ------ | -------------- | -------------------------- |
* | 2001 | 触发频率限制 | 小程序启动一定时间内不允许展示插屏广告 |
* | 2002 | 触发频率限制 | 距离小程序插屏广告或者激励视频广告上次播放时间间隔不足,不允许展示插屏广告 |
* | 2003 | 触发频率限制 | 当前正在播放激励视频广告或者插屏广告,不允许再次展示插屏广告 |
* | 2004 | 广告渲染失败 | 该项错误不是开发者的异常情况,或因小程序页面切换导致广告渲染失败 |
* | 2005 | 广告调用异常 | 插屏广告实例不允许跨页面调用 |
* @supported weapp
* @see https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.show.html
*/
show(): Promise<any>
}
namespace InterstitialAd {
/** 插屏广告关闭事件的回调函数 */
type OnCloseCallback = (res: TaroGeneral.CallbackResult) => void
/** 插屏错误事件的回调函数 */
type OnErrorCallback = (result: OnErrorCallbackResult) => void
/** 插屏广告加载事件的回调函数 */
type OnLoadCallback = (res: TaroGeneral.CallbackResult) => void
interface OnErrorCallbackResult extends TaroGeneral.CallbackResult {
/** 错误码
* @see /docs/apis/General#aderrcode
*/
errCode: keyof TaroGeneral.AdErrCode
/** 错误信息 */
errMsg: string
}
}
/**
* 激励视频广告组件。激励视频广告组件是一个原生组件,层级比普通组件高。激励视频广告是一个单例(小游戏端是全局单例,小程序端是页面内单例,在小程序端的单例对象不允许跨页面使用),默认是隐藏的,需要调用 RewardedVideoAd.show() 将其显示。
* @see https://developers.weixin.qq.com/miniprogram/dev/api/ad/RewardedVideoAd.html
*/
interface RewardedVideoAd {
/** 加载激励视频广告。
* @supported weapp
* @see https://developers.weixin.qq.com/miniprogram/dev/api/ad/RewardedVideoAd.load.html
*/
load(): Promise<any>
/** 显示激励视频广告。激励视频广告将从屏幕下方推入。
* @supported weapp
* @see https://developers.weixin.qq.com/miniprogram/dev/api/ad/RewardedVideoAd.show.html
*/
show(): Promise<any>
/** 销毁激励视频广告实例。
* @supported weapp
* @see https://developers.weixin.qq.com/miniprogram/dev/api/ad/RewardedVideoAd.destroy.html
*/
destroy(): void
/** 取消监听用户点击 `关闭广告` 按钮的事件
* @supported weapp
* @see https://developers.weixin.qq.com/miniprogram/dev/api/ad/RewardedVideoAd.offClose.html
*/
offClose(callback: RewardedVideoAd.OnCloseCallback): void
/** 取消监听激励视频错误事件
* @supported weapp
* @see https://developers.weixin.qq.com/miniprogram/dev/api/ad/RewardedVideoAd.offError.html
*/
offError(callback: RewardedVideoAd.OnErrorCallback): void
/** 取消监听激励视频广告加载事件
* @supported weapp
* @see https://developers.weixin.qq.com/miniprogram/dev/api/ad/RewardedVideoAd.offLoad.html
*/
offLoad(callback: RewardedVideoAd.OnLoadCallback): void
/** 监听用户点击 `关闭广告` 按钮的事件。
* @supported weapp
* @see https://developers.weixin.qq.com/miniprogram/dev/api/ad/RewardedVideoAd.onClose.html
*/
onClose(callback: RewardedVideoAd.OnCloseCallback): void
/**
* 监听激励视频错误事件。
* @supported weapp
* @see https://developers.weixin.qq.com/miniprogram/dev/api/ad/RewardedVideoAd.onError.html
*/
onError(callback: RewardedVideoAd.OnErrorCallback): void
/** 监听激励视频广告加载事件。
* @supported weapp
* @see https://developers.weixin.qq.com/miniprogram/dev/api/ad/RewardedVideoAd.onLoad.html
*/
onLoad(callback: RewardedVideoAd.OnLoadCallback): void
}
namespace RewardedVideoAd {
interface OnErrorCallbackResult extends TaroGeneral.CallbackResult {
/** 错误码
* @see /docs/apis/General#aderrcode
*/
errCode: keyof TaroGeneral.AdErrCode
/** 错误信息 */
errMsg: string
}
interface OnCloseCallbackResult {
/** 视频是否是在用户完整观看的情况下被关闭的 */
isEnded: boolean
}
/** 用户点击 `关闭广告` 按钮的事件的回调函数 */
type OnCloseCallback = (result: OnCloseCallbackResult) => void
/** 激励视频错误事件的回调函数 */
type OnErrorCallback = (result: OnErrorCallbackResult) => void
/** 激励视频广告加载事件的回调函数 */
type OnLoadCallback = (res: TaroGeneral.CallbackResult) => void
}
interface TaroStatic {
/** 创建激励视频广告组件。
* @supported weapp, tt, swan
* @see https://developers.weixin.qq.com/miniprogram/dev/api/ad/wx.createRewardedVideoAd.html
*/
createRewardedVideoAd (option: createRewardedVideoAd.Option): RewardedVideoAd
/** 创建插屏广告组件。
* 请通过 getSystemInfoSync 返回对象的 SDKVersion 判断基础库版本号后再使用该 API。每次调用该方法创建插屏广告都会返回一个全新的实例(小程序端的插屏广告实例不允许跨页面使用)。
* @supported weapp
* @see https://developers.weixin.qq.com/miniprogram/dev/api/ad/wx.createInterstitialAd.html
*/
createInterstitialAd (option: createInterstitialAd.Option): InterstitialAd
}
}