2012-03-17 13 views
12

既にデプロイ済みのアプリに広告を統合しようとしています。しかし、私が何をしていても、私は広告を働かせるようには思えません。私はコードバージョンとドラッグアンドドロップのGUIバージョンの両方を使ってみました。どちらも私は働くことができません。Windowsの電話広告が機能しない

これは私が見ているものです:起動時に、広告があるはずの分割白で点滅するかもしれませんが、それ以下のものはありません。私はそれを置く場所であることを認識します。ボタンの上に置くと、ボタンはクリッキングできなくなります。すべての言われている、デフォルトの "マイクロソフトの広告"画像はポップアップしない。私は広告SDKをインストールして、簡単に他のプロジェクトに広告を表示させることができました。

何がありますか?これは非常に簡単なページで、何が間違っているのか分かりません。他のページのいずれにも広告を掲載できないようです...私はMicrosoft.Advertising.MobileとMicrosoft.Advertisingを持っています。 「私はあなたがdidnの場合はあなたの問題は(から来ることができると思います(私は広告と同時にプロジェクトのオープンを持っており、それが動作します)

<phone:PhoneApplicationPage 
    x:Class="AppName.AdPage" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone" 
    xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone" 
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
    FontFamily="{StaticResource PhoneFontFamilyNormal}" 
    FontSize="{StaticResource PhoneFontSizeNormal}" 
    Foreground="{StaticResource PhoneForegroundBrush}" 
    SupportedOrientations="Portrait" Orientation="Portrait" 
    mc:Ignorable="d" d:DesignHeight="768" d:DesignWidth="480" 
    shell:SystemTray.IsVisible="True" 
    xmlns:my="clr-namespace:Microsoft.Advertising.Mobile.UI;assembly=Microsoft.Advertising.Mobile.UI"> 

    <!--LayoutRoot is the root grid where all page content is placed--> 
    <Grid x:Name="LayoutRoot" Background="Transparent"> 
     <Grid.RowDefinitions> 
      <RowDefinition Height="Auto"/> 
      <RowDefinition Height="*"/> 
     </Grid.RowDefinitions> 

     <!--TitlePanel contains the name of the application and page title--> 
     <StackPanel x:Name="TitlePanel" Margin="12,17,12,28"> 
      <TextBlock x:Name="PageTitle" Text="Thank You!" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}" Width="334" /> 
     </StackPanel> 

     <!--ContentPanel - place additional content here--> 
     <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0" Height="569" VerticalAlignment="Top"> 

      <Button Content="Ok" Height="72" HorizontalAlignment="Center" Margin="0,428,0,0" Name="button1" VerticalAlignment="Top" Width="160" Click="button1_Click" /> 
      <my:AdControl AdUnitId="Image480_80" ApplicationId="test_client" Height="80" HorizontalAlignment="Left" Margin="-12,458,0,0" Name="adControl1" VerticalAlignment="Top" Width="480" /> 
     </Grid> 
    </Grid> 
</phone:PhoneApplicationPage> 
using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Net; 
using System.Windows; 
using System.Windows.Controls; 
using System.Windows.Documents; 
using System.Windows.Input; 
using System.Windows.Media; 
using System.Windows.Media.Animation; 
using System.Windows.Shapes; 
using Microsoft.Phone.Controls; 
using Microsoft.Advertising.Mobile.UI; 
using Microsoft.Advertising.Mobile; 
namespace Stickey_Note_v._1 
{ 
    public partial class AdPage : PhoneApplicationPage 
    { 
     public AdPage() 
     { 
      InitializeComponent(); 
     } 

     private void button1_Click(object sender, RoutedEventArgs e) 
     { 
      NavigationService.Navigate(new Uri("/MainPage.xaml", UriKind.Relative)); 
     } 
    } 
} 

答えて

20

私は同じ問題があり、それについてblog postと書いています。ここで重要なものだ:SDKのAdControlはかなり一貫しているようだと問題の

症状:ページが読み込まれると、コントロールは、1つのピクセルの枠のヒントを示す、簡単に点滅し、その後、パッと消える。それは無駄に崩壊し、黒人の穴しか残さない。

