Annunci intermedi

Avviso

A partire dal 1° giugno 2020, la piattaforma Microsoft Ad Monetization per le app Windows UWP verrà arrestata. Ulteriori informazioni

Questa procedura dettagliata illustra come includere annunci intermedi nelle app e nei giochi UWP (Universal Windows Platform) per Windows 10 e Windows 11. Per progetti di esempio completi che illustrano come aggiungere annunci intermedi alle app JavaScript/HTML e alle app XAML che usano C# e C++, vedere gli esempi di annunci in GitHub.

Che cosa sono gli annunci intermedi?

A differenza dei banner pubblicitari standard, che si limitano a una parte dell'interfaccia utente in un'app o in un gioco, gli annunci intermedi sono visualizzati sull'intero schermo. Nei giochi sono spesso usate due forme di base.

  • Con gli annunci Paywall, l'utente deve guardare un annuncio a intervalli regolari. Ad esempio tra i livelli del gioco:

    whatisaninterstitial

  • Con gli annunci Rewards Based l'utente cerca esplicitamente alcuni vantaggi, quali un suggerimento o tempo aggiuntivo per completare il livello e inizializza l'annuncio attraverso l'interfaccia utente dell'app.

Forniamo due tipi di annunci intermedi da usare in app e giochi: annunci video intermedi e banner pubblicitari intermedi.

Nota

L'API per gli annunci intermedi non gestisce alcuna interfaccia utente tranne che al momento della riproduzione video. Fare riferimento alle procedure consigliate per gli annunci intermedi per linee guida su cosa fare e cosa evitare relativamente a come integrare gli annunci intermedi nell'app.

Prerequisiti

Integrare un annuncio intermedio nell'app

Per visualizzare annunci intermedi nell'app, seguire le istruzioni per il tipo di progetto:

XAML/.NET

