Bagikan melalui


Iklan asli

Peringatan

Mulai 1 Juni 2020, platform Monetisasi Microsoft Ad untuk aplikasi Windows UWP akan dimatikan. Pelajari lebih lanjut

Iklan asli adalah format iklan berbasis komponen di mana setiap bagian materi iklan (seperti judul, gambar, deskripsi, dan teks ajakan bertindak) dikirimkan ke aplikasi Anda sebagai elemen individual. Anda dapat mengintegrasikan elemen-elemen ini ke dalam aplikasi menggunakan font, warna, animasi, dan komponen UI Anda sendiri untuk menyatukan pengalaman pengguna yang tidak mengganggu yang sesuai dengan tampilan dan nuansa aplikasi Anda sambil juga mendapatkan hasil yang tinggi dari iklan.

Bagi pengiklan, iklan native menyediakan penempatan berkinerja tinggi, karena pengalaman iklan diintegrasikan dengan erat ke dalam aplikasi dan pengguna oleh karena itu cenderung berinteraksi lebih banyak dengan jenis iklan ini.

Catatan

Iklan native saat ini hanya didukung untuk aplikasi UWP berbasis XAML untuk Windows 10 dan Windows 11. Dukungan untuk aplikasi UWP yang ditulis menggunakan HTML dan JavaScript direncanakan untuk rilis SDK Microsoft Advertising di masa mendatang.

Prasyarat

Mengintegrasikan iklan asli ke dalam aplikasi Anda

Ikuti petunjuk ini untuk mengintegrasikan iklan asli ke dalam aplikasi Anda dan mengonfirmasi bahwa implementasi iklan asli Anda menampilkan iklan pengujian.

  1. Di Visual Studio, buka proyek Anda atau buat proyek baru.

    Catatan

    Jika Anda menggunakan proyek yang sudah ada, buka file Package.appxmanifest di proyek Anda dan pastikan bahwa kemampuan Internet (Klien) dipilih. Aplikasi Anda memerlukan kemampuan ini untuk menerima iklan pengujian dan iklan langsung.

  2. Jika proyek Anda menargetkan CPU Apa pun, perbarui proyek Anda untuk menggunakan output build khusus arsitektur (misalnya, x86). Jika proyek Anda menargetkan CPU Apa pun, Anda tidak akan berhasil menambahkan referensi ke Microsoft Advertising SDK dalam langkah-langkah berikut. Untuk informasi selengkapnya, lihat Kesalahan referensi yang disebabkan oleh menargetkan CPU apa pun dalam proyek Anda.

  3. Tambahkan referensi ke Microsoft Advertising SDK di proyek Anda:

    1. Dari jendela Penjelajah Solusi, klik kanan Referensi, dan pilih Tambahkan Referensi...
    2. Di Pengelola Referensi, perluas Universal Windows, klik Ekstensi, lalu pilih kotak centang di samping Microsoft Advertising SDK untuk XAML (Versi 10.0).
    3. Di Manajer Referensi, klik OK.
  4. Dalam file kode yang sesuai di aplikasi Anda (misalnya, di MainPage.xaml.cs atau file kode untuk beberapa halaman lain), tambahkan referensi namespace berikut.

    using Microsoft.Advertising.WinRT.UI;
    using Windows.UI.Xaml.Media.Imaging;
    
  5. Di lokasi yang sesuai di aplikasi Anda (misalnya, di MainPage atau beberapa halaman lain), deklarasikan objek NativeAdsManagerV2 dan beberapa bidang string yang mewakili ID aplikasi dan ID unit iklan untuk iklan asli Anda. Contoh kode berikut menetapkan myAppId bidang dan myAdUnitId ke nilai pengujian untuk iklan asli.

    Catatan

    Setiap NativeAdsManagerV2 memiliki unit iklan terkait yang digunakan oleh layanan kami untuk menayangkan iklan ke kontrol iklan asli, dan setiap unit iklan terdiri dari ID unit iklan dan ID aplikasi. Dalam langkah-langkah ini, Anda menetapkan nilai ID unit iklan pengujian dan ID aplikasi ke kontrol Anda. Nilai pengujian ini hanya dapat digunakan dalam versi pengujian aplikasi Anda. Sebelum memublikasikan aplikasi ke Store, Anda harus mengganti nilai pengujian ini dengan nilai langsung dari Pusat Mitra.

    NativeAdsManagerV2 myNativeAdsManager = null;
    string myAppId = "d25517cb-12d4-4699-8bdc-52040c712cab";
    string myAdUnitId = "test";
    
  6. Dalam kode yang berjalan pada startup (misalnya, di konstruktor untuk halaman), buat objek NativeAdsManagerV2 dan kawat penanganan aktivitas untuk peristiwa AdReady dan ErrorOccurred objek.

    myNativeAdsManager = new NativeAdsManagerV2(myAppId, myAdUnitId);
    myNativeAdsManager.AdReady += MyNativeAd_AdReady;
    myNativeAdsManager.ErrorOccurred += MyNativeAdsManager_ErrorOccurred;
    
  7. Saat Anda siap menampilkan iklan asli, panggil metode RequestAd untuk mengambil iklan.

    myNativeAdsManager.RequestAd();
    
  8. Saat iklan asli siap untuk aplikasi Anda, penanganan aktivitas AdReady Anda dipanggil, dan objek NativeAdV2 yang mewakili iklan asli diteruskan ke parameter e. Gunakan properti NativeAdV2 untuk mendapatkan setiap elemen iklan asli dan menampilkan elemen-elemen ini di halaman Anda. Pastikan juga untuk memanggil metode RegisterAdContainer untuk mendaftarkan elemen UI yang bertindak sebagai kontainer untuk iklan asli; ini diperlukan untuk melacak tayangan dan klik iklan dengan benar.

    Catatan

    Beberapa elemen iklan asli diperlukan dan harus selalu ditampilkan di aplikasi Anda. Untuk informasi selengkapnya, lihat panduan kami untuk iklan asli.

    Misalnya, asumsikan bahwa aplikasi Anda berisi MainPage (atau beberapa halaman lain) dengan StackPanel berikut. StackPanel ini berisi serangkaian kontrol yang menampilkan elemen berbeda dari iklan asli, termasuk judul, deskripsi, gambar, disponsori oleh teks, dan tombol yang akan menampilkan teks ajakan ke tindakan.

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

    Contoh kode berikut menunjukkan penanganan aktivitas AdReady yang menampilkan setiap elemen iklan asli dalam kontrol di StackPanel lalu memanggil metode RegisterAdContainer untuk mendaftarkan StackPanel. Kode ini mengasumsikan bahwa kode dijalankan dari file code-behind untuk halaman yang berisi 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. Tentukan penanganan aktivitas untuk peristiwa ErrorOccurred untuk menangani kesalahan yang terkait dengan iklan asli. Contoh berikut menulis informasi kesalahan ke jendela Output Visual Studio selama pengujian.

    private void MyNativeAdsManager_ErrorOccurred(object sender, NativeAdErrorEventArgs e)
    {
        System.Diagnostics.Debug.WriteLine("NativeAd error " + e.ErrorMessage +
            " ErrorCode: " + e.ErrorCode.ToString());
    }
    
  10. Kompilasi dan jalankan aplikasi untuk melihatnya dengan iklan pengujian.

