Partager via


Exemple de code pour spot publicitaire en C#

Avertissement

Depuis le 1er juin 2020, la plateforme Microsoft Ad Monetization pour les applications Windows UWP sera arrêtée. En savoir plus

Cette rubrique fournit l’exemple de code complet pour une application de base C# et XAML plateforme Windows universelle (UWP) qui affiche une publicité vidéo interstitielle. Pour obtenir des instructions pas à pas qui montrent comment configurer votre projet pour utiliser ce code, consultez les publicités interstitiales. Pour obtenir un exemple de projet complet, consultez les exemples de publicité sur GitHub.

Exemple de code

Cette section présente le contenu des fichiers MainPage.xaml et MainPage.xaml.cs dans une application de base qui affiche une publicité interstitiale. Pour utiliser ces exemples, copiez le code dans un projet Visual C# Blank App (Windows universel) dans Visual Studio.

Cet exemple d’application utilise deux boutons pour demander, puis lancer une publicité interstitiale. Remplacez les valeurs des champs et myAdUnitId des myAppId valeurs actives de l’Espace partenaires avant de soumettre votre application au Windows Store. Pour plus d’informations, consultez Configurer des unités publicitaires dans votre application.

Remarque

Pour modifier cet exemple pour afficher une bannière publicitaire d’interopérabilité au lieu d’une publicité vidéo interstitiale, passez la valeur AdType.Display au premier paramètre de la méthode RequestAd au lieu d’AdType.Video. Pour plus d’informations, consultez publicités interstitiales.

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.
        }
    }
}