Kode aplikasi Anda untuk eksperimen

Setelah membuat proyek dan menentukan variabel jarak jauh di Pusat Mitra, Anda siap untuk memperbarui kode di aplikasi Platform Windows Universal (UWP) Anda untuk:

  • Menerima nilai variabel jarak jauh dari Pusat Mitra.
  • Gunakan variabel jarak jauh untuk mengonfigurasi pengalaman aplikasi bagi pengguna Anda.
  • Catat peristiwa ke Pusat Mitra yang menunjukkan kapan pengguna telah melihat eksperimen Anda dan melakukan tindakan yang diinginkan (juga disebut konversi).

Untuk menambahkan perilaku ini ke aplikasi, Anda akan menggunakan API yang disediakan oleh Microsoft Store Services SDK.

Bagian berikut menjelaskan proses umum mendapatkan variasi untuk eksperimen dan peristiwa pengelogan Anda ke Pusat Mitra. Setelah membuat kode aplikasi untuk eksperimen, Anda dapat menentukan eksperimen di Pusat Mitra. Untuk panduan yang menunjukkan proses end-to-end dalam membuat dan menjalankan eksperimen, lihat Membuat dan menjalankan eksperimen pertama Anda dengan pengujian A/B.

Catatan

Beberapa API eksperimen di Microsoft Store Services SDK menggunakan pola asinkron untuk mengambil data dari Pusat Mitra. Ini berarti bahwa bagian dari eksekusi metode ini dapat terjadi setelah metode dipanggil, sehingga UI aplikasi Anda dapat tetap responsif saat operasi selesai. Pola asinkron mengharuskan aplikasi Anda menggunakan kata kunci asinkron dan menunggu operator saat memanggil API, seperti yang ditunjukkan oleh contoh kode dalam artikel ini. Menurut konvensi, metode asinkron diakhapi dengan Asinkron.

Mengonfigurasi proyek Anda

Untuk memulai, instal Microsoft Store Services SDK di komputer pengembangan Anda dan tambahkan referensi yang diperlukan ke proyek Anda.

  1. Instal Microsoft Store Services SDK.
  2. Buka proyek Anda di Visual Studio.
  3. Di Penjelajah Solusi, perluas simpul proyek Anda, klik kanan Referensi, dan klik Tambahkan Referensi.
  4. Di Pengelola Referensi, perluas Universal Windows dan klik Ekstensi.
  5. Dalam daftar SDK, pilih kotak centang di samping Microsoft Engagement Framework dan klik OK.

Catatan

Contoh kode dalam artikel ini mengasumsikan bahwa file kode Anda telah menggunakan pernyataan untuk namespace Layanan System.Threading.Tasks dan Microsoft.Services.Store.Engagement .

Mendapatkan data variasi dan mencatat peristiwa tampilan untuk eksperimen Anda

Dalam proyek Anda, temukan kode untuk fitur yang ingin Anda ubah dalam eksperimen Anda. Tambahkan kode yang mengambil data untuk variasi, gunakan data ini untuk memodifikasi perilaku fitur yang Anda uji, lalu catat peristiwa tampilan untuk eksperimen Anda ke layanan pengujian A/B di Pusat Mitra.

Kode tertentu yang Anda butuhkan akan bergantung pada aplikasi Anda, tetapi contoh berikut menunjukkan proses dasar. Untuk contoh kode lengkap, lihat Membuat dan menjalankan eksperimen pertama Anda dengan pengujian A/B.

private StoreServicesExperimentVariation variation;
private StoreServicesCustomEventLogger logger;

// Assign this variable to the project ID for your experiment from Dev Center.
// The project ID shown below is for example purposes only.
private string projectId = "F48AC670-4472-4387-AB7D-D65B095153FB";

private async Task InitializeExperiment()
{
    // Get the current cached variation assignment for the experiment.
    var result = await StoreServicesExperimentVariation.GetCachedVariationAsync(projectId);
    variation = result.ExperimentVariation;

    // Refresh the cached variation assignment if necessary.
    if (result.ErrorCode != StoreServicesEngagementErrorCode.None || result.ExperimentVariation.IsStale)
    {
        result = await StoreServicesExperimentVariation.GetRefreshedVariationAsync(projectId);

        if (result.ErrorCode == StoreServicesEngagementErrorCode.None)
        {
            variation = result.ExperimentVariation;
        }
    }

    // Get the remote variable named "buttonText" and assign the value
    // to the button.
    var buttonText = variation.GetString("buttonText", "Grey Button");
    await button.Dispatcher.RunAsync(
        Windows.UI.Core.CoreDispatcherPriority.Normal,
        () =>
        {
            button.Content = buttonText;
        });

    // Log the view event named "userViewedButton" to Dev Center.
    if (logger == null)
    {
        logger = StoreServicesCustomEventLogger.GetDefault();
    }

    logger.LogForVariation(variation, "userViewedButton");
}

