# ad

AD模块实现uni-AD广告联盟功能，聚合目前国内流行的广告平台广点通（腾讯）、穿山甲（今日头条）、360广告等，支持信息流、Banner等广告。

## 方法：

- createAdView: 创建广告控件
- getAds: 获取信息流广告数据
- releaseAdData: 释放广告数据

## 对象：

- AdData: 信息流广告数据对象
- AdView: 广告控件对象
- AdViewStyles: 广告原生控件样式
- AdsOptions: 获取信息流广告的参数

## 回调方法：

- GetAdsSuccessCallback: 获取信息流广告成功回调函数
- ADViewRenderingCallback: 监听广告渲染完成事件回调函数
- ADviewDislikedCallback: 监听点击关闭广告事件回调函数
- AdSuccessCallback: 广告操作成功回调函数
- AdErrorCallback: 广告操作错误回调函数

## 权限：

5+功能模块（permissions）

    {
    // ...
    "permissions":{
    	// ...
    	"Ad": {
    		"description": "UniAd广告"
    	}
    }
    }

# AdData

信息流广告数据对象

## 属性：

- description: 广告描述信息
- showMode: 广告显示类型
- title: 广告标题

# AdView

广告控件对象

    interface plus.ad.AdView extends plus.nativeObj.View  {
    	// Methods
    	function void renderingBind(data);
    	function void setRenderingListener(ADViewRenderingCallback);
    	function void setDislikeListener(ADviewDislikedCallback);
    }

## 说明：

AdView从plus.nativeObj.View继承， 用于渲染显示广告的原生控件，目前仅支持“模板渲染”模式，暂不支持“自定义渲染”模式。 使用广告控件步骤： 创建广告控件AdView，添加到Webview中，高度设置为"0px"，此时不显示 获取广告数据，将广告数据绑定到AdView上并开始渲染 监听广告渲染事件，广告渲染成功后更新AdView的高度，显示广告 注意：广告控件创建后需添加到Webview窗口中才能显示，关闭广告。

## 方法：

- renderingBind: 绑定广告数据并渲染
- setRenderingListener: 监听广告渲染完成事件
- setDislikeListener: 监听点击关闭广告事件

# AdViewStyles

广告原生控件样式

## 属性：

- top: (String 类型 )AdView控件左上角的垂直偏移量

  可取值： 像素值，如"100px"； 百分比，如"10%"，相对于父Webview窗口的高度。 默认值为"0px"。

- left: (String 类型 )AdView控件左上角的水平偏移量

  可取值： 像素值，如"100px"； 百分比，如"10%"，相对于父Webview窗口的宽度。 默认值为"0px"。

- width: (String 类型 )AdView控件的宽度

  可取值： 像素值，如"100px"； 百分比，如"10%"，相对于父Webview窗口的宽度。 默认值为"100%"。

- height: (String 类型 )AdView控件的高度

  可取值： 像素值，如"100px"； 百分比，如"10%"，相对于父Webview窗口的高度。 默认值为"0px"。

- position: (String 类型 )AdView控件在Webview窗口的布局模式

  可取值： "static" - 静态布局模式，如果页面存在滚动条则随窗口内容滚动； "absolute" - 绝对布局模式，如果页面存在滚动条不随窗口内容滚动； 默认值为"static"。

# AdsOptions

获取信息流广告的参数

## 属性：

- adpid: (String 类型 )信息流广告位标识

  在UniAD平台新建广告位后可得到。

- width: (String 类型 )信息流广告将要显示的宽度

  支持像素值（如"100px"）、百分比（如"50%"）。默认值为"100%"。 注：此值用于向广告平台匹配合适的信息流广告，建议传入广告展现时真实的宽度。

- cound: (Number 类型 )获取信息流广告的数目

  默认值为3。 注：真实返回的广告数目可能小于此值，如填充率不够时会发生此情况。

# GetAdsSuccessCallback

获取信息流广告成功回调函数

    void onSuccess( Event event ){
    	// Code here
    	var ads = event.ads; // AdData数组对象，AdData为广告数据对象
    }

## 说明：

获取信息流广告成功时触发，并返回信息流广告数据。

## 参数：

- event: ( Event ) 可选 获取信息流广告成功的信息
  可通过event.ads，Array(AdData类型)获取广告数据。

## 返回值：

void : 无

# ADViewRenderingCallback

监听广告渲染完成事件回调函数

    void onSuccess( Event event ){
    	// Code here
    	var result = event.result; // 广告渲染结果，0表示渲染成功
    	var width = event.wdith;  // 广告渲染需要的宽度，逻辑像素值
    	var height = event.height; // 广告渲染需要的高度，逻辑像素值
    }

## 说明：

广告渲染完成时触发。

## 参数：

- event: ( Event ) 可选 广告渲染的信息
  event包含以下参数： result - Number类型，0表示渲染成功，其它值表示渲染失败； width - Number类型，控件的宽度，逻辑像素值； height - Number类型，控件的高度，逻辑像素值。

## 返回值：

void : 无

# ADviewDislikedCallback

监听点击关闭广告事件回调函数

    void onSuccess( Event event ){
    	// Code here
    	var value = event.value; // 用户关闭广告的原因
    }

## 说明：

用户点击关闭广告时触发。

## 参数：

- event: ( Event ) 可选 关闭广告的信息
  event包含以下参数： value - String类型，不喜欢的原因。

## 返回值：

void : 无

# AdSuccessCallback

广告操作成功回调函数

    void onSuccess(){
    	// Code here
    }

## 参数：

无

## 返回值：

void : 无

# AdErrorCallback

广告操作错误回调函数

    void onError(error){
    	// Handle the error
    	var code = error.code; // 错误编码
    	var message = error.message; // 错误描述信息
    }

## 说明：

获取信息流广告数据失败时触发。

## 参数：

- error: ( Exception ) 可选 广告操作的错误信息
  可通过error.code（Number类型）获取错误编码； 可通过error.message（String类型）获取错误描述信息。

## 返回值：

void : 无