public void CreateBannerView(string adUnitId, AdSize adSize, int x, int y)
        {
            this.bannerClientPtr = (IntPtr)GCHandle.Alloc(this);

            if (adSize.IsSmartBanner)
            {
                this.BannerViewPtr = Externs.GADUCreateSmartBannerViewWithCustomPosition(
                    this.bannerClientPtr,
                    adUnitId,
                    x,
                    y);
            }
            else
            {
                this.BannerViewPtr = Externs.GADUCreateBannerViewWithCustomPosition(
                    this.bannerClientPtr,
                    adUnitId,
                    adSize.Width,
                    adSize.Height,
                    x,
                    y);
            }

            Externs.GADUSetBannerCallbacks(
                this.BannerViewPtr,
                AdViewDidReceiveAdCallback,
                AdViewDidFailToReceiveAdWithErrorCallback,
                AdViewWillPresentScreenCallback,
                AdViewDidDismissScreenCallback,
                AdViewWillLeaveApplicationCallback);
        }
        public void CreateBannerView(string adUnitId, AdSize adSize, int x, int y)
        {
            this.bannerClientPtr = (IntPtr)GCHandle.Alloc(this);

            switch (adSize.AdType)
            {
            case AdSize.Type.SmartBanner:
                this.BannerViewPtr = Externs.GADUCreateSmartBannerViewWithCustomPosition(
                    this.bannerClientPtr,
                    adUnitId,
                    x,
                    y);
                break;

            case AdSize.Type.AnchoredAdaptive:
                this.BannerViewPtr = Externs.GADUCreateAnchoredAdaptiveBannerViewWithCustomPosition(
                    this.bannerClientPtr,
                    adUnitId,
                    adSize.Width,
                    (int)adSize.Orientation,
                    x,
                    y);
                break;

            case AdSize.Type.Standard:
                this.BannerViewPtr = Externs.GADUCreateBannerViewWithCustomPosition(
                    this.bannerClientPtr,
                    adUnitId,
                    adSize.Width,
                    adSize.Height,
                    x,
                    y);
                break;

            default:
                throw new ArgumentException("Invalid AdSize.Type provided.");
            }

            Externs.GADUSetBannerCallbacks(
                this.BannerViewPtr,
                AdViewDidReceiveAdCallback,
                AdViewDidFailToReceiveAdWithErrorCallback,
                AdViewWillPresentScreenCallback,
                AdViewDidDismissScreenCallback,
                AdViewWillLeaveApplicationCallback,
                AdViewPaidEventCallback
                );
        }