Langkah-langkah berikut menjelaskan bagian penting dari proses ini secara rinci.

  1. Deklarasikan objek StoreServicesExperimentVariation yang mewakili penetapan variasi saat ini dan objek StoreServicesCustomEventLogger yang akan Anda gunakan untuk mencatat peristiwa tampilan dan konversi ke Pusat Mitra.

    private StoreServicesExperimentVariation variation;
    private StoreServicesCustomEventLogger logger;
    
  2. Deklarasikan variabel string yang ditetapkan ke ID proyek untuk eksperimen yang ingin Anda ambil.

    Catatan

    Anda mendapatkan ID proyek saat membuat proyek di Pusat Mitra. ID proyek yang ditunjukkan di bawah ini hanya untuk tujuan contoh.

    private string projectId = "F48AC670-4472-4387-AB7D-D65B095153FB";
    
  3. Dapatkan penetapan variasi cache saat ini untuk eksperimen Anda dengan memanggil metode GetCachedVariationAsync statis, dan teruskan ID proyek untuk eksperimen Anda ke metode . Metode ini mengembalikan objek StoreServicesExperimentVariationResult yang menyediakan akses ke penetapan variasi melalui properti ExperimentVariation .

    var result = await StoreServicesExperimentVariation.GetCachedVariationAsync(projectId);
    variation = result.ExperimentVariation;
    
  4. Periksa properti IsStale untuk menentukan apakah penetapan variasi yang di-cache perlu disegarkan dengan penetapan variasi jarak jauh dari server. Jika perlu disegarkan, panggil metode GetRefreshedVariationAsync statis untuk memeriksa penetapan variasi yang diperbarui dari server dan refresh variasi cache lokal.

    if (result.ErrorCode != StoreServicesEngagementErrorCode.None || result.ExperimentVariation.IsStale)
    {
        result = await StoreServicesExperimentVariation.GetRefreshedVariationAsync(projectId);
    
        if (result.ErrorCode == StoreServicesEngagementErrorCode.None)
        {
            variation = result.ExperimentVariation;
        }
    }
    
  5. Gunakan metode GetBoolean, GetDouble, GetInt32, atau GetString dari objek StoreServicesExperimentVariation untuk mendapatkan nilai untuk penetapan variasi. Dalam setiap metode, parameter pertama adalah nama variasi yang ingin Anda ambil (ini adalah nama variasi yang sama dengan yang Anda masukkan di Pusat Mitra). Parameter kedua adalah nilai default yang harus dikembalikan metode jika tidak dapat mengambil nilai yang ditentukan dari Pusat Mitra (misalnya, jika tidak ada konektivitas jaringan), dan versi variasi yang di-cache tidak tersedia.

    Contoh berikut menggunakan GetString untuk mendapatkan variabel bernama buttonText dan menentukan nilai variabel default Tombol Abu-abu.

    var buttonText = variation.GetString("buttonText", "Grey Button");
    
  6. Dalam kode Anda, gunakan nilai variabel untuk memodifikasi perilaku fitur yang Anda uji. Misalnya, kode berikut menetapkan nilai buttonText ke konten tombol di aplikasi Anda. Contoh ini mengasumsikan Anda telah menentukan tombol ini di tempat lain dalam proyek Anda.

    await button.Dispatcher.RunAsync(
        Windows.UI.Core.CoreDispatcherPriority.Normal,
        () =>
        {
            button.Content = buttonText;
        });
    
  7. Terakhir, catat peristiwa tampilan untuk eksperimen Anda ke layanan pengujian A/B di Pusat Mitra. Inisialisasi logger bidang ke objek StoreServicesCustomEventLogger dan panggil metode LogForVariation . Teruskan objek StoreServicesExperimentVariation yang mewakili penetapan variasi saat ini (objek ini menyediakan konteks tentang peristiwa ke Pusat Mitra) dan nama peristiwa tampilan untuk eksperimen Anda. Ini harus cocok dengan nama peristiwa tampilan yang Anda masukkan untuk eksperimen Anda di Pusat Mitra. Kode Anda harus mencatat peristiwa tampilan saat pengguna mulai melihat variasi yang merupakan bagian dari eksperimen Anda.

    Contoh berikut menunjukkan cara mencatat peristiwa tampilan bernama userViewedButton. Dalam contoh ini, tujuan eksperimen adalah untuk membuat pengguna mengklik tombol di aplikasi, sehingga peristiwa tampilan dicatat setelah aplikasi mengambil data variasi (dalam hal ini, teks tombol) dan menetapkannya ke konten tombol.

    if (logger == null)
    {
        logger = StoreServicesCustomEventLogger.GetDefault();
    }
    
    logger.LogForVariation(variation, "userViewedButton");
    

Mencatat peristiwa konversi ke Pusat Mitra

Selanjutnya, tambahkan kode yang mencatat peristiwa konversi ke layanan pengujian A/B di Pusat Mitra. Kode Anda harus mencatat peristiwa konversi saat pengguna mencapai tujuan untuk eksperimen Anda. Kode tertentu yang Anda butuhkan akan bergantung pada aplikasi Anda, tetapi berikut adalah langkah-langkah umumnya. Untuk contoh kode lengkap, lihat Membuat dan menjalankan eksperimen pertama Anda dengan pengujian A/B.

  1. Dalam kode yang berjalan ketika pengguna mencapai tujuan untuk salah satu tujuan eksperimen, panggil metode LogForVariation lagi dan teruskan objek StoreServicesExperimentVariation dan nama peristiwa konversi untuk eksperimen Anda. Ini harus cocok dengan salah satu nama peristiwa konversi yang Anda masukkan untuk eksperimen Anda di Pusat Mitra.

    Contoh berikut mencatat peristiwa konversi bernama userClickedButton dari tombol Klik penanganan aktivitas untuk. Dalam contoh ini, tujuan eksperimen adalah untuk membuat pengguna mengklik tombol .

    private void button_Click(object sender, RoutedEventArgs e)
    {
        if (logger == null)
        {
            logger = StoreServicesCustomEventLogger.GetDefault();
        }
    
        logger.LogForVariation(variation, "userClickedButton");
    }
    

Langkah berikutnya

Setelah membuat kode eksperimen di aplikasi, Anda siap untuk langkah-langkah berikut:

  1. Tentukan eksperimen Anda di Pusat Mitra. Buat eksperimen yang menentukan peristiwa tampilan, peristiwa konversi, dan variasi unik untuk pengujian A/B Anda.
  2. Jalankan dan kelola eksperimen Anda di Pusat Mitra.