18

Ich habe ein paar verstreute Antworten auf ähnliche Probleme gefunden (hauptsächlich mit Windows Phone 7), wollte aber eine Antwort posten, die alle Anforderungen für Windows Phone 8 Ads enthielt.Anzeigen in Windows Phone 8 einrichten

Ich habe einige Probleme beim Einrichten einer Anzeige in Windows Phone 8 festgestellt. Jedes Mal, wenn ich den Emulator ausführte, lief ein Problem auf, bei dem die App ausgeführt wurde, die Anzeige jedoch nicht angezeigt wurde.

Die App lief richtig, aber ich in der Ausgabekonsole bemerkt, dass die folgende Ausnahme protokolliert wurde:

An exception of type 'Microsoft.Advertising.Shared.AdException' occurred in Microsoft.Advertising.Mobile.DLL and wasn't handled before a managed/native boundary 

Anzeigen in einer App fein zeigen Ich entwickle, aber nicht eine andere und die Ausnahme zeigt keine hilfreich Information.

Antwort

49

Ich habe herausgefunden, wie man die Ausnahme abfangen und sehen kann, was das Problem tatsächlich war (was eine große Menge fehlender Fähigkeiten in meiner Manifest-Datei war). Um zu versuchen, die Ausnahme von der AdControl abzufangen und die benötigten Daten zu erhalten, habe ich meiner Seite Folgendes hinzugefügt.

Fang Ad Steuerfehler

public MainPage() 
    { 
     InitializeComponent(); 

     AdUnit.ErrorOccurred += AdUnit_ErrorOccurred; 
    } 

    void AdUnit_ErrorOccurred(object sender, Microsoft.Advertising.AdErrorEventArgs e) 
    { 
     throw new NotImplementedException(); 
    } 

Welche hat mir gezeigt, dass ich die mediaLib Erlaubnis und die Phonedialer Genehmigung fehlte. Ich lief einige Tests und festgestellt, dass jede App, die Anzeigen läuft die folgenden Berechtigungen erforderlich:

Erforderliche Berechtigungen

ID_CAP_IDENTIFY_USER 
ID_CAP_MEDIALIB_PHOTO 
ID_CAP_NETWORKING 
ID_CAP_PHONEDIALER 
ID_CAP_WEBBROWSERCOMPONENT 

Set Parameter

Von anderen Beiträgen ich gelesen habe ist es Achten Sie auch darauf, dass Sie die Breite/Höhe Ihres Anzeigenblocks richtig auf 480/80 einstellen. Wenn die Größe des Anzeigenblocks automatisch und nicht den Mindestanforderungen entspricht, wird die Anzeige nicht geschaltet.

Stellen Sie sicher, dass Sie im Emulator nur test ApplicationId and AdUnitId verwenden können. PubCenter-Anmeldeinformationen funktionieren nur in einer veröffentlichten Anwendung.

<UI:AdControl x:Name="AdUnit" Height="80" Width="480" 
    AdUnitId="Image480_80" ApplicationId="test_client" /> 

ausblenden oder Swap fehlgeschlagen/Leer Ad-Steuerelemente

Wenn Ihr AdControl versagt es einen großen leeren Raum in Ihrer Anzeige verlässt. Sie können es entweder ausblenden oder mit einer Anzeige aus einem anderen Netzwerk austauschen. Um dies zu tun, um die Ausnahme zu fangen, wie oben (AdUnit_ErrorOccurred) gezeigt und hat die folgenden:

zu verbergen:

AdUnit.Height = 0; 
AdUnit.Visibility = System.Windows.Visibility.Collapsed; 

Einstellen der Sichtbarkeit nicht selbst funktionierte, hat die Höhe sein auf 0 gesetzt.

Swap-Anzeige:

Statt die AdControl verstecken, erhalten Sie eine alternative Anzeige bar von einem Dienst wie http://www.adduplex.com zeigen konnte.

+4

Ich wünschte, ich könnte dies zweimal upvote! –

+0

Ich befolgte Ihre Richtlinien und die Add-Einheit funktionierte. Aber jetzt, als ich es auf dem Marktplatz (noch im Unterzeichnungsverfahren) unter Details eingereicht habe, kann ich "Add units - none" sehen, was mich ein wenig beunruhigt. Ist das normal? – Booyaches

+1

@Booyaches Ich glaube, dass dies für die Anzeigenblöcke gilt, die Sie beim Senden Ihrer App mithilfe des optionalen Schritts "In-App-Werbung hinzufügen" eingerichtet haben. Dieser Schritt scheint für vorhandene pubCenter-Konten noch nicht aktiviert zu sein, sodass die meisten Benutzer ihn nicht verwenden können. Ihre Anzeigen sollten immer noch gut angezeigt werden, wenn möglich, testen Sie sie auf einem tatsächlichen Gerät, um sicherzustellen, dass Ihre Einstellungen korrekt sind. – ellemayo