理論上、AdControlの設定は簡単です。 documentation from Microsoftは基本を概説しています:

  • Microsoft Advertising SDKをダウンロードしてインストールしてください。
  • Microsoft.Advertising.Mobile.UIへの参照を追加します。
  • コントロールをVisual Studioデザイナのページにドラッグします。
  • AdUnitIdおよびApplicationIdのプロパティを、Microsoft pubCenterから取得できる値または実際の有効な値のいずれかに設定します。

しかし、それは容易ではありませんでした。私は慎重に文書を守ったが、何も動いていなかった。私はテスト広告を表示することさえできませんでした。これは本当に奇妙に思えました。私は私のアプリの古いバージョン(yay source control!)に戻って、新しい.dllに落とした。失敗。

最後に、私はobscure forum postの手がかりを見つけました。

マイクロソフトのドキュメントには、いくつかの重要な詳細については無視されています。あなたはマンゴー広告SDKへの既存のプロジェクトをアップグレードしている場合、私はあったように、次のように特に注意を払う必要があります:

  • あなたはAdControlのために、高さと幅を指定する必要があります。HeightおよびWidthの属性を指定しないか、またはautoに設定すると、不満の涙が発生します。マイクロソフトが提供する広告のネイティブサイズであるため、高さ80ピクセル、幅480ピクセルをお勧めします。
  • AdControlsは同じページにあるか、少なくとも同じ親要素にはありません。第2のものは崩壊するでしょう。これを回避する方法があるかもしれませんが、私はデモアプリケーションを構築している間にそれを発見し、解決策を追求する気にしませんでした。
  • WMAppManifest.xmlファイルに特定の機能を指定する必要があります。私は私のアプリをアップグレードしていたので、私はいくつかの新しい機能を宣言していませんでした。すべての問題を引き起こしていたものはID_CAP_IDENTITY_USERでした。次の機能は、すべて正しく機能するように制御するために必要とされる:
<Capabilities> 
    <Capability Name="ID_CAP_IDENTITY_USER"/> 
    <Capability Name="ID_CAP_MEDIALIB"/> 
    <Capability Name="ID_CAP_NETWORKING"/> 
    <Capability Name="ID_CAP_PHONEDIALER"/> 
    <Capability Name="ID_CAP_WEBBROWSERCOMPONENT"/> 
</Capabilities> 

を役に立てば幸い!

+1

あなたは、非常に有用なこと以外にもあります:)私は<能力名= "ID_CAP_NETWORKING" />を入力してください。 –

+1

うわあ、いいよ。 :)喜んでサービスになる。 –

+0

データバインドする場合。 https://gist.github.com/1927879 –

2

をMobile.UIは、プロジェクトに含まれており、私のインターネットが働いていますt)はそれをここに投稿するためにそれを削除します。

<my:AdControl AdUnitId="Image480_80" ApplicationId="test_client" Height="80" HorizontalAlignment="Left" Margin="-12,458,0,0" Name="adControl1" VerticalAlignment="Top" Width="480" /> 
     </Grid> 

はあなたがpubCenterから取得AdUnitIdとAPPLICATIONIDを使用する必要があります。

+1

はい、私は資格を取得しましたが、実際の広告の代わりにデフォルトのイメージを表示する資格があります。 –

0

もう一つはまだ例のように

xmlns:ads="clr-namespace:Microsoft.Advertising.Mobile.UI;assembly=Microsoft.Advertising.Mobile.UI" 

<ads:AdControl Height="80" 
          Width="480" 
          AdUnitId="Image480_80" 
          ApplicationId="test_client" /> 

を苦労してそれらのために注意することだと思います。宣言広告と名前空間は非常に重要です。 私のプロジェクトでは、私はちょうど彼がdidnt仕事の残りの部分を行うためにresharperのalt + enterをadcontrolの部分を挿入しました。彼は広告をUIに置き換え、まだ広告が表示されないエラー編集はありませんでした。私は広告を自分で宣言し、adcontrol名前空間を変更しました。すべてうまくいった。

関連する問題