Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Warnung
Ab dem 1. Juni 2020 wird die Microsoft Ad Monetization-Plattform für Windows UWP-Apps heruntergefahren. Weitere Informationen
Bei einer nativen Anzeige handelt es sich um ein komponentenbasiertes Anzeigenformat, bei dem jeder Teil der Werbemittel (z. B. Titel, Bild, Beschreibung und Handlungsaufruftext) als einzelnes Element an Ihre App übermittelt wird. Sie können diese Elemente mithilfe Ihrer eigenen Schriftarten, Farben, Animationen und anderen UI-Komponenten in Ihre App integrieren, um eine unauffällige Benutzeroberfläche zusammenzufügen, die das Erscheinungsbild Ihrer App einfügt und gleichzeitig eine hohe Rendite aus den Anzeigen erzielt.
Für Werbekunden bieten native Anzeigen leistungsstarke Platzierungen, da die Anzeigenerfahrung eng in die App integriert ist und Benutzer daher eher mit diesen Arten von Anzeigen interagieren.
Hinweis
Native Anzeigen werden derzeit nur für XAML-basierte UWP-Apps für Windows 10 und Windows 11 unterstützt. Die Unterstützung für UWP-Apps, die mit HTML und JavaScript geschrieben wurden, ist für eine zukünftige Version des Microsoft Advertising SDK geplant.
Voraussetzungen
- Installieren Sie das Microsoft Advertising SDK mit Visual Studio 2015 oder einer höheren Version von Visual Studio. Zur Installation siehe diesen Artikel.
Integrieren Sie eine native Anzeige in Ihre App
Befolgen Sie diese Anweisungen, um eine native Anzeige in Ihre App zu integrieren und zu bestätigen, dass ihre native Anzeigenimplementierung eine Testanzeige anzeigt.
Öffnen Sie in Visual Studio Ihr Projekt, oder erstellen Sie ein neues Projekt.
Hinweis
Wenn Sie ein vorhandenes Projekt verwenden, öffnen Sie die Datei "Package.appxmanifest" in Ihrem Projekt und überprüfen Sie, ob die Internet (Client) Funktion ausgewählt ist. Ihre App benötigt diese Funktion, um Testanzeigen und Liveanzeigen zu erhalten.
Wenn Ihr Projekt für Any CPUausgelegt ist, aktualisieren Sie Ihr Projekt, um eine architekturspezifische Build-Ausgabe zu verwenden (z. B. x86). Wenn Ihr Projekt auf Any CPUausgerichtet ist, werden Sie in den folgenden Schritten keinen Verweis auf das Microsoft Advertising SDK erfolgreich hinzufügen können. Weitere Informationen finden Sie unter Referenzfehler, die durch das Targeting von Any CPU in Ihrem Projektverursacht werden.
Fügen Sie in Ihrem Projekt einen Verweis auf das Microsoft Advertising SDK hinzu:
- Klicken Sie im Solution Explorer Fenster mit der rechten Maustaste auf Verweise, und wählen Sie Verweis Hinzufügen...
- Erweitern Sie im Reference Managerden Abschnitt Universal Windows, klicken Sie auf Erweiterungen, und aktivieren Sie dann das Kontrollkästchen neben Microsoft Advertising SDK für XAML (Version 10.0).
- Klicken Sie im Verweismanagerauf „OK“.
Fügen Sie in der entsprechenden Codedatei in Ihrer App (z. B. in MainPage.xaml.cs oder einer Codedatei für eine andere Seite) die folgenden Namespaceverweise hinzu.
using Microsoft.Advertising.WinRT.UI; using Windows.UI.Xaml.Media.Imaging;
Deklarieren Sie an einer geeigneten Stelle in Ihrer App (z. B. in
MainPage
oder einer anderen Seite) ein NativeAdsManagerV2 Objekt und mehrere Zeichenfolgenfelder, die die Anwendungs-ID und die Anzeigeneinheits-ID für Ihre native Anzeige darstellen. Im folgenden Codebeispiel werden die FeldermyAppId
undmyAdUnitId
den Testwerten für native Anzeigen zugewiesen.Hinweis
Jeder NativeAdsManagerV2 verfügt über eine entsprechende Anzeigeneinheit, die von unseren Diensten genutzt wird, um Anzeigen an das native Anzeigensteuerelement bereitzustellen. Jede Anzeigeneinheit besteht aus einer Anzeigeneinheits-ID und einer Anwendungs-ID. In diesen Schritten weisen Sie Ihrem Steuerelement Testanzeigeneinheits-ID und Anwendungs-ID-Werte zu. Diese Testwerte können nur in einer Testversion Ihrer App verwendet werden. Bevor Sie Ihre App im Store veröffentlichen, müssen Sie diese Testwerte durch Livewerte aus Partner Center ersetzen.
NativeAdsManagerV2 myNativeAdsManager = null; string myAppId = "d25517cb-12d4-4699-8bdc-52040c712cab"; string myAdUnitId = "test";
Instanziieren Sie im Code, der beim Start ausgeführt wird (z. B. im Konstruktor für die Seite), das NativeAdsManagerV2-Objekt und verknüpfen Sie Ereignishandler für die AdReady- und ErrorOccurred Ereignisse des Objekts.
myNativeAdsManager = new NativeAdsManagerV2(myAppId, myAdUnitId); myNativeAdsManager.AdReady += MyNativeAd_AdReady; myNativeAdsManager.ErrorOccurred += MyNativeAdsManager_ErrorOccurred;
Wenn Sie bereit sind, eine native Anzeige anzuzeigen, rufen Sie die RequestAd--Methode auf, um eine Anzeige abzurufen.
myNativeAdsManager.RequestAd();
Wenn eine Native-Anzeige für Ihre App bereit ist, wird Ihr AdReady Ereignishandler aufgerufen, und ein NativeAdV2--Objekt, das die Native-Anzeige darstellt, wird an den e Parameter übergeben. Verwenden Sie die Eigenschaften von NativeAdV2, um jedes Element der nativen Anzeige abzurufen und auf Ihrer Seite anzuzeigen. Rufen Sie auch die RegisterAdContainer--Methode auf, um das UI-Element zu registrieren, das als Container für die native Anzeige fungiert; dies ist erforderlich, um Anzeigeneinblendungen und Klicks ordnungsgemäß nachzuverfolgen.
Hinweis
Einige Elemente der nativen Anzeige sind erforderlich und müssen immer in Ihrer App angezeigt werden. Weitere Informationen finden Sie in unseren Richtlinien für native Anzeigen.
Angenommen, Ihre App enthält eine
MainPage
(oder eine andere Seite) mit folgendem StackPanel. Dieses StackPanel- enthält eine Reihe von Steuerelementen, die verschiedene Elemente einer nativen Anzeige anzeigen, einschließlich Titel, Beschreibung, Bilder, Text von gesponsert durch, und eine Schaltfläche, die den Text Aufruf zur Aktion anzeigt.<StackPanel x:Name="NativeAdContainer" Background="#555555" Width="Auto" Height="Auto" Orientation="Vertical"> <Image x:Name="AdIconImage" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="20,20,20,20"/> <TextBlock x:Name="TitleTextBlock" HorizontalAlignment="Left" VerticalAlignment="Center" Text="The ad title will go here" FontSize="24" Foreground="White" Margin="20,0,0,10"/> <TextBlock x:Name="DescriptionTextBlock" HorizontalAlignment="Left" VerticalAlignment="Center" Foreground="White" TextWrapping="Wrap" Text="The ad description will go here" Margin="20,0,0,0" Visibility="Collapsed"/> <Image x:Name="MainImageImage" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="20,20,20,20" Visibility="Collapsed"/> <Button x:Name="CallToActionButton" Background="Gray" Foreground="White" HorizontalAlignment="Left" VerticalAlignment="Center" Width="Auto" Height="Auto" Content="The call to action text will go here" Margin="20,20,20,20" Visibility="Collapsed"/> <StackPanel x:Name="SponsoredByStackPanel" Orientation="Horizontal" Margin="20,20,20,20"> <TextBlock x:Name="SponsoredByTextBlock" Text="The ad sponsored by text will go here" FontSize="24" Foreground="White" Margin="20,0,0,0" HorizontalAlignment="Left" VerticalAlignment="Center" Visibility="Collapsed"/> <Image x:Name="IconImageImage" Margin="40,20,20,20" HorizontalAlignment="Left" VerticalAlignment="Center" Visibility="Collapsed"/> </StackPanel> </StackPanel>
Im folgenden Codebeispiel wird ein AdReady Ereignishandler veranschaulicht, der jedes Element der nativen Anzeige in den Steuerelementen im StackPanel anzeigt und dann die RegisterAdContainer Methode aufruft, um das StackPanelzu registrieren. Dieser Code geht davon aus, dass er aus der Code-Behind-Datei für die Seite ausgeführt wird, die das StackPanelenthält.
void MyNativeAd_AdReady(object sender, NativeAdReadyEventArgs e) { NativeAdV2 nativeAd = e.NativeAd; // Show the ad icon. if (nativeAd.AdIcon != null) { AdIconImage.Source = nativeAd.AdIcon.Source; // Adjust the Image control to the height and width of the // provided ad icon. AdIconImage.Height = nativeAd.AdIcon.Height; AdIconImage.Width = nativeAd.AdIcon.Width; } // Show the ad title. TitleTextBlock.Text = nativeAd.Title; // Show the ad description. if (!string.IsNullOrEmpty(nativeAd.Description)) { DescriptionTextBlock.Text = nativeAd.Description; DescriptionTextBlock.Visibility = Visibility.Visible; } // Display the first main image for the ad. Note that the service // might provide multiple main images. if (nativeAd.MainImages.Count > 0) { NativeImage mainImage = nativeAd.MainImages[0]; BitmapImage bitmapImage = new BitmapImage(); bitmapImage.UriSource = new Uri(mainImage.Url); MainImageImage.Source = bitmapImage; // Adjust the Image control to the height and width of the // main image. MainImageImage.Height = mainImage.Height; MainImageImage.Width = mainImage.Width; MainImageImage.Visibility = Visibility.Visible; } // Add the call to action string to the button. if (!string.IsNullOrEmpty(nativeAd.CallToActionText)) { CallToActionButton.Content = nativeAd.CallToActionText; CallToActionButton.Visibility = Visibility.Visible; } // Show the ad sponsored by value. if (!string.IsNullOrEmpty(nativeAd.SponsoredBy)) { SponsoredByTextBlock.Text = nativeAd.SponsoredBy; SponsoredByTextBlock.Visibility = Visibility.Visible; } // Show the icon image for the ad. if (nativeAd.IconImage != null) { BitmapImage bitmapImage = new BitmapImage(); bitmapImage.UriSource = new Uri(nativeAd.IconImage.Url); IconImageImage.Source = bitmapImage; // Adjust the Image control to the height and width of the // icon image. IconImageImage.Height = nativeAd.IconImage.Height; IconImageImage.Width = nativeAd.IconImage.Width; IconImageImage.Visibility = Visibility.Visible; } // Register the container of the controls that display // the native ad elements for clicks/impressions. nativeAd.RegisterAdContainer(NativeAdContainer); }
Definieren Sie einen Ereignishandler für das ErrorOccurred--Ereignis, um Fehler im Zusammenhang mit der nativen Anzeige zu behandeln. Im folgenden Beispiel werden während des Tests Fehlerinformationen in das Visual Studio Ausgabefenster geschrieben.
private void MyNativeAdsManager_ErrorOccurred(object sender, NativeAdErrorEventArgs e) { System.Diagnostics.Debug.WriteLine("NativeAd error " + e.ErrorMessage + " ErrorCode: " + e.ErrorCode.ToString()); }
Kompilieren Sie die App, und führen Sie sie aus, um sie mit einer Testanzeige anzuzeigen.
Ihre App mit Live-Anzeigen veröffentlichen
Nachdem Sie bestätigt haben, dass ihre native Anzeigenimplementierung erfolgreich eine Testanzeige anzeigt, befolgen Sie diese Anweisungen, um Ihre App so zu konfigurieren, dass echte Anzeigen angezeigt und Ihre aktualisierte App an den Store übermittelt wird.
Stellen Sie sicher, dass die Implementierung Ihrer nativen Anzeigen unseren -Richtlinien für native Anzeigenfolgt.
Wechseln Sie im Partner Center zur In-App-Anzeigen Seite und erstellen Sie eine Anzeigeneinheit. Geben Sie für den Anzeigeneinheitstyp Nativean. Notieren Sie sich sowohl die Anzeigeneinheits-ID als auch die Anwendungs-ID.
Hinweis
Die Anwendungs-ID-Werte für Testanzeigeeinheiten und Live-UWP-Anzeigeneinheiten weisen unterschiedliche Formate auf. Testanwendungs-ID-Werte sind GUIDs. Wenn Sie eine Live-UWP-Anzeigeneinheit im Partner Center erstellen, entspricht der Anwendungs-ID-Wert für die Anzeigeneinheit immer der Store-ID für Ihre App (ein Beispiel für den Store-ID-Wert sieht wie 9NBLGGH4R315 aus).
Sie können die Anzeigenvermittlung für die native Anzeige optional aktivieren, indem Sie die Einstellungen im Abschnitt Vermittlungseinstellungen auf der Seite In-App-Anzeigen konfigurieren. Mit der Anzeigenvermittlung können Sie Ihre Werbeeinnahmen und App-Werbungsfunktionen maximieren, indem Sie Anzeigen aus mehreren Anzeigennetzwerken anzeigen.
Ersetzen Sie in Ihrem Code die Test-Anzeigeneinheitenwerte (d. h. die applicationId und adUnitId Parameter des NativeAdsManagerV2-Konstruktors) durch die Livewerte, die Sie im Partner Center generiert haben.
Übermitteln Sie Ihre App mithilfe des Partner Centers an den Store.
Überprüfen Sie Ihre Berichte zur Anzeigenleistung im Partner Center.
Verwalten Sie Anzeigeneinheiten für mehrere native Anzeigen in Ihrer App
Sie können mehrere native Anzeigenplatzierungen in einer einzelnen App verwenden. Für diesen Fall empfehlen wir, jeder nativen Werbeanzeigenplatzierung eine andere Anzeigeneinheit zuzuweisen. Wenn Sie unterschiedliche Anzeigeneinheiten für native Anzeigen verwenden, können Sie die Vermittlungseinstellungen separat
Von Bedeutung
Sie können jede Anzeigeneinheit nur in einer App verwenden. Wenn Sie eine Anzeigeneinheit in mehr als einer App verwenden, werden Anzeigen für diese Anzeigeneinheit nicht bereitgestellt.