Penegakan lisensi dan ketertransaksian (Pratinjau publik)
Saat Anda membuat visual Power BI untuk diunduh di AppSource, Anda sekarang dapat mengelola dan menerapkan lisensinya menggunakan sistem Microsoft. Pengguna akhir menetapkan dan mengelola lisensi menggunakan alat yang sudah dikenal seperti pusat admin Microsoft 365, dan API lisensi memungkinkan Anda menerapkan lisensi ini dan memastikan bahwa hanya pengguna berlisensi yang dapat merender visual.
Proses penegakan lisensi
Tabel berikut ini mengilustrasikan langkah-langkah yang terlibat dalam mengelola lisensi visual Anda melalui Microsoft:
Langkah | Detail |
---|---|
Membuat penawaran di Pusat Mitra | Pilih untuk bertransaksi melalui sistem perdagangan Microsoft. Aktifkan Microsoft untuk mengelola lisensi. Tetapkan harga dan ketersediaan. |
Menambahkan penegakan lisensi ke paket visual Power BI Anda | Buat atau konfigurasi ulang paket Anda untuk menggunakan lisensi runtime Power BI, yang memberlakukan lisensi sesuai dengan akses setiap pengguna. |
Pelanggan menemukan penawaran Anda di AppSource dan membeli langganan | Saat pelanggan membeli penawaran Anda di AppSource, mereka juga mendapatkan lisensi untuk Visual Power BI. |
Pelanggan mengelola langganan mereka dan menetapkan/membatalkan penetapan lisensipengguna | Pelanggan mengelola langganan dan menetapkan lisensi untuk Visual dan penawaran ini di pusat admin Microsoft 365, seperti yang mereka lakukan untuk salah satu langganan mereka yang lain seperti Office atau Power BI. |
Menerapkan pemeriksaan runtime | Beri pelanggan Anda pengalaman yang seragam dengan menggunakan API siap pakai kami untuk memberlakukan pemeriksaan lisensi runtime. |
Melihat laporan untuk pertumbuhan bahan bakar | Dapatkan wawasan tentang pendapatan, informasi pembayaran, dan detail pesanan dan lisensi. Lihat informasi tentang lisensi dan pesanan yang dibeli, diperbarui, dan dibatalkan dari waktu ke waktu dan berdasarkan geografi. |
API Lisensi
API Lisensi memungkinkan pengembang visual Power BI untuk memberlakukan lisensi visual Power BI. API mendukung pengambilan informasi tentang lisensi visual Power BI yang ditetapkan untuk pengguna Power BI. Ini juga memungkinkan pemicu pemberitahuan terkait lisensi yang akan muncul di visual Power BI dan memberi tahu pengguna bahwa mereka perlu membeli lisensi yang hilang. Visual tidak boleh menampilkan UX lisensinya sendiri, sebagai gantinya gunakan salah satu pemberitahuan power BI yang didukung yang telah ditentukan sebelumnya seperti yang dirinci di bawah ini.
Pelajari selengkapnya tentang lisensi Power BI lihat penerapan lisensi.
Catatan
API Lisensi tersedia dari versi 4.7. Untuk mengetahui versi mana yang Anda gunakan, periksa apiVersion
di file pbiviz.json .
Mengambil paket layanan visual yang ditetapkan ke pengguna aktif
Untuk mendapatkan paket layanan yang ditetapkan, tambahkan panggilan ke getAvailableServicePlans
(tersedia melalui IVisualLicenseManager
).
Dari perspektif performa, coba ambil lisensi sekali, sebaiknya dalam constructor
panggilan atau init
, dan simpan hasilnya.
Setelah lisensi diambil, lisensi akan di-cache di sisi host Power BI selama sesi Power BI dan panggilan lebih lanjut ke yang sama akan mengembalikan data yang di-cache.
export interface IVisualLicenseManager {
getAvailableServicePlans(): IPromise<powerbi.extensibility.visual.LicenseInfoResult>;
}
Mengambil lisensi mungkin merupakan operasi yang panjang, sehingga getAvailableServicePlans
panggilan adalah panggilan asinkron dan harus ditangani seperti dalam kode Anda.
Sebagai respons untuk memanggil metode , LicenseInfoResult
objek dikembalikan.
export interface LicenseInfoResult {
plans: ServicePlan[] | undefined;
isLicenseUnsupportedEnv: boolean;
isLicenseInfoAvailable: boolean;
}
plans
- array Paket Layanan yang dibeli oleh pengguna aktif untuk visual ini . (Lisensi yang dibeli untuk visual lain tidak disertakan dalam respons.)
ServicePlan berisi pengidentifikasi layanan (spIdentifier) dan statusnya (ServicePlanState).spIdentifier: nilai string ID Layanan yang dihasilkan saat Anda mengonfigurasi paket penawaran Anda di Pusat Mitra (lihat contoh berikut)
state – enum (ServicePlanState) yang mewakili status paket yang ditetapkan.
Status paket layanan yang didukung:Provinsi Deskripsi Tidak Aktif Menunjukkan bahwa lisensi tidak aktif dan tidak boleh digunakan untuk manfaat provisi. Aktif Menunjukkan bahwa lisensi aktif dan dapat digunakan untuk manfaat provisi. Peringatan Menunjukkan bahwa lisensi dalam masa tenggang kemungkinan karena pelanggaran pembayaran. Ditangguhkan Menunjukkan bahwa lisensi ditangguhkan kemungkinan karena pelanggaran pembayaran. Tidak dikenal Nilai Sentinel. Hanya status aktif dan peringatan yang mewakili lisensi yang dapat digunakan. Semua negara bagian lain harus diperlakukan sebagai tidak menghasilkan lisensi yang dapat digunakan.
isLicenseUnsupportedEnv
- menunjukkan bahwa visual sedang dirender di lingkungan Power BI yang tidak mendukung manajemen atau penerapan lisensi. Saat ini, lingkungan Power BI berikut ini tidak mendukung manajemen lisensi atau penegakan lisensi:- Disematkan - Terbitkan Ke Web, PaaS disematkan
- Cloud Nasional/Regional (Tergantung pada dukungan umum untuk transakbilitas di cloud nasional/regional)
- Server RS (Tidak ada dukungan yang direncanakan)
- Mengekspor (PDF\PPT) menggunakan REST API
isLicenseInfoAvailable
- Menunjukkan apakah info lisensi dapat diambil. Kegagalan dalam pengambilan lisensi dapat terjadi jika pengguna Power BI Desktop tidak masuk atau tidak tersambung ke internet (offline). Untuk web, pengambilan lisensi dapat gagal karena pemadaman layanan sementara.
Contoh panggilan getAvailableServicePlans
(menggunakan ID layanan dari gambar di atas):
this.licenseManager.getAvailableServicePlans().then((result: LicenseInfoResult) => {
this.notificationType = result.isLicenseUnsupportedEnv ? powerbi.LicenseNotificationType.UnsupportedEnv : powerbi.LicenseNotificationType.General;
this.hasServicePlans = !!(result.plans && result.plans.length && result.plans[0].spIdentifier == "test_isvconnect1599092224747.powerbivisualtransact.plan1" &&
( result.plans[0].state == powerbi.ServicePlanState.Active || result.plans[0].state == powerbi.ServicePlanState.Warning));
// display notification if the user doesn't have licenses
if (!this.hasServicePlans) {
this.licenseManager.notifyLicenseRequired(this.notificationType).then((value) => {
if (value) {
this.isIconDisplayed = true;
}
}).catch((err) => {
console.log('ERROR', err);
})
}
}).catch((err) => {
this.hasServicePlans = undefined;
console.log(err);
});
Beri tahu pengguna bahwa lisensi yang diperlukan hilang
Platform Power BI menyediakan beberapa pengalaman di luar kotak yang dapat digunakan untuk memberi tahu:
- Lisensi harus dibeli untuk menikmati kemampuan visual penuh
- Fitur visual tertentu diblokir karena lisensi yang hilang
- Seluruh visual diblokir karena lisensi yang hilang
- Seluruh visual diblokir karena lingkungan Power BI yang digunakan tidak mendukung manajemen lisensi\penegakan
export interface IVisualLicenseManager {
notifyLicenseRequired(notificationType: LicenseNotificationType): IPromise<boolean>;
notifyFeatureBlocked(tooltip: string): IPromise<boolean>;
clearLicenseNotification(): IPromise<boolean>;
}
Ikon umum yang menunjukkan lisensi yang diperlukan hilang
Gunakan notifyLicenseRequired
panggilan dengan LicenseNotificationType.General
untuk menampilkan ikon sebagai bagian dari kontainer visual.
Setelah dipicu, ikon akan dipertahankan sepanjang masa pakai visual hingga clearLicenseNotification
atau notifyLicenseRequired
dipanggil.
Catatan
Pemberitahuan LicenseNotificationType.General
hanya diberlakukan saat keduanya berlaku: didukung untuk lingkungan lisensi dan skenario Power BI Edit. Memanggil ini di lingkungan yang tidak didukung atau ketika laporan dalam mode Baca atau di dasbor tidak akan menerapkan ikon dan akan kembali false
dalam respons panggilan.
Contoh tampilan visual yang berisi ikon umum "lisensi diperlukan":
Melapisi tampilan visual dengan pemberitahuan lisensi yang hilang
Gunakan notifyLicenseRequired
panggilan dengan LicenseNotificationType.VisualIsBlocked
untuk melapisi tampilan visual dengan pemberitahuan bahwa visual diblokir karena lisensi yang diperlukan ditemukan hilang.
Setelah dipicu, pemberitahuan ini akan dipertahankan sepanjang masa pakai visual hingga clearLicenseNotification
atau notifyLicenseRequired
dipanggil.
Contoh tampilan visual yang berisi pemberitahuan yang diblokir visual. Power BI Desktop hanya akan menampilkan opsi Dapatkan lisensi :
Melapisi tampilan visual dengan pemberitahuan lingkungan yang tidak didukung
Gunakan notifyLicenseRequired
panggilan dengan LicenseNotificationType.UnsupportedEnv
untuk melapisi tampilan visual dengan pemberitahuan bahwa visual diblokir karena Power BI yang digunakan tidak mendukung manajemen lisensi\penegakan.
Setelah dipicu, ikon akan dipertahankan sepanjang masa pakai visual hingga clearLicenseNotification
atau notifyLicenseRequired
dipanggil.
Catatan
Pemberitahuan LicenseNotificationType.UnsupportedEnv
hanya diberlakukan ketika dipanggil dalam konteks tidak didukung untuk lingkungan lisensi. Memanggil ini di lingkungan lain tidak akan menerapkan pemberitahuan dan akan kembali false
dalam respons panggilan.
Contoh tampilan visual yang berisi pemberitahuan "Lingkungan Yang Tidak Didukung":
Menampilkan banner yang memberi tahu bahwa fungsionalitas visual tertentu tidak dapat diterapkan
Saat menerapkan fungsionalitas visual tertentu memerlukan lisensi yang ditemukan hilang, Anda dapat menggunakan notifyFeatureBlocked
panggilan yang akan memunculkan banner sebagai bagian dari kontainer visual. Banner ini juga mendukung tipsalat kustom yang dapat diatur oleh Anda dan digunakan untuk memberikan informasi tambahan tentang fitur yang memicu pemberitahuan.
Catatan
Fitur ini diblokir pemberitahuan hanya diberlakukan ketika dipanggil dalam konteks didukung untuk lingkungan lisensi dan jika pemblokiran overlay tidak diterapkan (LicenseNotificationType.UnsupportedEnv
, LicenseNotificationType.VisualIsBlocked
). Memanggil pemberitahuan ini di lingkungan yang tidak didukung tidak akan menerapkan pemberitahuan dan akan kembali false
dalam respons panggilan.
Catatan
Untuk mendukung lingkungan Power BI yang dilokalkan, sebaiknya pertahankan versi tipsalat yang dilokalkan yang digunakan. Silakan gunakan API Pelokalan untuk mengambil bahasa lokal Power BI.
Setelah dipicu, banner akan ditampilkan selama 10 detik, atau sampai banner "fitur diblokir" lainnya dipicu, atau sampai clearLicenseNotification
dipanggil (apa pun yang lebih dulu).
Contoh tampilan visual yang berisi pemberitahuan banner "fitur diblokir":
Menguji visual berlisensi
Untuk menguji ujung ke ujung visual berlisensi sebelum membuatnya tersedia untuk umum:
- Jika Anda membuat penawaran baru, tambahkan visual sebagai paket privat untuk akun pelanggan pengujian. Penawaran hanya akan terlihat oleh akun pengujian ini untuk pembelian. Gunakan akun ini untuk memvalidasi penawaran sebelum menjadikannya publik.
- Jika visual Anda sudah tersedia di AppSource dan Anda ingin memutakhirkannya ke visual berlisensi, Anda tidak dapat menjadikannya paket privat karena itu akan menyembunyikan visual dari AppSource, dan pengguna yang ada tidak akan memiliki akses ke dalamnya. Saat ini tidak ada cara untuk menguji visual yang diterbitkan secara menyeluruh. Uji dengan cara yang sama seperti Anda menguji visual asli ke AppSource, dengan mengejek nilai API lisensi untuk memeriksa berbagai kemungkinan.
Pertimbangan dan batasan
- Tooltip untuk spanduk fitur dibatasi oleh 500 karakter.
- Tipsalat untuk banner fitur memerlukan pelokalan.
- Bundling lisensi, (yaitu satu lisensi yang mencakup beberapa penawaran dari penerbit yang sama) belum didukung.
Konten terkait
Menerbitkan visual kustom Power BI
Ada pertanyaan lagi? Coba tanyakan kepada Komunitas Power BI