Questa sezione fornisce esempi di C#, ma per i progetti XAML/.NET. sono anche supportati Visual Basic e C++. Per un esempio di codice C# completo, vedere Codice di esempio per annunci intermedi in C#.

  1. Aprire il progetto in Visual Studio.

    Nota

    Se si usa un progetto esistente, aprire il file Package.appxmanifest nel progetto e assicurarsi che la funzionalità Internet (client) sia selezionata. L'app necessita di questa funzionalità per ricevere annunci di prova e annunci attivi.

  2. Se il progetto è destinato a qualsiasi CPU, aggiornarlo per l'uso di un output specifico dell'architettura (ad esempio, x86). Se il progetto è destinato a qualsiasi CPU, non sarà possibile aggiungere un riferimento alla libreria di Microsoft Advertising nei passaggi successivi. Per ulteriori informazioni, vedere Errori di riferimento causati dalla destinazione Qualsiasi CPU nel progetto.

  3. Aggiungere un riferimento a Microsoft Advertising SDK nel progetto:

    1. Dalla finestra Esplora soluzioni fare clic con il pulsante destro del mouse su Riferimenti e selezionare Aggiungi riferimento…
    2. In Gestione riferimenti espandere Universal Windows, fare clic su Estensioni e selezionare la casella di controllo accanto a Microsoft Advertising SDK per XAML (Versione 10.0).
    3. In Gestione riferimenti fare clic su OK.
  4. Nel file di codice appropriato nell'app (ad esempio, in MainPage.xaml.cs o un file di codice per altre pagine) aggiungere il riferimento allo spazio dei nomi seguente.

    using Microsoft.Advertising.WinRT.UI;
    
  5. In una posizione appropriata nell'app (ad esempio, in MainPage o in altre pagine) dichiarare un oggetto InterstitialAd e diversi campi stringa che rappresentano l'ID applicazione e l'ID unità annunci per l'annuncio intermedio. L'esempio di codice seguente assegna i campi myAppId e myAdUnitId ai valori di test per gli annunci intermedi.

    Nota

    Ogni oggetto InterstitialAd ha un'unità annunci corrispondente usata da altri servizi per fornire gli annunci al controllo e ogni unità annunci contiene un ID unità annunci e un ID applicazione. In questi passaggi, si assegnano i valori di ID unità annunci di test e ID applicazione al controllo. Questi valori di test possono essere usati solo in una versione di test dell'app. Prima di pubblicare l'app nello Store, è necessario sostituire questi valori di test con i valori live del Centro per i partner.

    InterstitialAd myInterstitialAd = null;
    string myAppId = "d25517cb-12d4-4699-8bdc-52040c712cab";
    string myAdUnitId = "test";
    
  6. Nel codice eseguito all'avvio (ad esempio, nel costruttore della pagina), creare un'istanza dell'oggetto InterstitialAd e collegare i gestori eventi per l'oggetto.

    myInterstitialAd = new InterstitialAd();
    myInterstitialAd.AdReady += MyInterstitialAd_AdReady;
    myInterstitialAd.ErrorOccurred += MyInterstitialAd_ErrorOccurred;
    myInterstitialAd.Completed += MyInterstitialAd_Completed;
    myInterstitialAd.Cancelled += MyInterstitialAd_Cancelled;
    
  7. Se si desidera visualizzare un annuncio video intermedio: circa 30-60 prima del momento in cui è richiesto l'annuncio, usare il metodo RequestAd per il pre-recupero dell'annuncio. In questo modo è possibile richiedere e preparare l'annuncio prima che venga visualizzato. Assicurarsi di specificare AdType.Video per il tipo di annuncio.

    myInterstitialAd.RequestAd(AdType.Video, myAppId, myAdUnitId);
    

    Se si desidera visualizzare un banner pubblicitario intermedio: circa 5-8 prima del momento in cui è richiesto l'annuncio, usare il metodo RequestAd per il pre-recupero dell'annuncio. In questo modo è possibile richiedere e preparare l'annuncio prima che venga visualizzato. Assicurarsi di specificare AdType.Display per il tipo di annuncio.

    myInterstitialAd.RequestAd(AdType.Display, myAppId, myAdUnitId);
    
  8. Nel punto del codice in cui si desidera visualizzare l'annuncio video intermedio o il banner pubblicitario intermedio, verificare che l'oggetto InterstitialAd sia pronto per essere visualizzato e quindi mostrarlo usando il metodo Show.

    if (InterstitialAdState.Ready == myInterstitialAd.State)
    {
        myInterstitialAd.Show();
    }
    
  9. Definire i gestori eventi per l'oggetto InterstitialAd .

    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.
    }
    
  10. Compilare e testare l'app per verificare che visualizzi gli annunci di test.

HTML/JavaScript

