Condividi tramite


Annunci nativi

Avviso

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

Un annuncio nativo è un formato di annuncio basato su componenti in cui ogni parte della creazione dell'annuncio (ad esempio il titolo, l'immagine, la descrizione e il testo di invito all'azione) viene fornita all'app come elemento individuale. Puoi integrare questi elementi nella tua app utilizzando i tuoi caratteri, colori, animazioni e altri componenti dell'interfaccia utente per unire un'esperienza utente discreta che si adatti all'aspetto della tua app e al tempo stesso guadagni un rendimento elevato dagli annunci.

Per gli inserzionisti, gli annunci nativi forniscono posizionamenti ad alte prestazioni, perché l'esperienza pubblicitaria è strettamente integrata nell'app e gli utenti tendono quindi a interagire maggiormente con questi tipi di annunci.

Nota

Gli annunci nativi sono attualmente supportati solo per le app UWP basate su XAML per Windows 10 e Windows 11. Il supporto per le app UWP scritte utilizzando HTML e JavaScript è previsto per una versione futura di Microsoft Advertising SDK.

Prerequisiti

Integra un annuncio nativo nella tua app

Segui queste istruzioni per integrare un annuncio nativo nella tua app e conferma che l'implementazione dell'annuncio nativo mostri un annuncio di prova.

  1. In Visual Studio aprire il progetto o creare un nuovo progetto.

    Nota

    Se usi un progetto esistente, apri il file Package.appxmanifest nel tuo progetto e assicurati che la funzionalità Internet (client) sia selezionata. La tua app necessita di questa funzionalità per ricevere annunci di prova e annunci attivi.

  2. Se il tuo progetto è destinato a qualsiasi CPU, aggiorna il tuo progetto per utilizzare un output di build specifico dell'architettura (ad esempio x86). Se il tuo progetto è destinato a qualsiasi CPU, non potrai aggiungere correttamente un riferimento a Microsoft Advertising SDK nei passaggi seguenti. PEr maggiori informazioni, vedere Errori di riferimento causati dal targeting di qualsiasi CPU nel progetto.

  3. Aggiungi un riferimento a Microsoft Advertising SDK nel tuo progetto:

    1. Dalla finestra Solution Explorer, fai clic su Riferimenti e seleziona Aggiungi riferimenti…
    2. In Gestione riferimenti, espandi Universal Windows, click Estensioni, e quindi seleziona la casella di controllo accanto a Microsoft Advertising SDK per XAML(Versiond 10.0).
    3. In Gestione riferimentofai clic su OK.
  4. Nel file di codice appropriato nella tua app (ad esempio, in MainPage.xaml.cs o in un file di codice per un'altra pagina), aggiungi i seguenti riferimenti allo spazio dei nomi.

    using Microsoft.Advertising.WinRT.UI;
    using Windows.UI.Xaml.Media.Imaging;
    
  5. In una posizione appropriata nella tua app (ad esempio, in MainPageo in qualche altra pagina) dichiara l'oggetto NativeAdsManagerV e diversi campi stringa che rappresentano l'ID dell'applicazione e l'ID dell'unità pubblicitaria per il tuo annuncio nativo. Nell'esempio di codice seguente viene assegnato myAppId e myAdUnitId campi ai valori del testper gli annunci nativi.

    Nota

    Ogni NativeAdsManagerV2 ha una corrispondenteunità pubblicitaria utilizzata dai nostri servizi per pubblicare annunci nel controllo degli annunci nativi e ogni unità pubblicitaria è composta da un ID unità e un ID applicazione . In questi passaggi, assegni i valori ID unità pubblicitaria di prova e ID applicazione al tuo controllo. Questi valori di test possono essere utilizzati solo in una versione di prova della tua app. Prima di pubblicare la tua app nello Store, devi sostituire questi valori di test con valori attividal Partner Center.

    NativeAdsManagerV2 myNativeAdsManager = 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 NativeAdsManagerV2e collegare i gestori di eventi per AdReadye gli eventiErrorOccureddell'oggetto.

    myNativeAdsManager = new NativeAdsManagerV2(myAppId, myAdUnitId);
    myNativeAdsManager.AdReady += MyNativeAd_AdReady;
    myNativeAdsManager.ErrorOccurred += MyNativeAdsManager_ErrorOccurred;
    
  7. Quando sei pronto per mostrare un annuncio nativo, chiama il metodo RequestAd per recuperare l'annuncio.

    myNativeAdsManager.RequestAd();
    
  8. Quando un annuncio nativo è pronto per la tua app, il gestore di eventiAdReady viene chiamato e un oggetto NativeAdV2che rappresenta l'annuncio nativo viene passato al e parametro Utilizza le proprietà diNativeAdV2 per ottenere ogni elemento dell'annuncio nativo e visualizzarli sulla tua pagina. Assicurati di chiamare anche il metodo RegisterAdContainerper registrare l'elemento UI che funge da contenitore per l'annuncio nativo; ciò è necessario per monitorare correttamente le impressioni e i clic degli annunci.

    Nota

    Alcuni elementi dell'annuncio nativo sono obbligatori e devono essere sempre visualizzati nella tua app. Per maggiori informazioni, vedere la nostra pagina linee guida per gli annunci nativi.

    Per esempio, presupponi che la tua app contenga MainPage( o qualche altra pagina) con il seguente StackPanel. Questo StackPanelcontiene una serie di controlli che visualizzano diversi elementi di un annuncio nativo, inclusi titolo, descrizione, immagini,sponsorizzato datesto, e un pulsante che mostrerà il testo call to action.

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

    Nell'esempio di codice seguente viene illustrato un gestore eventi AdReadyche visualizza ogni elemento dell'annuncio nativo nei controlli nelloStackPanele quindi chiama il metodo RegisterAdContainerper registrare lo StackPanel. Questo codice presuppone che venga eseguito dal file code-behind per la pagina che contiene StackPanel.

    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);
    }
    
  9. Definire un gestore eventi ErrorOccurred affinché l'evento gestisca gli errori relativi all'annuncio nativo.. Nell'esempio seguente vengono scritte informazioni sull'errore nella finestra diOutput di Visual Studio durante il test..

    private void MyNativeAdsManager_ErrorOccurred(object sender, NativeAdErrorEventArgs e)
    {
        System.Diagnostics.Debug.WriteLine("NativeAd error " + e.ErrorMessage +
            " ErrorCode: " + e.ErrorCode.ToString());
    }
    
  10. Compila ed esegui l'app per vederla con un annuncio di prova.

