Share via


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ünecek lisanslamayla ilgili bildirimlerin tetiklenmesine olanak tanır 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ğıda 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ı almak 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) Screenshot showing an example of a Service ID string.

    • 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 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 (yukarıdaki görüntüden hizmet kimliğini kullanarak):

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);
        });

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

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 her ikisi de geçerli olduğunda uygulanır: lisanslama ortamı ve Power BI Düzenleme senaryoları için desteklenir. Bunu desteklenmeyen bir ortamda veya rapor Okuma modunda veya panoda olduğunda çağırmak simgeyi uygulamaz ve aramanın yanıtında geri döner false .

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

visual display containing the

visual display containing the

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

Visual display containing the *visual blocked* notification.

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 aramanın yanıtında döndürülecektir false .

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

visual display containing the

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 bir başlık açılacak çağrıyı kullanabilirsiniz. Başlık ayrıca sizin tarafınızdan ayarlanabilen ve bildirimi tetikleyen özellik hakkında ek bilgi sağlamak için kullanılan özel bir araç ipucu destekler.

Not

Özellik engellendi bildirimi, yalnızca lisanslama ortamı için desteklenenler bağlamında çağrıldığında ve engelleme katmanlarının uygulanmadığında (LicenseNotificationType.UnsupportedEnv, LicenseNotificationType.VisualIsBlocked) zorlanır. Bu bildirimin desteklenmeyen bir ortamda çağrılması, bildirimi uygulamaz ve aramanın yanıtında döndürülü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:

visual display containing the

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ına görünür. 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 gizleyeceği 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 (aynı yayımcıdan gelen birden fazla teklifi kapsayan bir lisans) henüz desteklenmiyor.

Power BI özel görseli yayımlama

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