private void RefreshAds()
 {
     if (AdSpaceWidth > 0 && ShowAds)
     {
         int numAds = (int)AdSpaceWidth / 320;
         if (numAds > 3)
         {
             numAds = 3;
         }
         while (AdPanel.Children.Count > numAds)
         {
             AdPanel.Children.RemoveAt(AdPanel.Children.Count - 1);
         }
         while (AdPanel.Children.Count < numAds)
         {
             AdDuplex.AdControl ad = new AdDuplex.AdControl()
             {
                 AdUnitId = AdUnitIds[AdPanel.Children.Count], AppKey = this.AppKey
             };
             AdPanel.Children.Add(ad);
         }
     }
     else
     {
         AdPanel.Children.Clear();
     }
 }
        private void ActivateAdDuplexBanner()
        {
            // Return if you hit the error limit for this refresh interval.
            if (errorCountCurrentRefresh >= MAX_ERRORS_PER_REFRESH)
            {
                myAdGrid.Visibility = Visibility.Collapsed;
                return;
            }

            // Hide the Microsoft control if it is showing.
            if (null != myMicrosoftBanner)
            {
                myMicrosoftBanner.Visibility = Visibility.Collapsed;
            }

            // Initialize or display the AdDuplex control.
            if (null == myAdDuplexBanner)
            {
                myAdDuplexBanner                 = new AdDuplex.AdControl();
                myAdDuplexBanner.AppKey          = ADDUPLEX_APPKEY;
                myAdDuplexBanner.AdUnitId        = ADDUPLEX_ADUNIT;
                myAdDuplexBanner.Width           = AD_WIDTH;
                myAdDuplexBanner.Height          = AD_HEIGHT;
                myAdDuplexBanner.RefreshInterval = AD_REFRESH_SECONDS;

                myAdDuplexBanner.AdLoaded       += myAdDuplexBanner_AdLoaded;
                myAdDuplexBanner.AdCovered      += myAdDuplexBanner_AdCovered;
                myAdDuplexBanner.AdLoadingError += myAdDuplexBanner_AdLoadingError;
                myAdDuplexBanner.NoAd           += myAdDuplexBanner_NoAd;

                myAdGrid.Children.Add(myAdDuplexBanner);
            }
            myAdDuplexBanner.Visibility = Visibility.Visible;
        }
Beispiel #3
0
        public void Init(string appKey, string uid)
        {
            var ad = new AdDuplex.AdControl();

            ad.AdUnitId = uid;
            ad.AppKey   = appKey;
            LayoutRoot.Children.Add(ad);
        }
        private AdDuplex.AdControl LoadNewAdduplexAds()
        {
            AdDuplex.AdControl AdduplexAds = new AdDuplex.AdControl();

            AdduplexAds.Width           = AdWidth;
            AdduplexAds.Height          = AdHeight;
            AdduplexAds.AdUnitId        = AdduplexAdId;
            AdduplexAds.AppKey          = AdduplexAppKey;
            AdduplexAds.RefreshInterval = RefreshInterval_Adduplex;
            AdduplexAds.AutoSize        = true;
            // AdduplexAds.size = string.Format("{0}x{1}", AdWidth, AdHeight);
            //AdduplexAds.IsTest = true;
            AdduplexAds.RefreshInterval = 999;

            AdduplexAds.NoAd           += AdduplexAds_NoAd;
            AdduplexAds.AdLoaded       += AdduplexAds_AdLoaded;
            AdduplexAds.AdLoadingError += AdduplexAds_AdLoadingError;

            return(AdduplexAds);
        }
Beispiel #5
0
 private void RefreshAds()
 {
     if (AdSpaceWidth > 0 && ShowAds)
     {
         int numAds = (int)AdSpaceWidth / 320;
         if (numAds > 3) numAds = 3;
         while (AdPanel.Children.Count > numAds)
         {
             AdPanel.Children.RemoveAt(AdPanel.Children.Count - 1);
         }
         while (AdPanel.Children.Count < numAds)
         {
             AdDuplex.AdControl ad = new AdDuplex.AdControl() { AdUnitId = AdUnitIds[AdPanel.Children.Count], AppKey = this.AppKey };
             AdPanel.Children.Add(ad);
         }
     }
     else
     {
         AdPanel.Children.Clear();
     }
 }
        private void ActivateAdDuplexBanner()
        {
            // Return if you hit the error limit for this refresh interval.
            if (_errorCountCurrentRefresh >= MaxErrorsPerRefresh)
            {
                MyAdGrid.Visibility = Visibility.Collapsed;
                return;
            }

            // Hide the Microsoft control if it is showing.
            if (null != _myMicrosoftBanner)
            {
                _myMicrosoftBanner.Visibility = Visibility.Collapsed;
            }

            // Initialize or display the AdDuplex control.
            if (null == _myAdDuplexBanner)
            {
                _myAdDuplexBanner = new AdDuplex.AdControl
                {
                    AppKey          = AdduplexAppkey,
                    AdUnitId        = AdduplexAdunit,
                    Width           = AdWidth,
                    Height          = AdHeight,
                    RefreshInterval = AdRefreshSeconds
                };

                _myAdDuplexBanner.AdLoaded       += myAdDuplexBanner_AdLoaded;
                _myAdDuplexBanner.AdCovered      += myAdDuplexBanner_AdCovered;
                _myAdDuplexBanner.AdLoadingError += myAdDuplexBanner_AdLoadingError;
                _myAdDuplexBanner.NoAd           += myAdDuplexBanner_NoAd;

                MyAdGrid.Children.Add(_myAdDuplexBanner);
            }
            _myAdDuplexBanner.Visibility = Visibility.Visible;
        }
        private FrameworkElement CreateAdDuplexControl()
        {
            var adDuplexAd = new AdDuplex.AdControl();
            adDuplexAd.AppId = AdDuplexAppId;
            //adDuplexAd.IsTest = true;

            return adDuplexAd;
        }