Rilascia la tua app con annunci live

Dopo aver confermato che l'implementazione dell'annuncio nativo mostra correttamente un annuncio di prova, segui queste istruzioni per configurare la tua app in modo che mostri annunci reali e invia l'app aggiornata allo Store.

  1. Assicurati che l'implementazione degli annunci nativi segua le nostre linee guida per gli annunci nativi.

  2. Nel Partner Center, vai sulla pagina Annunci in-app e crea un unità pubblicitaria. Per il tipo di unità pubblicitaria, specifica Nativa. Prendi nota sia dell'ID dell'unità pubblicitaria che dell'ID dell'applicazione.

    Nota

    I valori dell'ID applicazione per le unità annunci di test e le unità annunci UWP live hanno formati diversi. I valori id applicazione di test sono GUID. Quando crei un'unità pubblicitaria UWP attiva nel Centro partner, il valore dell'ID applicazione per l'unità pubblicitaria corrisponde sempre all'ID negozio della tua app (un valore ID negozio di esempio è simile a 9NBLGGH4R315).

  3. Facoltativamente, puoi abilitare la mediazione degli annunci per l'annuncio nativo configurando le impostazioni nella sezione Impostazioni di mediazionee nella pagina Annunci in-app. La mediazione pubblicitaria ti consente di massimizzare le entrate pubblicitarie e le funzionalità di promozione delle app visualizzando annunci da più reti pubblicitarie.

  4. Nel codice, sostituisci i valori dell'unità pubblicitaria di prova (ovvero applicationId e adUnitId parametri del NativeAdsManagerV2) con i valori live generati nel Centro per i partner.

  5. Invia la tua app allo Store utilizzando il Centro per i partner.

  6. Esamina i rapporti sul rendimento pubblicitario nel Partner Center.

Gestisci le unità pubblicitarie per più annunci nativi nella tua app

Puoi utilizzare più posizionamenti di annunci nativi in ​​un'unica app. In questo scenario, ti consigliamo di assegnare un'unità pubblicitaria diversa a ciascun posizionamento di annunci nativi. L'utilizzo di diverse unità pubblicitarie per gli annunci nativi ti consente di configurare separatamente le impostazioni di mediazione e ottenere dati di reporting distinti per ciascun controllo. Ciò consente inoltre ai nostri servizi di ottimizzare meglio gli annunci che pubblichiamo sulla tua app.

Importante

Puoi usare ogni unità annunci in una sola app. Se usi un'unità annunci in più app, gli annunci non verranno resi disponibili per tale unità annunci.