Le istruzioni seguenti presuppongono che si sia creato un progetto Universal Windows per JavaScript in Visual Studio che abbia come destinazione una CPU specifica. Per un esempio di codice completo, vedere Codice di esempio per annunci intermedi in JavaScript.

  1. Aprire il progetto in Visual Studio.

  2. Se il progetto è destinato a qualsiasi CPU, aggiornarlo per l'uso di un output specifico dell'architettura (ad esempio, x86). Se il progetto è destinato a qualsiasi CPU, non sarà possibile aggiungere un riferimento alla libreria di Microsoft Advertising nei passaggi successivi. Per ulteriori informazioni, vedere Errori di riferimento causati dalla destinazione Qualsiasi CPU nel progetto.

  3. Aggiungere un riferimento a Microsoft Advertising SDK nel progetto:

    1. Dalla finestra Esplora soluzioni fare clic con il pulsante destro del mouse su Riferimenti e selezionare Aggiungi riferimento…
    2. In Gestione riferimenti espandere Universal Windows, fare clic su Estensioni, quindi selezionare la casella di controllo accanto a Microsoft Advertising SDK per JavaScript (versione 10.0).
    3. In Gestione riferimenti fare clic su OK.
  4. Nella sezione <head> del file HTML nel progetto, dopo i riferimenti JavaScript del progetto di default.css e default.js, aggiungere il riferimento ad ad.js.

    <script src="//Microsoft.Advertising.JavaScript/ad.js"></script>
    
  5. In un file di .js nel progetto dichiarare un oggetto InterstitialAd e diversi campi che contengono l'ID applicazione e l'ID unità annunci per l'annuncio intermedio. L'esempio di codice seguente assegna i campi applicationId e adUnitId ai valori di test per gli annunci intermedi.

    Nota

    Ogni oggetto InterstitialAd ha un'unità annunci corrispondente usata da altri servizi per fornire gli annunci al controllo e ogni unità annunci contiene un ID unità annunci e un ID applicazione. In questi passaggi, si assegnano i valori di ID unità annunci di test e ID applicazione al controllo. Questi valori di test possono essere usati solo in una versione di test dell'app. Prima di pubblicare l'app nello Store, è necessario sostituire questi valori di test con i valori live del Centro per i partner.

    var interstitialAd = null;
    var applicationId = "d25517cb-12d4-4699-8bdc-52040c712cab";
    var adUnitId = "test";
    
  6. Nel codice eseguito all'avvio (ad esempio, nel costruttore della pagina), creare un'istanza dell'oggetto InterstitialAd e collegare i gestori eventi per l'oggetto.

    interstitialAd = new MicrosoftNSJS.Advertising.InterstitialAd();
    interstitialAd.onErrorOccurred = errorOccurredHandler;
    interstitialAd.onAdReady = adReadyHandler;
    interstitialAd.onCancelled = cancelledHandler;
    interstitialAd.onCompleted = completedHandler;
    
  7. Se si desidera visualizzare un annuncio video intermedio: circa 30-60 prima del momento in cui è richiesto l'annuncio, usare il metodo RequestAd per il pre-recupero dell'annuncio. In questo modo è possibile richiedere e preparare l'annuncio prima che venga visualizzato. Assicurarsi di specificare InterstitialAdType.video per il tipo di annuncio.

    if (interstitialAd) {
        interstitialAd.requestAd(MicrosoftNSJS.Advertising.InterstitialAdType.video, applicationId, adUnitId);
    }
    

    Se si desidera visualizzare un banner pubblicitario intermedio: circa 5-8 prima del momento in cui è richiesto l'annuncio, usare il metodo RequestAd per il pre-recupero dell'annuncio. In questo modo è possibile richiedere e preparare l'annuncio prima che venga visualizzato. Assicurarsi di specificare InterstitialAdType.display per il tipo di annuncio.

    if (interstitialAd) {
        interstitialAd.requestAd(MicrosoftNSJS.Advertising.InterstitialAdType.display, applicationId, adUnitId);
    }
    
  8. Nel punto del codice in cui si desidera visualizzare l'annuncio, verificare che l'oggetto InterstitialAd sia pronto per essere visualizzato e quindi mostrarlo usando il metodo Show.

    if (interstitialAd && interstitialAd.state === MicrosoftNSJS.Advertising.InterstitialAdState.ready) {
        interstitialAd.show();
    }
    
  9. Definire i gestori eventi per l'oggetto InterstitialAd .

    function adReadyHandler(sender) {
      // Your code goes here.
    }
    
    function errorOccurredHandler(sender, args) {
      // Your code goes here.
    }
    
    function completedHandler(sender) {
      // Your code goes here.
    }
    
    function cancelledHandler(sender) {
      // Your code goes here.
    }
    
  10. Compilare e testare l'app per verificare che visualizzi gli annunci di test.

C++ (interoperabilità DirectX)

