Freigeben über


Beispielcode für Interstitialwerbung in C#

Warnung

Ab dem 1. Juni 2020 wird die Microsoft Ad Monetization-Plattform für Windows UWP-Apps abgeschaltet. Weitere Informationen

Dieses Thema enthält den vollständigen Beispielcode für eine einfache C#- und XAML-Universelle Windows-Plattform -App (UWP), die eine Interstitialvideoanzeige anzeigt. Schrittweise Anleitungen, die zeigen, wie Sie Ihr Projekt für die Verwendung dieses Codes konfigurieren, finden Sie unter Interstitialanzeigen. Ein vollständiges Beispielprojekt finden Sie in den Werbebeispielen auf GitHub.

Codebeispiel

In diesem Abschnitt werden die Inhalte der Dateien "MainPage.xaml" und MainPage.xaml.cs in einer einfachen App angezeigt, die eine Interstitialanzeige anzeigt. Um diese Beispiele zu verwenden, kopieren Sie den Code in ein Visual C# -Projekt für leere App (Universelle Windows-App) in Visual Studio.

Diese Beispiel-App verwendet zwei Schaltflächen, um eine Interstitialanzeige anzufordern und dann zu starten. Ersetzen Sie die Werte der Felder und myAdUnitId Felder myAppId durch Livewerte aus Partner Center, bevor Sie Ihre App an den Store übermitteln. Weitere Informationen finden Sie unter Einrichten von Anzeigeneinheiten in Ihrer App.

Hinweis

Um dieses Beispiel so zu ändern, dass anstelle einer Interstitialvideoanzeige eine Interstitialbanneranzeige angezeigt wird, übergeben Sie den Wert AdType.Display an den ersten Parameter der RequestAd-Methode anstelle von AdType.Video. Weitere Informationen finden Sie unter Interstitialanzeigen.

MainPage.xaml

<Page
    x:Class="InterstitialAdSamplesCSharp.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:InterstitialAdSamplesCSharp"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d">
    <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
        <Button Name="requestAdButton" Content="Request ad" Margin="37,244,0,364" Click="requestAdButton_Click"/>
        <Button Name="showAdButton" Content="Show ad" Margin="37,309,0,299" Click="showAdButton_Click"/>
    </Grid>
</Page>

MainPage.xaml.cs

using System;
using System.Collections.Generic;
using System.IO;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Microsoft.Advertising.WinRT.UI;

namespace InterstitialAdSamplesCSharp
{
    public sealed partial class MainPage : Page
    {
        // Assign myAppId and myAdUnitId to test values. Replace these values with live values 
        // from Dev Center before you submit your app to the Store.
        InterstitialAd myInterstitialAd = null;
        string myAppId = "d25517cb-12d4-4699-8bdc-52040c712cab";
        string myAdUnitId = "test";

        public MainPage()
        {
            this.InitializeComponent();

            myInterstitialAd = new InterstitialAd();
            myInterstitialAd.AdReady += MyInterstitialAd_AdReady;
            myInterstitialAd.ErrorOccurred += MyInterstitialAd_ErrorOccurred;
            myInterstitialAd.Completed += MyInterstitialAd_Completed;
            myInterstitialAd.Cancelled += MyInterstitialAd_Cancelled;
        }

        // This method requests an interstitial ad when the "Request ad" button is clicked. In a real app, 
        // you should request the interstitial ad close to when you think it will be shown, but with 
        // enough advance time to make the request and prepare the ad (say 30 seconds to a few minutes).
        // To show an interstitial banner ad instead of an interstitial video ad, replace AdType.Video 
        // with AdType.Display.
        private void requestAdButton_Click(object sender, RoutedEventArgs e)
        {
            myInterstitialAd.RequestAd(AdType.Video, myAppId, myAdUnitId);
        }

        // This method attempts to show the interstitial ad when the "Show ad" button is clicked.
        private void showAdButton_Click(object sender, RoutedEventArgs e)
        {
            if (InterstitialAdState.Ready == myInterstitialAd.State)
            {
                myInterstitialAd.Show();
            }
        }

        void MyInterstitialAd_AdReady(object sender, object e)
        {
            // Your code goes here.
        }

        void MyInterstitialAd_ErrorOccurred(object sender, AdErrorEventArgs e)
        {
            // Your code goes here.
        }

        void MyInterstitialAd_Completed(object sender, object e)
        {
            // Your code goes here.
        }

        void MyInterstitialAd_Cancelled(object sender, object e)
        {
            // Your code goes here.
        }
    }
}