Skip to content

横幅广告

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));
}