Menerapkan versi uji coba aplikasi Anda

Jika Anda mengonfigurasi aplikasi sebagai uji coba gratis di Pusat Mitra sehingga pelanggan dapat menggunakan aplikasi Anda secara gratis selama periode uji coba, Anda dapat membujuk pelanggan untuk meningkatkan ke versi lengkap aplikasi Anda dengan mengecualikan atau membatasi beberapa fitur selama periode uji coba. Tentukan fitur mana yang harus dibatasi sebelum Anda mulai mengkoding, lalu pastikan aplikasi Anda hanya mengizinkannya berfungsi saat lisensi lengkap telah dibeli. Anda juga dapat mengaktifkan fitur, seperti spanduk atau marka air, yang hanya ditampilkan selama uji coba, sebelum pelanggan membeli aplikasi Anda.

Artikel ini memperlihatkan cara menggunakan anggota kelas StoreContext di namespace Windows.Services.Store untuk menentukan apakah pengguna memiliki lisensi uji coba untuk aplikasi Anda dan diberi tahu jika status lisensi berubah saat aplikasi Anda berjalan.

Catatan

Namespace Windows.Services.Store diperkenalkan di Windows 10, versi 1607, dan hanya dapat digunakan dalam proyek yang menargetkan Windows 10 Anniversary Edition (10.0; Build 14393) atau rilis yang lebih baru di Visual Studio. Jika aplikasi Anda menargetkan versi Windows 10 yang lebih lama, Anda harus menggunakan namespace Windows.ApplicationModel.Store alih-alih namespace Windows.Services.Store. Untuk informasi selengkapnya, lihat artikel ini.

Panduan untuk menerapkan versi uji coba

Status lisensi aplikasi Anda saat ini disimpan sebagai properti kelas StoreAppLicense . Biasanya, Anda menempatkan fungsi yang bergantung pada status lisensi dalam blok kondisional, seperti yang kami jelaskan di langkah berikutnya. Saat mempertimbangkan fitur-fitur ini, pastikan Anda dapat menerapkannya dengan cara yang akan berfungsi di semua status lisensi.

Selain itu, putuskan bagaimana Anda ingin menangani perubahan pada lisensi aplikasi saat aplikasi sedang berjalan. Aplikasi uji coba Anda dapat memiliki fitur lengkap, tetapi memiliki banner iklan dalam aplikasi di mana versi berbayar tidak. Atau, aplikasi uji coba Anda dapat menonaktifkan fitur tertentu, atau menampilkan pesan reguler yang meminta pengguna untuk membelinya.

Pikirkan tentang jenis aplikasi yang Anda buat dan apa strategi uji coba atau kedaluwarsa yang baik untuk itu. Untuk versi percobaan game, strategi yang baik adalah membatasi jumlah konten game yang dapat dimainkan pengguna. Untuk versi uji coba utilitas, Anda dapat mempertimbangkan untuk mengatur tanggal kedaluwarsa, atau membatasi fitur yang dapat digunakan oleh pembeli potensial.

Untuk sebagian besar aplikasi non-game, mengatur tanggal kedaluwarsa berfungsi dengan baik, karena pengguna dapat mengembangkan pemahaman yang baik tentang aplikasi lengkap. Berikut adalah beberapa skenario kedaluwarsa umum dan opsi Anda untuk menanganinya.

  • Lisensi uji coba kedaluwarsa saat aplikasi sedang berjalan

    Jika uji coba kedaluwarsa saat aplikasi Anda berjalan, aplikasi Anda dapat:

    • Tidak melakukan apa pun.
    • Menampilkan pesan kepada pelanggan Anda.
    • Tutup.
    • Minta pelanggan Anda untuk membeli aplikasi.

    Praktik terbaik adalah menampilkan pesan dengan permintaan untuk membeli aplikasi, dan jika pelanggan membelinya, lanjutkan dengan semua fitur diaktifkan. Jika pengguna memutuskan untuk tidak membeli aplikasi, tutup atau ingatkan mereka untuk membeli aplikasi secara berkala.

  • Lisensi uji coba kedaluwarsa sebelum aplikasi diluncurkan

    Jika uji coba kedaluwarsa sebelum pengguna meluncurkan aplikasi, aplikasi Anda tidak akan diluncurkan. Sebagai gantinya, pengguna melihat kotak dialog yang memberi mereka opsi untuk membeli aplikasi Anda dari Bursa.

  • Pelanggan membeli aplikasi saat sedang berjalan

    Jika pelanggan membeli aplikasi Anda saat sedang berjalan, berikut adalah beberapa tindakan yang dapat dilakukan aplikasi Anda.

    • Jangan lakukan apa pun dan biarkan mereka berlanjut dalam mode uji coba hingga aplikasi dimulai ulang.
    • Terima kasih kepada mereka untuk membeli atau menampilkan pesan.
    • Aktifkan fitur yang tersedia secara diam-diam dengan lisensi penuh (atau nonaktifkan pemberitahuan uji coba saja).