Merilis aplikasi Anda dengan iklan langsung

Setelah mengonfirmasi bahwa implementasi iklan asli Anda berhasil menampilkan iklan pengujian, ikuti petunjuk berikut untuk mengonfigurasi aplikasi Anda untuk menampilkan iklan nyata dan mengirimkan aplikasi yang diperbarui ke Toko.

  1. Pastikan implementasi iklan native Anda mengikuti panduan kami untuk iklan asli.

  2. Di Pusat Mitra, buka halaman Iklan dalam aplikasi dan buat unit iklan. Untuk jenis unit iklan, tentukan Native. Catat ID unit iklan dan ID aplikasi.

    Catatan

    Nilai ID aplikasi untuk unit iklan pengujian dan unit iklan UWP langsung memiliki format yang berbeda. Nilai ID aplikasi pengujian adalah GUID. Saat Anda membuat unit iklan UWP langsung di Pusat Mitra, nilai ID aplikasi untuk unit iklan selalu cocok dengan ID Toko untuk aplikasi Anda (contoh nilai ID Toko terlihat seperti 9NBLGGH4R315).

  3. Anda dapat mengaktifkan mediasi iklan secara opsional untuk iklan asli dengan mengonfigurasi pengaturan di bagian Pengaturan mediasi di halaman Iklan dalam aplikasi. Mediasi iklan memungkinkan Anda memaksimalkan kemampuan pendapatan iklan dan promosi aplikasi dengan menampilkan iklan dari beberapa jaringan iklan.

  4. Dalam kode Anda, ganti nilai unit iklan pengujian (yaitu, parameter applicationId dan adUnitId dari konstruktor NativeAdsManagerV2 ) dengan nilai langsung yang Anda hasilkan di Pusat Mitra.

  5. Kirimkan aplikasi Anda ke Toko menggunakan Pusat Mitra.

  6. Tinjau laporan performa iklan Anda di Pusat Mitra.

Mengelola unit iklan untuk beberapa iklan asli di aplikasi Anda

Anda dapat menggunakan beberapa penempatan iklan asli dalam satu aplikasi. Dalam skenario ini, kami sarankan Anda menetapkan unit iklan yang berbeda untuk setiap penempatan iklan asli. Menggunakan unit iklan yang berbeda untuk iklan asli memungkinkan Anda mengonfigurasi pengaturan mediasi secara terpisah dan mendapatkan data pelaporan diskrit untuk setiap kontrol. Ini juga memungkinkan layanan kami untuk mengoptimalkan iklan yang kami sajikan dengan lebih baik ke aplikasi Anda.

Penting

Anda hanya dapat menggunakan setiap unit iklan dalam satu aplikasi. Jika Anda menggunakan unit iklan di lebih dari satu aplikasi, iklan tidak akan ditayangkan untuk unit iklan tersebut.