Vynucení licencování a transactability (Public Preview)
Při vytváření vizuálů Power BI ke stažení na AppSource teď můžete spravovat a vynucovat jejich licence pomocí systémů Microsoftu. Koncový uživatel přiřazuje a spravuje licence pomocí známých nástrojů, jako je Centrum pro správu Microsoftu 365, a rozhraní API pro licencování umožňuje vynutit tyto licence a zajistit, aby vizuály mohli vykreslit jenom licencovaní uživatelé.
Proces vynucení licencí
Následující tabulka ukazuje kroky, které se týkají správy licencí vizuálů prostřednictvím Microsoftu:
Krok | Detaily |
---|---|
Vytvoření nabídky v Partnerském centru | Zvolte transakce prostřednictvím komerčního systému Microsoftu. Povolte Microsoftu spravovat licence. Nastavte ceny a dostupnost. |
Přidání vynucení licencí do balíčku vizuálu Power BI | Vytvořte nebo překonfigurujte balíček tak, aby používal licenci modulu runtime Power BI, která vynucuje licencování podle přístupu jednotlivých uživatelů. |
Zákazníci zjistí vaši nabídku v AppSource a kupí si předplatné. | Když si zákazníci koupí nabídku v AppSource, získají také licence pro vizuál Power BI. |
Zákazníci spravují svá předplatná a přiřazují nebo nepřiřazují uživatelské licence | Zákazníci spravují předplatná a přiřazují licence pro tyto vizuály a nabídky v Centrum pro správu Microsoftu 365 stejně jako u kteréhokoliv jiného předplatného, jako je Office nebo Power BI. |
Vynucení kontrol za běhu | Poskytněte svým zákazníkům jednotné prostředí pomocí našich předefinovaných rozhraní API k vynucení kontrol licencí za běhu. |
Zobrazení sestav pro růst paliva | Získejte přehled o výnosech, informacích o výplatách a podrobnostech o objednávce a licenci. Umožňuje zobrazit informace o licencích a objednávkách zakoupených, obnovených a zrušených v průběhu času a podle zeměpisu. |
Rozhraní API pro licencování
Rozhraní API pro licencování umožňuje vývojářům vizuálů Power BI vynucovat licence vizuálů Power BI. Rozhraní API podporuje načtení informací o licencích vizuálů Power BI přiřazených uživateli Power BI. Umožňuje také aktivovat oznámení související s licencováním, která se zobrazí ve vizuálu Power BI, a informovat uživatele, že si musí koupit chybějící licence. Vizuál by neměl zobrazovat vlastní uživatelské prostředí licencování, místo toho použijte jedno z předdefinovaných oznámení podporovaných Power BI, jak je podrobně popsáno v následujících částech.
Další informace o licencování Power BI najdete vynucování licencí.
Poznámka:
Rozhraní API pro licencování je k dispozici ve verzi 4.7. Pokud chcete zjistit, kterou verzi používáte, podívejte se do apiVersion
souboru pbiviz.json .
Načtení plánů služeb vizuálu přiřazených aktivnímu uživateli
Pokud chcete získat přiřazené plány služeb, přidejte volání getAvailableServicePlans
(dostupné prostřednictvím IVisualLicenseManager
).
Z hlediska výkonu se pokuste o načtení licencí jednou, nejlépe v constructor
voláních nebo init
voláních, a uložte výsledek.
Po načtení licencí se během relace Power BI ukládají do mezipaměti na straně hostitele Power BI a všechna další volání, která vrátí data uložená v mezipaměti.
export interface IVisualLicenseManager {
getAvailableServicePlans(): IPromise<powerbi.extensibility.visual.LicenseInfoResult>;
}
Načtení licencí může být dlouhá operace, takže getAvailableServicePlans
volání je asynchronní volání a mělo by se zpracovat jako takový v kódu.
Jako odpověď na volání metody LicenseInfoResult
je vrácen objekt.
export interface LicenseInfoResult {
plans: ServicePlan[] | undefined;
isLicenseUnsupportedEnv: boolean;
isLicenseInfoAvailable: boolean;
}
plans
– pole plánů služeb zakoupených aktivním uživatelem pro tento vizuál. (Licence zakoupené pro všechny ostatní vizuály nejsou součástí odpovědi.)
ServicePlan obsahuje identifikátor služby (spIdentifier) a jeho stav (ServicePlanState).spIdentifier: řetězcová hodnota ID služby vygenerovaná při konfiguraci plánů vaší nabídky v Partnerském centru (viz následující příklad)
state – výčet (ServicePlanState), který představuje stav přiřazených plánů.
Podporované stavy plánu služeb:Stát Popis Neaktivní Označuje, že licence není aktivní a neměla by se používat pro výhody zřizování. Aktivní Označuje, že licence je aktivní a dá se použít pro výhody zřizování. Upozorňující Označuje, že licence je pravděpodobně v období odkladu kvůli porušení platby. Dočasně blokován. Označuje, že licence je pravděpodobně pozastavena kvůli porušení platby. Neznámý Hodnota Microsoft Sentinelu Pouze aktivní stavy a stavy upozornění představují použitelnou licenci. Všechny ostatní státy by se měly považovat za nepovolitelné licence.
isLicenseUnsupportedEnv
– označuje, že se vizuál vykresluje v prostředí Power BI, které nepodporuje správu nebo vynucování licencí. V současné době následující prostředí Power BI nepodporují správu licencí ani vynucení licencí:- Vložené – publikování na webu, vložení PaaS
- Národní/regionální cloudy (závisí na obecné podpoře transaktability v národních/regionálních cloudech)
- RS Server (žádná plánovaná podpora)
- Export (PDF\PPT) pomocí rozhraní REST API
isLicenseInfoAvailable
– Určuje, jestli se dají načíst informace o licencích. K chybě při načítání licencí může dojít v případě, že uživatel Power BI Desktopu není přihlášený nebo není připojený k internetu (offline). U webu může načítání licencí selhat kvůli dočasnému výpadku služby.
Příklad volání getAvailableServicePlans
pro načtení plánů služeb uživatele pro tento vizuál:
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);
});
Poznámka:
Tento příklad ukazuje, jak ověřit, jestli má uživatel pro tento vizuál platné plány. Pole plans
může obsahovat různé spIdentifier
hodnoty a každý identifikátor se může zobrazit vícekrát s různými stavy.
Upozornit uživatele, že chybí požadované licence
Platforma Power BI nabízí několik předvyhlevaných prostředí, která se dají použít k upozornění:
- Licence by se měly zakoupit, aby bylo možné využívat možnosti úplného vizuálu.
- Funkce konkrétního vizuálu je zablokovaná kvůli chybějícím licencím
- Celý vizuál je zablokovaný kvůli chybějícím licencím
- Celý vizuál je blokovaný, protože používané prostředí Power BI nepodporuje správu licencí\vynucení
export interface IVisualLicenseManager {
notifyLicenseRequired(notificationType: LicenseNotificationType): IPromise<boolean>;
notifyFeatureBlocked(tooltip: string): IPromise<boolean>;
clearLicenseNotification(): IPromise<boolean>;
}
Příklad volání notifyLicenseRequired
:
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);
});
}
Obecná ikona označující, že chybí požadovaná licence
Voláním LicenseNotificationType.General
můžete notifyLicenseRequired
zobrazit ikonu jako součást kontejneru vizuálu.
Po aktivaci se ikona zachovají po celou dobu života vizuálu, dokud clearLicenseNotification
se nevolají nebo notifyLicenseRequired
se volají.
Poznámka:
Oznámení LicenseNotificationType.General
se vynucuje jenom z prostředí, které podporuje správu licencování a ve scénářích úprav Power BI. Volání v nepodporovaném prostředí nebo v případě, že je sestava v režimu čtení nebo na řídicím panelu, nepoužije ikonu a vrátí se false
v odpovědi volání.
Příklad zobrazení vizuálu, který obsahuje obecnou ikonu "Licence jsou povinné":
Překrytí zobrazení vizuálu chybějícím oznámením o licenci
Voláním notifyLicenseRequired
LicenseNotificationType.VisualIsBlocked
překryjte zobrazení vizuálu oznámením, že vizuál je zablokovaný, protože chybí požadované licence.
Po aktivaci se toto oznámení zachovají po celou dobu životnosti vizuálu, dokud clearLicenseNotification
se nevolají nebo notifyLicenseRequired
se volají.
Příklad zobrazení vizuálu obsahujícího oznámení o zablokování vizuálu Power BI Desktop zobrazí jenom možnost Získat licenci :
Překryv zobrazení vizuálu oznámením o nepodporovaném prostředí
Voláním LicenseNotificationType.UnsupportedEnv
překryjte notifyLicenseRequired
zobrazení vizuálu oznámením, že vizuál je blokovaný, protože power BI nepoužívá správu licencí\vynucení.
Po aktivaci se ikona zachovají po celou dobu života vizuálu, dokud clearLicenseNotification
se nevolají nebo notifyLicenseRequired
se volají.
Poznámka:
Oznámení LicenseNotificationType.UnsupportedEnv
se vynucuje pouze v kontextu nepodporovaného licenčního prostředí. Volání v jakémkoli jiném prostředí nepoužije oznámení a vrátí se false
v odpovědi volání.
Příklad zobrazení vizuálu obsahujícího oznámení Nepodporované prostředí:
Zobrazení banneru s oznámením, že se nepodařilo použít funkce konkrétního vizuálu
Když použijete funkce konkrétního vizuálu, potřebujete chybějící licence, můžete použít notifyFeatureBlocked
volání, které zobrazí automaticky otevíraný banner jako součást kontejneru vizuálu. Banner také podporuje vlastní popis, který můžete nastavit a použít k poskytnutí dalších informací o funkci, která aktivovala oznámení.
Poznámka:
Funkce je blokovaná oznámení se vynucuje pouze v případech, kdy platí obě následující podmínky:
- Volá se z podporovaného licenčního prostředí.
- Blokování překrytí se nepoužije (
LicenseNotificationType.UnsupportedEnv
,LicenseNotificationType.VisualIsBlocked
).
Volání tohoto oznámení v nepodporovaném prostředí nepoužije oznámení a vrátí se false
v odpovědi na volání.
Poznámka:
Pokud chcete podporovat lokalizované prostředí Power BI, doporučujeme udržovat lokalizované verze popisů, které se používají. K načtení jazyka národního prostředí Power BI použijte lokalizační rozhraní API .
Po aktivaci se banner zobrazí po dobu 10 sekund nebo dokud se neaktivuje jiný banner "funkce blokovaný", nebo dokud clearLicenseNotification
se nevolá (cokoli přijde jako první).
Příklad zobrazení vizuálu obsahujícího oznámení banneru "Funkce je blokované":
Testování licencovaného vizuálu
Testování konce licencovaného vizuálu před zveřejněním veřejně dostupného vizuálu:
- Pokud vytváříte úplně novou nabídku, přidejte vizuál jako soukromý plán testovacího zákaznického účtu. Nabídka je viditelná pouze pro tento testovací účet pro nákup. Tento účet použijte k ověření nabídky před jejím zveřejněním.
- Pokud už je vizuál dostupný v AppSource a chcete ho upgradovat na licencovaný vizuál, nemůžete ho nastavit jako soukromý plán, protože se tím vizuál skryje z AppSource a stávající uživatelé k němu nebudou mít přístup. V současné době neexistuje způsob, jak otestovat publikovaný vizuál až do konce. Otestujte ho stejným způsobem, jakým jste testovali původní vizuál na AppSource, a to napodobováním hodnoty licenčního rozhraní API, abyste zkontrolovali různé možnosti.
Úvahy a omezení
- Popis pro banner funkce je omezený na 500 znaků.
- Popis pro banner funkce vyžaduje lokalizaci.
- Sdružování licencí (tj. jedna licence, která pokrývá více nabídek od stejného vydavatele), se zatím nepodporuje.
Související obsah
Publikování vlastního vizuálu Power BI
Máte ještě další otázky? Zkuste se zeptat Komunita Power BI