Aracılığıyla paylaş


Lisanslama ve işlem gücü uygulama (Genel önizleme)

AppSource'ta indirilmesi için Power BI görselleri oluşturduğunuzda, artık Microsoft sistemlerini kullanarak lisanslarını yönetebilir ve zorunlu kılabilirsiniz. Son kullanıcı, Microsoft 365 yönetim merkezi gibi tanıdık araçları kullanarak lisansları atar ve yönetir ve lisans API'si bu lisansları zorunlu kılmanıza ve görselleri yalnızca lisanslı kullanıcıların işleyebilmesini sağlamanıza olanak tanır.

Lisans zorlama işlemi

Aşağıdaki tabloda, Görsel lisanslarınızı Microsoft aracılığıyla yönetmeye ilişkin adımlar gösterilmektedir:

Adım Ayrıntılar
İş Ortağı Merkezi'nde teklif oluşturma Microsoft ticaret sistemi aracılığıyla işlem yapmayı seçin. Lisansları yönetmek için Microsoft'u etkinleştirin. Fiyatlandırmayı ve kullanılabilirliği ayarlayın.
Power BI görsel paketinize lisans zorlaması ekleme Paketinizi, her kullanıcının erişimine göre lisanslama uygulayan Power BI çalışma zamanı lisansını kullanacak şekilde oluşturun veya yeniden yapılandırın.
Müşteriler teklifinizi AppSource'ta bulur ve abonelik satın alma Müşteriler teklifinizi AppSource'ta satın aldıklarında, Power BI Görseli için lisansları da alır.
Müşteriler aboneliklerini yönetir ve kullanıcı lisanslarınıatar/atar Müşteriler, Office veya Power BI gibi diğer aboneliklerinde olduğu gibi Microsoft 365 yönetim merkezi bu Görseller ve teklifler için abonelikleri yönetir ve lisans atar.
Çalışma zamanı denetimlerini zorunlu kılma Çalışma zamanı lisans denetimlerini zorunlu kılmak için kullanıma kullanıma sunduğumuz API'leri kullanarak müşterilerinize tekdüzen bir deneyim sağlayın.
Büyümeyi sağlamak için raporları görüntüleme Gelir, ödeme bilgileri, sipariş ve lisans ayrıntıları hakkında içgörü elde edin. Zaman içinde ve coğrafyaya göre satın alınan, yenilenen ve iptal edilen lisanslar ve siparişler hakkındaki bilgileri görüntüleyin.

LisansLAMA API'si

LisansLAMA API'si, Power BI görsel geliştiricilerinin Power BI görsel lisanslarını zorunlu kılmasını sağlar. API, Power BI kullanıcısına atanan Power BI görsel lisanslarıyla ilgili bilgilerin alınmasını destekler. Ayrıca Power BI görselinde görünen lisansla ilgili bildirimleri tetiklemenizi sağlar ve kullanıcıya eksik lisansları satın alması gerektiğini bildirir. Görselin kendi lisanslama UX'sini görüntülememesi gerekir; bunun yerine aşağıdaki bölümlerde açıklandığı gibi Power BI tarafından desteklenen önceden tanımlanmış bildirimlerden birini kullanın.

Power BI lisansı hakkında daha fazla bilgi için bkz . lisans zorlama.

Not

LisansLAMA API'sini 4.7 sürümünde kullanabilirsiniz. Hangi sürümü kullandığınızı öğrenmek için pbiviz.json dosyasına bakın.apiVersion

Etkin kullanıcıya atanan görselin hizmet planlarını alma

Hizmet planlarını atamak için öğesine bir çağrı getAvailableServicePlans ekleyin (aracılığıyla IVisualLicenseManagerkullanılabilir). Performans açısından bakıldığında, lisansları tercihen veya init çağrılarında constructor bir kez getirip sonucu kaydetmeyi deneyin.
Lisanslar alındıktan sonra, Power BI oturumu sırasında Power BI ana bilgisayar tarafında önbelleğe alınır ve aynı diğer çağrılar önbelleğe alınan verileri döndürür.

