2014-10-31 13 views
0

只需在最後一分鐘決定在我的試用版應用的各個頁面上展示廣告。如何以合法的方式隱藏Windows Phone廣告,使其不會收到展示

下面是我加入到我的網頁底部的XAML:

<StackPanel Grid.Row="1" x:Name="ad_stack" Margin="0,0,0,4"> 
      <UI:AdControl ApplicationId="test_client" AdUnitId="Image480_80" 
HorizontalAlignment="Left" Height="80" VerticalAlignment="Top" Width="480" 
ErrorOccurred="AdControl_ErrorOccurred"/> 
     </StackPanel> 

IN的代碼隱藏,我都這樣了,趕毫秒pubCenter問題,如在一個地區沒有廣告,並在這種情況下,展示AdMob:

private void AdControl_ErrorOccurred(object sender, Microsoft.Advertising.AdErrorEventArgs e) 
    { 
     AdControl ad = (AdControl)sender; 
     StackPanel grd = (StackPanel)ad.Parent; 
     System.Windows.Deployment.Current.Dispatcher.BeginInvoke(() => 
     { 
      AdView bannerAd = new AdView 
      { 
       Format = AdFormats.Banner, 
       AdUnitID = "myidhere" 
      }; 
      AdRequest adRequest = new AdRequest(); 
      grd.Children.Add(bannerAd); 
      bannerAd.LoadAd(adRequest); 
     }); 
     System.Diagnostics.Debug.WriteLine(e.Error.Message); 
    } 

我的主要問題是.. 當用戶購買該應用程序, ,因此我的應用程序的IsTrial布爾是假的,

如何隱藏廣告完全不僅在視覺上,而且使MS或Google都無法從中註冊任何展示。

如果我只是將adControl設置爲visibility.collapsed,那會關閉MS的廣告(我是新手,所以猜測),但Google的adMob可能會顯示。

參考我上面發佈的XAML,我可以簡單地將名爲「ad_stack」的StackPanel設置爲Visibility.collapsed,還是會導致pubCenter和/或adMob仍然收到展示?

回答

1

我會檢查兩個廣告提供商的文檔。但如果沒有這樣做,而不是更改Visibility,只需將它們從樹中移除(ad_stack.Children.Clear()),它們將被卸載。或者,更好的是,在知道用戶是試用用戶之前,甚至不要將它們添加到樹中。

+0

謝謝,但這個問題, 爲了動態地將它添加到基於isTrial值的樹,我猜我將無法實現我在頂部包含的XAML代碼在這裏? 聽起來像我需要在C#中完成它。 – Steve 2014-11-02 15:49:38

+0

哦,沒關係,找到了這樣做的方法: http://mobileworld.appamundi.com/blogs/petevickers/archive/2012/12/05/using-the-adcontrol-from-code-in-windows-phone -8.aspx – Steve 2014-11-02 19:01:40