// Creates a banner view and adds it to the view hierarchy. public void CreateBannerView(string adAppId, string adUnitId, BannerViewOptions options) { // A new GCHandle that protects the object from garbage collection. This GCHandle must be released with Free() when it is no longer needed. bannerClientPtr = (IntPtr)GCHandle.Alloc(this); BannerViewPtr = Externs.InitAtmosplayBannerAd(bannerClientPtr, adAppId, adUnitId); AtmosplayBannerAdSize bannerSize = AtmosplayBannerAdSize.kAtmosplayAdsBanner320x50; switch (options.bannerSize) { case BannerAdSize.BANNER_AD_SIZE_320x50: bannerSize = AtmosplayBannerAdSize.kAtmosplayAdsBanner320x50; break; case BannerAdSize.BANNER_AD_SIZE_728x90: bannerSize = AtmosplayBannerAdSize.kAtmosplayAdsBanner728x90; break; case BannerAdSize.BANNER_AD_SIZE_SMART_PORTRAIT: bannerSize = AtmosplayBannerAdSize.kAtmosplayAdsSmartBannerPortrait; break; case BannerAdSize.BANNER_AD_SIZE_SMART_LANDSCAPE: bannerSize = AtmosplayBannerAdSize.kAtmosplayAdsSmartBannerLandscape; break; } Externs.SetBannerAdSize(BannerViewPtr, bannerSize); Externs.SetBannerPosition(BannerViewPtr, (int)options.adPosition); if (options.channelID != null) { Externs.SetBannerChannelID(BannerViewPtr, options.channelID); } Externs.SetBannerCallbacks( BannerViewPtr, BannerDidReceiveAdCallback, BannerDidFailToReceiveAdWithErrorCallback, BannerDidClickCallback ); }