export interface IVisualLicenseManager {
        getAvailableServicePlans(): IPromise<powerbi.extensibility.visual.LicenseInfoResult>;
    }

Lisansların alınması uzun bir işlem olabilir, bu nedenle getAvailableServicePlans çağrı zaman uyumsuz bir çağrıdır ve kodunuzda bu şekilde işlenmelidir.
yöntemini çağırmaya bir yanıt olarak nesnesi LicenseInfoResult döndürülür.

export interface LicenseInfoResult {
        plans: ServicePlan[] | undefined;
        isLicenseUnsupportedEnv: boolean; 
        isLicenseInfoAvailable: boolean; 
    }
  • plans- bu görsel için etkin kullanıcı tarafından satın alınan hizmet planları dizisi. (Diğer görseller için satın alınan lisanslar yanıta dahil değildir.)
    ServicePlan, hizmet tanımlayıcısını (spIdentifier) ve durumunu (ServicePlanState) içerir.

    • spIdentifier: İş Ortağı Merkezi'nde teklifinizin planlarını yapılandırırken oluşturulan Hizmet Kimliğinin dize değeri (aşağıdaki örne bakın) Hizmet Kimliği dizesinin bir örneğini gösteren ekran görüntüsü.

    • state – atanan planların durumunu temsil eden enum (ServicePlanState).
      Desteklenen hizmet planı durumları:

      Durum Açıklama
      Etkin değil Lisansın etkin olmadığını ve sağlama avantajları için kullanılmaması gerektiğini gösterir.
      Etkin Lisansın etkin olduğunu ve sağlama avantajları için kullanılabileceğini gösterir.
      Uyarı Lisansın ödeme ihlali nedeniyle yetkisiz kullanım süresinde olduğunu gösterir.
      Askıya alındı Ödeme ihlali nedeniyle lisansın büyük olasılıkla askıya alındığını gösterir.
      Bilinmiyor Microsoft Sentinel değeri.

      Yalnızca etkin ve uyarı durumları kullanılabilir bir lisansı temsil eden durumlardır. Diğer tüm eyaletler, kullanılabilir bir lisansla sonuçlanmıyor olarak ele alınmalıdır.

  • isLicenseUnsupportedEnv - görselin lisans yönetimini veya zorlamayı desteklemeyen bir Power BI ortamında işlendiğini gösterir. Şu anda aşağıdaki Power BI ortamları lisans yönetimini veya lisans zorlamayı desteklemez:

    • Embedded - Web'de yayımla, PaaS ekleme
    • Ulusal/Bölgesel bulutlar (Ulusal/bölgesel bulutlarda işlem gerçekleştirilmesi için genel desteğe bağlıdır)
    • RS Sunucusu (Planlı destek yok)
    • REST API kullanarak dışarı aktarma (PDF\PPT)
  • isLicenseInfoAvailable - Lisans bilgilerinin alınıp alınamayacağını gösterir. Power BI Desktop kullanıcısının oturum açmaması veya İnternet'e bağlı (çevrimdışı) olması durumunda lisans alma hatası oluşabilir. Web için lisans alma işlemi geçici bir hizmet kesintisi nedeniyle başarısız olabilir.

Arama getAvailableServicePlans örneği (önceki görüntüdeki hizmet kimliğini kullanarak):

private currentUserValidPlans: ServicePlan[] | undefined;
private hasServicePlans: boolean | undefined;
private isLicenseUnsupportedEnv: boolean | undefined;