Beispiel #8
0
 private object CreateAdDuplexControl()
 {
     try
     {
         var adDuplexAd = new AdDuplex.AdControl();
         adDuplexAd.AppId = AdDuplexAppId;
         //adDuplexAd.IsTest = true;
         return adDuplexAd;
     }
     catch (Exception)
     {
         return new Model.NoneProvider();
     }
 }
        private void RefreshNewAdSet()
        {
            /*   if (leadbolt_controller != null)
             * {
             *     try
             *     {
             *         leadbolt_controller.DestroyAd();
             *     }
             *     catch { }
             *     leadbolt_controller = null;
             * }*/

            UIElementCollection collection = Grid_Ads.Children;

            foreach (UIElement ui in collection)
            {
                Type type = ui.GetType();
                if (type != typeof(Grid))
                {
                    Grid_Ads.Children.Remove(ui);
                }
            }

            AdNetworkEnum network  = AdNetworkEnum.None;
            bool          Selected = false;

            while (!Selected)
            {
                int rand = new Random().Next(100);

                if (rand < 80)//60)
                {
                    network = AdNetworkEnum.Microsoft_Pubcenter;
                }

                /*   else if (rand < 80)
                 * {
                 *     network = AdNetworkEnum.LeadBolt;
                 *     if (network == AdNetworkEnum.LeadBolt)
                 *     {
                 *         Grid_Ads.Width = 300;
                 *         Grid_Ads.Height = 500;
                 *     }
                 *     else
                 *     {
                 *         Grid_Ads.Width = 160;
                 *         Grid_Ads.Height = 600;
                 *     }
                 * }*/
                else if (rand < 200)
                {
                    network = AdNetworkEnum.AdDuplex;
                }
                // else
                // {
                //     network = AdNetworkEnum.InMobi;
                //  }

                if (DisabledNetwork.ContainsKey(network))
                {
                    if (DateTime.Now.Ticks - DisabledNetwork[network] < 5 * TimeSpan.TicksPerSecond)
                    {
                        continue;
                    }
                    else
                    {
                        DisabledNetwork[network] = DateTime.Now.Ticks;
                        Selected = true;
                    }
                }
                else
                {
                    DisabledNetwork.Add(network, DateTime.Now.Ticks);
                    Selected = true;
                }
            }
            Debug.WriteLine("Refreshing ad to: " + network.ToString());


            switch (network)
            {
            case AdNetworkEnum.AdDuplex:
            {
                AdDuplex.AdControl adDuplexAd = LoadNewAdduplexAds();
                Grid_Ads.Children.Add(adDuplexAd);
                break;
            }

            case AdNetworkEnum.InMobi:
            {
                /*IMAdView inMobiAd = InitializeInmobi();
                 * Grid_Ads.Children.Add(inMobiAd);
                 *
                 * inMobiAd.LoadNewAd();*/
                break;
            }

            case AdNetworkEnum.Microsoft_Pubcenter:
            {
                Microsoft.Advertising.WinRT.UI.AdControl pubcenterAd = LoadNewPubCenterAds();
                Grid_Ads.Children.Add(pubcenterAd);

                pubcenterAd.Refresh();
                break;
            }

            default:
            {
                break;
            }
            }
        }