Questo esempio presuppone che si sia creato un progetto App DirectX e XAML (Universal Windows) C++ in Visual Studio destinato a un'architettura CPU specifica.  

  1. Aprire il progetto in Visual Studio.

  2. Aggiungere un riferimento a Microsoft Advertising SDK nel progetto:

    1. Dalla finestra Esplora soluzioni fare clic con il pulsante destro del mouse su Riferimenti e selezionare Aggiungi riferimento…
    2. In Gestione riferimenti espandere Universal Windows, fare clic su Estensioni e selezionare la casella di controllo accanto a Microsoft Advertising SDK per XAML (Versione 10.0).
    3. In Gestione riferimenti fare clic su OK.
  3. In un file di intestazione appropriato per l'app (ad esempio, DirectXPage.xaml.h) dichiarare un oggetto InterstitialAd e i metodi di gestore eventi correlati.

    Microsoft::Advertising::WinRT::UI::InterstitialAd^ m_interstitialAd;
    void OnAdReady(Object^ sender, Object^ args);
    void OnAdCompleted(Object^ sender, Object^ args);
    void OnAdCancelled(Object^ sender, Object^ args);
    void OnAdError(Object^ sender, Microsoft::Advertising::WinRT::UI::AdErrorEventArgs^ args);
    
  4. Nello stesso file di intestazione dichiarare diversi campi stringa che rappresentano l'ID applicazione e l'ID unità annunci per l'annuncio intermedio. L'esempio di codice seguente assegna i campi myAppId e myAdUnitId ai valori di test per gli annunci intermedi.

    Nota

    Ogni oggetto InterstitialAd ha un'unità annunci corrispondente usata da altri servizi per fornire gli annunci al controllo e ogni unità annunci contiene un ID unità annunci e un ID applicazione. In questi passaggi, si assegnano i valori di ID unità annunci di test e ID applicazione al controllo. Questi valori di test possono essere usati solo in una versione di test dell'app. Prima di pubblicare l'app nello Store, è necessario sostituire questi valori di test con i valori live del Centro per i partner.

    Platform::String^ myAppId = L"d25517cb-12d4-4699-8bdc-52040c712cab";
    Platform::String^ myAdUnitId = L"test";
    
  5. Nel file .cpp in cui si desidera aggiungere codice per visualizzare un annuncio intermedio aggiungere il riferimento allo spazio dei nomi seguente. Gli esempi seguenti presuppongono che si aggiunga il codice al file DirectXPage.xaml.cpp nell'app.

    using namespace Microsoft::Advertising::WinRT::UI;
    
  6. Nel codice eseguito all'avvio (ad esempio, nel costruttore della pagina), creare un'istanza dell'oggetto InterstitialAd e collegare i gestori eventi per l'oggetto. Nell'esempio seguente InterstitialAdSamplesCpp è lo spazio dei nomi per il progetto. Modificare questo nome come necessario per il codice.

    m_interstitialAd = ref new InterstitialAd();         
    m_interstitialAd->AdReady += ref new Windows::Foundation::EventHandler<Platform::Object ^>
        (this, &InterstitialAdSamplesCpp::DirectXPage::OnAdReady);
    m_interstitialAd->Completed += ref new Windows::Foundation::EventHandler<Platform::Object ^>
        (this, &InterstitialAdSamplesCpp::DirectXPage::OnAdCompleted);
    m_interstitialAd->Cancelled += ref new Windows::Foundation::EventHandler<Platform::Object ^>
        (this, &InterstitialAdSamplesCpp::DirectXPage::OnAdCancelled);
    m_interstitialAd->ErrorOccurred += ref new
        Windows::Foundation::EventHandler<Microsoft::Advertising::WinRT::UI::AdErrorEventArgs ^>
        (this, &InterstitialAdSamplesCpp::DirectXPage::OnAdError);
    
  7. Se si desidera visualizzare un annuncio video intermedio: circa 30-60 prima del momento in cui è richiesto l'annuncio intermedio, usare il metodo RequestAd per il pre-recupero dell'annuncio. In questo modo è possibile richiedere e preparare l'annuncio prima che venga visualizzato. Assicurarsi di specificare AdType::Video per il tipo di annuncio.

    m_interstitialAd->RequestAd(AdType::Video, myAppId, myAdUnitId);
    

    Se si desidera visualizzare un banner pubblicitario intermedio: circa 5-8 prima del momento in cui è richiesto l'annuncio, usare il metodo RequestAd per il pre-recupero dell'annuncio. In questo modo è possibile richiedere e preparare l'annuncio prima che venga visualizzato. Assicurarsi di specificare AdType::Display per il tipo di annuncio.

    m_interstitialAd->RequestAd(AdType::Display, myAppId, myAdUnitId);
    
  8. Nel punto del codice in cui si desidera visualizzare l'annuncio, verificare che l'oggetto InterstitialAd sia pronto per essere visualizzato e quindi mostrarlo usando il metodo Show.

    if ((InterstitialAdState::Ready == m_interstitialAd->State))
    {
        m_interstitialAd->Show();
    }
    
  9. Definire i gestori eventi per l'oggetto InterstitialAd .

    void DirectXPage::OnAdReady(Object^ sender, Object^ args)
    {
        // Your code goes here.
    }
    
    
    void DirectXPage::OnAdCompleted(Object^ sender, Object^ args)
    {
        // Your code goes here.
    }
    
    void DirectXPage::OnAdCancelled(Object^ sender, Object^ args)
    {
        // Your code goes here.
    }
    
    void DirectXPage::OnAdError(Object^ sender, Microsoft::Advertising::WinRT::UI::AdErrorEventArgs^ args)
    {
        // Your code goes here.
    }
    
  10. Compilare e testare l'app per verificare che visualizzi gli annunci di test.

