横幅广告
1. 接口API说明
1.1 横幅广告请求类
Request
| 属性成员 | 说明 |
|---|---|
| PlacementId | 广告位 |
| UserId | 媒体用户体系ID ,可选 ,默认null |
| options | 扩展参数,默认null |
1.2 横幅广告对象类
BannerAd
| 方法 | 说明 |
|---|---|
| BannerAd(Request request) | 初始化横幅广告对象,request 为广告请求对象,必传 |
| SetBannerAdListener(IBannerAdListener listener) | 设置横幅广告接口回调 |
| LoadAd() | 发起广告加 |
| Ready() | 判断当前BannerAd是否存在可展示的广告 |
| HideAd() | 隐藏当前广告 |
| ShowAd() | 展示广告 |
| SetLoadFilter(string json) | 广告源加载及播放过滤设置,具体使用见高级设置->广告过滤->广告对象级广告源过滤器设置。 |
| SetLoadCustomGroup(Dictionary<string, string> customGroup) | 广告对象级自定义广告源分组,可设置多个分组,每个分组下可设置多个广告源。 |
| String PlacementId | 广告对象使用的广告位 |
| Dispose() | 销毁并关闭广告 |
| AdInfo GetAdInfo() | 获取广告信息AdInfo对象,成功播放回调后获取有效 |
| List<AdInfo> GetCacheAdInfoList() | 查询当前广告位的所有缓存信息的AdInfo对象、在广告加载成功后调用。 |
1.3 横幅广告回调说明
IBannerAdListener 横幅广告回调说明
| 回调方法 | 说明 |
|---|---|
| OnAdError (BannerAd ad, Error error) | 广告加载失败 |
| OnAdLoad (BannerAd ad) | 广告加载成功 |
| OnAdShow (BannerAd ad) | 广告开始展示 |
| OnAdClick (BannerAd ad) | 广告被用户点击 |
| OnAdClose (BannerAd ad) | 广告展示关闭 |
| OnAdAutoRefreshed (BannerAd ad) | 自动刷新广告成功 |
| OnAdAutoRefreshFail (BannerAd ad,Error error) | 自动刷新广告失败 |
IBannerAdSourceStatusListener 广告源加载回调说明
| 回调方法 | 说明 |
|---|---|
| OnAdStartBidADSource(BannerAd ad, AdInfo adInfo) | 竞价广告源开始竞价回调 |
| OnAdFinishBidADSource(BannerAd ad, AdInfo adInfo) | 竞价广告源竞价成功回调 |
| OnAdFailBidADSource(BannerAd ad, AdInfo adInfo, Error error) | 竞价广告源竞价失败回调,以及失败原因 |
| OnAdStartLoadingADSource(BannerAd ad, AdInfo adInfo) | 广告源开始加载回调 |
| OnAdFinishLoadingADSource(BannerAd ad, AdInfo adInfo) | 广告源广告填充回调 |
| OnAdFailToLoadADSource(BannerAd ad, AdInfo adInfo,Error error) | 广告源加载失败回调,以及失败原因 |
2. 示例代码
2.1 创建横幅广告对象
C#
Request request = new Request();
request.PlacementId = <广告位ID>;
request.UserId = "unity_user_1";
BannerAd bannerAd = new BannerAd(request);2.1 设置监听回调
C#
private sealed class BannerAdListener : IBannerAdListener
{
public BannerAdListener()
{
}
public void OnAdClick(BannerAd ad)
{
Debug.Log("SigmobUnityPlugin -- OnAdClick ---- " + ad.PlacementId);
}
public void OnAdClose(BannerAd ad)
{
Debug.Log("SigmobUnityPlugin -- OnAdClose ---- " + ad.PlacementId);
ad.Dispose();
}
public void OnAdShow(BannerAd ad)
{
Debug.Log("SigmobUnityPlugin -- OnAdShow ---- " + ad.PlacementId);
Debug.Log("SigmobUnityPlugin -- getAdInfo ---- " + ad.GetAdInfo().ToString());
}
public void OnAdError(BannerAd ad, Error error)
{
Debug.Log("SigmobUnityPlugin -- OnAdError ---- " + ad.PlacementId + ", error -- " + error.ToString());
}
public void OnAdLoad(BannerAd ad)
{
Debug.Log("SigmobUnityPlugin -- OnAdLoad ---- " + ad.PlacementId);
}
public void OnAdAutoRefreshed(BannerAd ad)
{
Debug.Log("SigmobUnityPlugin -- OnAdAutoRefreshed ---- " + ad.PlacementId);
}
public void OnAdAutoRefreshFail(BannerAd ad, Error error)
{
Debug.Log("SigmobUnityPlugin -- OnAdAutoRefreshFail ---- " + ad.PlacementId);
}
}
bannerAd.SetBannerAdListener(new BannerAdListener());C#
private sealed class BannerAdSourceStatusListener : IBannerAdSourceStatusListener
{
BannerAdScript script;
public BannerAdSourceStatusListener(BannerAdScript adScrit)
{
script = adScrit;
}
public void OnAdStartBidADSource(BannerAd ad, AdInfo adInfo)
{
Debug.Log("SigmobUnityPlugin -- OnAdStartBidADSource ---- " + ad.PlacementId);
Debug.Log("SigmobUnityPlugin -- getAdInfo ---- " + adInfo.ToString() + " | loadId " + adInfo.loadId);
}
public void OnAdFinishBidADSource(BannerAd ad, AdInfo adInfo)
{
Debug.Log("SigmobUnityPlugin -- OnAdFinishBidADSource ---- " + ad.PlacementId);
Debug.Log("SigmobUnityPlugin -- getAdInfo ---- " + adInfo.ToString() + " | loadId " + adInfo.loadId);
}
public void OnAdFailBidADSource(BannerAd ad, AdInfo adInfo, Error error)
{
Debug.Log("SigmobUnityPlugin -- OnAdFailBidADSource ---- " + ad.PlacementId + ", error -- " + error.ToString());
}
public void OnAdStartLoadingADSource(BannerAd ad, AdInfo adInfo)
{
Debug.Log("SigmobUnityPlugin -- OnAdStartLoadingADSource ---- " + ad.PlacementId);
Debug.Log("SigmobUnityPlugin -- getAdInfo ---- " + adInfo.ToString() + " | loadId " + adInfo.loadId);
}
public void OnAdFinishLoadingADSource(BannerAd ad, AdInfo adInfo)
{
Debug.Log("SigmobUnityPlugin -- OnAdFinishLoadingADSource ---- " + ad.PlacementId);
Debug.Log("SigmobUnityPlugin -- getAdInfo ---- " + adInfo.ToString() + " | loadId " + adInfo.loadId);
}
public void OnAdFailToLoadADSource(BannerAd ad, AdInfo adInfo, Error error)
{
Debug.Log("SigmobUnityPlugin -- OnAdFailToLoadADSource ---- " + ad.PlacementId + ", error -- " + error.ToString());
}
}2.2 横幅广告加载
C#
bannerAd.LoadAd();2.3 横幅广告播放
C#
if(bannerAd.Ready()){
float ratio = 320 / 50.0f;
int wdith = Screen.width;
int height =(int) (wdith / ratio);
int x = Screen.width > wdith ? (Screen.width - wdith) / 2 : 0;
int y = Screen.height - height-50;
bannerAd.ShowAd(new Rect(x, y, wdith,height));
}