Beispiel #10
0
        public static void DecideAdControl(Grid LayoutRoot, TextBlock txtInfomation)
        {
            if (IsAdvertising)
            {
                //원할한 광고 수신을 위해 지역 고정
                string appId  = VersionType == VersionTypes.AMK ? Constant.MS_MK_ADVERTISING_APPID : Constant.MS_TK_ADVERTISING_APPID;
                string unitId = VersionType == VersionTypes.AMK ? Constant.MS_MK_ADVERTISING_AD_UNIT_ID : Constant.MS_TK_ADVERTISING_AD_UNIT_ID;

                double width               = 480;
                double height              = 80;
                double txtTopMargin        = 60;
                HorizontalAlignment hAlign = HorizontalAlignment.Left;
                VerticalAlignment   vAlign = VerticalAlignment.Top;
                Thickness           margin = new Thickness(0);

                //마우스 안내 문구 위치 이동
                Thickness txtMargin = txtInfomation.Margin;
                txtMargin.Top       += txtTopMargin;
                txtInfomation.Margin = txtMargin;

                Grid adGrd = new Grid();
                adGrd.VerticalAlignment   = System.Windows.VerticalAlignment.Top;
                adGrd.HorizontalAlignment = System.Windows.HorizontalAlignment.Stretch;

                //my ad
                ImageButton myAdCtrl = new ImageButton();
                myAdCtrl.Width  = width;
                myAdCtrl.Height = height;
                myAdCtrl.HorizontalAlignment = hAlign;
                myAdCtrl.VerticalAlignment   = vAlign;
                myAdCtrl.Margin = margin;
                BitmapImage tn = new BitmapImage();
                tn.SetSource(Application.GetResourceStream(UIUtils.GetRelativeUri(ResourceUri.IMG_AD_PLACEHOLDER)).Stream);
                myAdCtrl.Image = tn;

                //AdControl msAdCtrl = new AdControl("test_client", "Image480_80", true);
                AdControl          msAdCtrl     = new AdControl(appId, unitId, true);
                AdDuplex.AdControl adDuplexCtrl = new AdDuplex.AdControl()
                {
                    AppId = Constant.ADDUPLEX_ID
                };
                //adDuplexCtrl.IsTest = true;

                myAdCtrl.Tap += (s, e) =>
                {
                    //페이지 이동
                    WebBrowserTask wbt = new WebBrowserTask();
                    wbt.Uri = new Uri(string.Format("http://windowsphone.com/s?appId={0}", Constant.FULL_VERSION_APP_ID), UriKind.Absolute);
                    wbt.Show();

                    //광고바 숨김
                    LayoutRoot.Children.Remove(adGrd);
                    txtMargin.Top       -= txtTopMargin;
                    txtInfomation.Margin = txtMargin;
                };

                //adduplex
                adDuplexCtrl.HorizontalAlignment = hAlign;
                adDuplexCtrl.VerticalAlignment   = vAlign;
                adDuplexCtrl.Margin   = margin;
                adDuplexCtrl.Width    = width;
                adDuplexCtrl.Height   = height;
                adDuplexCtrl.AdClick += (s, e) =>
                {
                    LayoutRoot.Children.Remove(adGrd);
                    txtMargin.Top       -= txtTopMargin;
                    txtInfomation.Margin = txtMargin;
                };
                adDuplexCtrl.AdLoadingError += (s, e) =>
                {
                    if (e.Error.Message != "Ad control is hidden by other control")
                    {
                        Deployment.Current.Dispatcher.BeginInvoke(() =>
                        {
                            adGrd.Children.Remove(adDuplexCtrl);
                            //다음광고 호출
                            adGrd.Children.Add(myAdCtrl);
                        });
                    }
                };

                //ms ad
                msAdCtrl.HorizontalAlignment = hAlign;
                msAdCtrl.VerticalAlignment   = vAlign;
                msAdCtrl.Margin = margin;
                msAdCtrl.Height = height;
                msAdCtrl.Width  = width;
                msAdCtrl.IsAutoCollapseEnabled = false;
                msAdCtrl.ErrorOccurred        += (s, e) =>
                {
                    //다음광고 호출
                    Deployment.Current.Dispatcher.BeginInvoke(() =>
                    {
                        adGrd.Children.Remove(msAdCtrl);
                        adGrd.Children.Add(adDuplexCtrl);
                    });

                    if (System.Diagnostics.Debugger.IsAttached)
                    {
                        MessageBox.Show("MS Advertising : " + e.Error.Message);
                    }
                };
                msAdCtrl.IsEngagedChanged += (s, e) =>
                {
                    LayoutRoot.Children.Remove(adGrd);
                    txtMargin.Top       -= txtTopMargin;
                    txtInfomation.Margin = txtMargin;
                };

                TextBlock adTxt = new TextBlock();
                adTxt.Margin = new Thickness(485, 0, 0, 0);
                adTxt.HorizontalAlignment = System.Windows.HorizontalAlignment.Left;
                adTxt.VerticalAlignment   = System.Windows.VerticalAlignment.Center;
                adTxt.Text         = I18n.GetString("AdClickMessage");
                adTxt.TextWrapping = TextWrapping.Wrap;

                adGrd.Children.Add(msAdCtrl);
                adGrd.Children.Add(adTxt);
                LayoutRoot.Children.Add(adGrd);
            }
        }