this.licenseManager.getAvailableServicePlans()
 .then(({ plans, isLicenseUnsupportedEnv, isLicenseInfoAvailable }: LicenseInfoResult) => {
  if (isLicenseInfoAvailable && !isLicenseUnsupportedEnv) {
   this.currentUserValidPlans = plans?.filter(({ spIdentifier, state }) => 
    (state === powerbi.ServicePlanState.Active || state === powerbi.ServicePlanState.Warning)
   );
   this.hasServicePlans = !!currentUserValidPlans?.length;
  }
  this.isLicenseUnsupportedEnv = isLicenseUnsupportedEnv;
 }).catch((err) => {
  this.currentUserValidPlans = undefined;
  this.hasServicePlans = undefined;
  console.log(err);
 });

Kullanıcıya gerekli lisansların eksik olduğunu bildirin

Power BI platformu, aşağıdakileri bildirmek için kullanılabilecek hazır deneyimler sunar:

  • Tam görselin özelliklerinden yararlanmak için lisanslar satın alınmalıdır
  • Eksik lisanslar nedeniyle belirli görselin özelliği engellendi
  • Eksik lisanslar nedeniyle görselin tamamı engellendi
  • Kullanımdaki Power BI ortamı lisans yönetimini\zorlamayı desteklemediğinden görselin tamamı engellendi
export interface IVisualLicenseManager {
        notifyLicenseRequired(notificationType: LicenseNotificationType): IPromise<boolean>;
        notifyFeatureBlocked(tooltip: string): IPromise<boolean>;
        clearLicenseNotification(): IPromise<boolean>;
    }

çağrısı notifyLicenseRequiredörneği:

private defaultNotificationType: powerbi.LicenseNotificationType = powerbi.LicenseNotificationType.General;
private isNotificaitonDisplayed: boolean = false;

if (!this.isNotificaitonDisplayed) {
    const notificationType = this.isLicenseUnsupportedEnv ? powerbi.LicenseNotificationType.UnsupportedEnv : this.defaultNotificationType
    this.licenseManager.notifyLicenseRequired(this.getNotificationType())
        .then((value) => {
            this.isNotificaitonDisplayed = value;
        }).catch((err) => {
            console.log(err);
        });
}

Gerekli lisansın eksik olduğunu gösteren Genel simgesi

Görselin kapsayıcısının bir parçası olarak bir simge görüntülemek için ile LicenseNotificationType.General çağrısı kullanınnotifyLicenseRequired.
Tetiklendiğinde, simge görselin ömrü boyunca çağrılana kadar veya notifyLicenseRequired çağrılana kadar clearLicenseNotification korunur.

Not

Bildirim LicenseNotificationType.General yalnızca lisans yönetimini destekleyen bir ortamdan ve Power BI Düzenleme senaryoları için uygulanır. Bunu desteklenmeyen bir ortamda veya rapor Okuma modunda veya panoda olduğunda çağırmak simgeyi uygulamaz ve aramanın yanıtında döndürür false .

"Lisanslar gerekli" genel simgesini içeren görsel ekran örneği:

*Lisanslar gerekli* genel simgesini içeren görsel ekranın ekran görüntüsü.

*Lisanslar gerekli* genişletilmiş simgesini içeren görsel ekranın ekran görüntüsü.

Eksik lisans bildirimiyle görselin görüntüsünü katmanla

Gerekli lisanslar eksik bulunduğundan görselin engellendiğini belirten bir bildirimle görselin görüntüsünü kaplamak için ile LicenseNotificationType.VisualIsBlocked çağrısı kullanınnotifyLicenseRequired.
Tetiklendiğinde, bu bildirim görselin yaşam süresi boyunca çağrılana kadar veya notifyLicenseRequired çağrılana kadar clearLicenseNotification korunur.

Görsel engellenen bildirimi içeren görsel görüntüleme örneği. Power BI Desktop yalnızca Lisans al seçeneğini görüntüler:

*Görsel engellendi* bildirimini içeren görsel ekran.

Desteklenmeyen bir ortam bildirimiyle görselin görüntüsünü katmanlayın

