// 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
                );
        }
示例#2
0
 internal static extern void SetBannerAdSize(IntPtr bannerView, AtmosplayBannerAdSize bannerSize);