Rilasciare l'app con annunci live

  1. Assicurarsi che l'uso di annunci intermedi nell'app segua le linee guida per gli annunci intermedi.

  2. Nel Centro per i partner andare alla pagina Annunci in-app e creare un'unità annunci. Per il tipo di unità annunci, scegliere Video intermedio o Banner intermedio, a seconda del tipo di annuncio intermedio che si desidera visualizzare. Prendere nota dell'ID unità annunci dell'ID applicazione.

    Nota

    I valori di ID applicazione per le unità annunci di test e le unità annunci UWP live hanno formati diversi. I valori di ID applicazione di test sono GUID. Quando si crea un'unità annunci UWP live nel Centro per i partner, il valore di ID applicazione per l'unità annunci corrisponde sempre all'ID dello Store per l'app (un esempio di valore di ID dello Store è 9NBLGGH4R315).

  3. Facoltativamente, è possibile abilitare l'aggregazione degli annunci pubblicitari per l'oggetto InterstitialAd configurando le impostazioni nella sezione Impostazioni aggregazione della pagina Annunci in-app. L'aggregazione degli annunci pubblicitari consente di massimizzare le entrate pubblicitarie e le funzionalità di promozione delle app visualizzando annunci da più reti di annunci, inclusi annunci di altre reti a pagamento quali Taboola e Smaato e annunci per campagne promozionali di app Microsoft.

  4. Nel codice sostituire i valori delle unità annunci di test con i valori live generati nel Centro per i partner.

  5. Inviare l'app allo Store mediante il Centro per i partner.

  6. Rivedere i report sulle prestazioni degli annunci nel Centro per i partner.

Gestire le unità annunci per più controlli annunci intermedi nell'app

È possibile usare più controlli InterstitialAd in un'unica app. In questo scenario, consigliamo di assegnare un'unità annunci diversa a ogni controllo. L'uso di unità annunci diverse per ogni controllo consente di configurare separatamente le impostazioni di aggregazione e ottenere dati di report separati per ogni controllo. Ciò consente inoltre ai nostri servizi di ottimizzare meglio gli annunci che pubblichiamo nell'app.

Importante

È possibile usare ogni unità annunci in una sola app. Se si usa un'unità annunci in più app, gli annunci non verranno pubblicati per tale unità annunci.