Pastikan untuk menjelaskan bagaimana aplikasi Anda akan berkinerja selama dan setelah periode uji coba gratis sehingga pelanggan Anda tidak akan terkejut dengan perilaku aplikasi Anda. Untuk informasi selengkapnya tentang menjelaskan aplikasi Anda, lihat Membuat deskripsi aplikasi.

Prasyarat

Contoh ini memiliki prasyarat berikut:

  • Proyek Visual Studio untuk aplikasi Platform Windows Universal (UWP) yang menargetkan Windows 10 Anniversary Edition (10.0; Build 14393) atau rilis yang lebih baru.
  • Anda telah membuat aplikasi di Pusat Mitra yang dikonfigurasi sebagai uji coba gratis tanpa batas waktu dan aplikasi ini diterbitkan di Toko. Anda dapat secara opsional mengonfigurasi aplikasi sehingga tidak dapat ditemukan di Store saat Anda mengujinya. Untuk informasi selengkapnya, lihat panduan pengujian kami.

Kode dalam contoh ini mengasumsikan:

  • Kode berjalan dalam konteks Halaman yang berisi ProgressRing bernama workingProgressRing dan TextBlock bernama textBlock. Objek-objek ini digunakan untuk menunjukkan bahwa operasi asinkron terjadi dan untuk menampilkan pesan output, masing-masing.
  • File kode memiliki pernyataan penggunaan untuk namespace Windows.Services.Store .
  • Aplikasi ini adalah aplikasi pengguna tunggal yang hanya berjalan dalam konteks pengguna yang meluncurkan aplikasi. Untuk informasi selengkapnya, lihat Pembelian dan uji coba dalam aplikasi.

Catatan

Jika Anda memiliki aplikasi desktop yang menggunakan Desktop Bridge, Anda mungkin perlu menambahkan kode tambahan yang tidak ditampilkan dalam contoh ini untuk mengonfigurasi objek StoreContext . Untuk informasi selengkapnya, lihat Menggunakan kelas StoreContext di aplikasi desktop yang menggunakan Desktop Bridge.

Contoh kode

Saat aplikasi Anda menginisialisasi, dapatkan objek StoreAppLicense untuk aplikasi Anda dan tangani peristiwa OfflineLicensesChanged untuk menerima pemberitahuan saat lisensi berubah saat aplikasi sedang berjalan. Misalnya, lisensi aplikasi dapat berubah jika periode uji coba kedaluwarsa atau pelanggan membeli aplikasi melalui Toko. Saat lisensi berubah, dapatkan lisensi baru dan aktifkan atau nonaktifkan fitur aplikasi Anda yang sesuai.

Pada titik ini, jika pengguna membeli aplikasi, adalah praktik yang baik untuk memberikan umpan balik kepada pengguna bahwa status lisensi telah berubah. Anda mungkin perlu meminta pengguna untuk menghidupkan ulang aplikasi jika itulah cara Anda mengkodekannya. Tetapi buat transisi ini semulus dan tanpa rasa sakit mungkin.

private StoreContext context = null;
private StoreAppLicense appLicense = null;

// Call this while your app is initializing.
private async void InitializeLicense()
{
    if (context == null)
    {
        context = StoreContext.GetDefault();
        // If your app is a desktop app that uses the Desktop Bridge, you
        // may need additional code to configure the StoreContext object.
        // For more info, see https://aka.ms/storecontext-for-desktop.
    }

    workingProgressRing.IsActive = true;
    appLicense = await context.GetAppLicenseAsync();
    workingProgressRing.IsActive = false;

    // Register for the licenced changed event.
    context.OfflineLicensesChanged += context_OfflineLicensesChanged;
}

private async void context_OfflineLicensesChanged(StoreContext sender, object args)
{
    // Reload the license.
    workingProgressRing.IsActive = true;
    appLicense = await context.GetAppLicenseAsync();
    workingProgressRing.IsActive = false;

    if (appLicense.IsActive)
    {
        if (appLicense.IsTrial)
        {
            textBlock.Text = $"This is the trial version. Expiration date: {appLicense.ExpirationDate}";

            // Show the features that are available during trial only.
        }
        else
        {
            // Show the features that are available only with a full license.
        }
    }
}

Untuk aplikasi sampel lengkap, lihat sampel Store.