Kullanımdaki Power BI lisans yönetimini\zorlamayı desteklemediğinden görselin görüntüsünü engellendiğini belirten bir bildirimle görselin görüntüsünü kaplamak için ile LicenseNotificationType.UnsupportedEnv çağrısı kullanınnotifyLicenseRequired.
Tetiklendiğinde, simge görselin ömrü boyunca çağrılana kadar veya notifyLicenseRequired çağrılana kadar clearLicenseNotification korunur.

Not

Bildirim LicenseNotificationType.UnsupportedEnv yalnızca lisanslama ortamı için desteklenmeyen bağlamında çağrıldığında uygulanır. Bunu başka bir ortamda çağırmak, bildirimi uygulamaz ve çağrının yanıtında döndürür false .

"Desteklenmeyen Ortam" bildirimini içeren görsel ekran örneği:

'Desteklenmeyen Ortam' bildirimini içeren görsel ekranın ekran görüntüsü

Belirli bir görselin işlevselliğinin uygulanalamadığını bildiren bir başlık görüntüleme

Belirli bir görselin işlevselliğini uygulamak için eksik bulunan lisanslar gerekirken, görselin notifyFeatureBlocked kapsayıcısının bir parçası olarak açılır başlık görüntüleyen çağrıyı kullanabilirsiniz. Başlık ayrıca, bildirimi tetikleyen özellik hakkında ek bilgi sağlamak için ayarlayıp kullanabileceğiniz özel bir araç ipucu da destekler.

Not

Özellik engellendi bildirimi yalnızca aşağıdaki koşulların her ikisi de geçerli olduğunda uygulanır:

  • Desteklenen bir lisanslama ortamından çağrılır
  • Engelleme yer paylaşımları uygulanmaz (LicenseNotificationType.UnsupportedEnv, LicenseNotificationType.VisualIsBlocked).

Bu bildirimin desteklenmeyen bir ortamda çağrılması, bildirimi uygulamaz ve aramanın yanıtında döndürür false .

Not

Yerelleştirilmiş Power BI ortamını desteklemek için, kullanımda olan araç ipuçlarının yerelleştirilmiş sürümlerini korumanızı öneririz. Lütfen Power BI yerel ayarı dilini almak için Yerelleştirme API'sini kullanın.

Tetiklendikten sonra, başlık 10 saniye boyunca veya diğer "özellik engellendi" başlığı tetiklenene kadar veya çağrılana kadar clearLicenseNotification (önce gelen her şey) görüntülenir.

"Özellik engellendi" başlık bildirimini içeren görsel ekran örneği:

'Özellik engellendi' başlık bildirimini içeren görsel ekranın ekran görüntüsü

Lisanslı bir görseli test edin

Lisanslı bir görseli herkese açık hale getirmeden önce uçtan uca test etmek için:

  • Yepyeni bir teklif oluşturuyorsanız görseli test müşteri hesabı için özel plan olarak ekleyin. Teklif yalnızca satın alma için bu test hesabı tarafından görülebilir. Teklifi genel kullanıma sunmadan önce doğrulamak için bu hesabı kullanın.
  • Görseliniz AppSource'ta zaten kullanılabiliyorsa ve lisanslı bir görsele yükseltmek istiyorsanız, görseli AppSource'tan gizlediğinden ve mevcut kullanıcılarınızın bu görsele erişimi olmayacağından özel bir plan yapamazsınız. Şu anda yayımlanmış bir görseli uçtan uca test etmenin bir yolu yoktur. Farklı olasılıkları denetlemek için lisans API'sinin değeriyle dalga geçerek özgün görseli AppSource'ta test ettiğiniz gibi test edin.

Dikkat edilecekler ve sınırlamalar

  • Özellik başlığı için araç ipucu 500 karakterle sınırlıdır.
  • Özellik başlığı için araç ipucu yerelleştirme gerektirir.
  • Lisans paketleme (başka bir ifadeyle aynı yayımcının birden çok teklifi kapsayan bir lisans) henüz desteklenmediğinden.

Power BI özel görseli yayımlama

Başka sorunuz var mı? Power BI Topluluğu sormayı deneyin