Håndhævelse af licenser og transaktabilitet (offentlig prøveversion)
Når du opretter Power BI-visualiseringer til download på AppSource, kan du nu administrere og gennemtvinge deres licenser ved hjælp af Microsoft-systemer. Slutbrugeren tildeler og administrerer licenser ved hjælp af velkendte værktøjer, f.eks. Microsoft 365 Administration, og med licens-API'en kan du gennemtvinge disse licenser og sikre, at det kun er brugere med licens, der kan gengive visualiseringerne.
Håndhævelsesproces for licens
I følgende tabel illustreres de trin, der er involveret i administration af dine visuallicenser via Microsoft:
Trin | Oplysninger |
---|---|
Opret et tilbud i Partnercenter | Vælg at handle via Microsofts handelssystem. Giv Microsoft mulighed for at administrere licenser. Angiv priser og tilgængelighed. |
Føj håndhævelse af licenser til din Power BI-visualiseringspakke | Opret eller omkonfigurer din pakke for at bruge Power BI-kørselslicensen, som gennemtvinger licenser i henhold til hver brugers adgang. |
Kunder finder dit tilbud i AppSource og køber et abonnement | Når kunderne køber dit tilbud i AppSource, får de også licenser til Power BI Visual. |
Kunder administrerer deres abonnementer og tildeler/fjerner tildeling af brugerlicenser | Kunder administrerer abonnementer og tildeler licenser til disse visualiseringer og tilbud i Microsoft 365 Administration på samme måde, som de gør for deres andre abonnementer, f.eks. Office eller Power BI. |
Gennemtving kørselskontroller | Giv dine kunder en ensartet oplevelse ved at bruge vores indbyggede API'er til at gennemtvinge kørselslicenskontroller. |
Få vist rapporter om brændstofvækst | Få indsigt i oplysninger om omsætning, betalingsoplysninger samt ordre- og licensoplysninger. Få vist oplysninger om licenser og ordrer, der er købt, fornyet og annulleret over tid og efter geografi. |
Licens-API
Licens-API'en gør det muligt for udviklere af Power BI-visualiseringer at gennemtvinge Power BI-visuallicenser. API'en understøtter hentning af oplysninger om Power BI-visualiseringslicenser, der er tildelt Power BI-brugeren. Det gør det også muligt at udløse de licensrelaterede meddelelser, der vises i Power BI-visualiseringen, og informere brugeren om, at de skal købe de manglende licenser. Visualiseringen skal ikke vise sin egen licens-UX, i stedet bruge en af de foruddefinerede meddelelser i Power BI, der understøttes, som beskrevet i følgende afsnit.
Få mere at vide om Power BI-licenser under håndhævelse af licenser.
Bemærk
Licens-API'en er tilgængelig fra version 4.7. Hvis du vil finde ud af, hvilken version du bruger, skal du se apiVersion
i filen pbiviz.json .
Hent visualiseringens tjenesteplaner, der er tildelt den aktive bruger
Hvis du vil have tildelt tjenesteplaner, skal du føje et opkald til getAvailableServicePlans
(tilgængelig via IVisualLicenseManager
).
Fra ydeevneperspektiv skal du forsøge at hente licenserne én gang, helst i constructor
eller opkaldene init
, og gemme resultatet.
Når licenser er hentet, cachelagres de på Power BI-værtssiden under Power BI-sessionen, og eventuelle yderligere kald til det samme returnerer de cachelagrede data.
export interface IVisualLicenseManager {
getAvailableServicePlans(): IPromise<powerbi.extensibility.visual.LicenseInfoResult>;
}
Hentning af licenserne kan være en lang handling, og getAvailableServicePlans
derfor er kaldet et asynkront kald og skal håndteres som sådan i din kode.
Som svar på kald af metoden LicenseInfoResult
returneres objektet.
export interface LicenseInfoResult {
plans: ServicePlan[] | undefined;
isLicenseUnsupportedEnv: boolean;
isLicenseInfoAvailable: boolean;
}
plans
– en matrix af serviceplaner, der er købt af den aktive bruger til denne visualisering. (Licenser, der er købt til andre visualiseringer, er ikke inkluderet i svaret).
En ServicePlan indeholder tjeneste-id'et (spIdentifier) og dens tilstand (ServicePlanState).spIdentifier: Strengværdien for det tjeneste-id, der genereres, når du konfigurerer dit tilbuds planer i Partnercenter (se følgende eksempel)
state – enum (ServicePlanState), der repræsenterer tilstanden for de tildelte planer.
Understøttede serviceplantilstande:Delstat Beskrivelse Inaktiv Angiver, at licensen ikke er aktiv og ikke skal bruges til klargøring af fordele. Aktiv Angiver, at licensen er aktiv og kan bruges til klargøring af fordele. Advarsel! Angiver, at licensen er i en udvidet periode, hvilket sandsynligvis skyldes betalingsovertrædelse. Suspenderet Angiver, at licensen er suspenderet, sandsynligvis pga. betalingsovertrædelse. Ukendt Microsoft Sentinel-værdi. Det er kun de aktive og advarselstilstande , der repræsenterer en brugbar licens. Alle andre stater skal behandles som ikke resulterer i en brugbar licens.
isLicenseUnsupportedEnv
– angiver, at visualiseringen gengives i et Power BI-miljø, der ikke understøtter administration eller håndhævelse af licenser. I øjeblikket understøtter følgende Power BI-miljøer ikke licensstyring eller håndhævelse af licenser:- Embedded – Publicer på internettet, Paas-integrering
- Nationale/regionale cloudmiljøer (afhænger af generel understøttelse af transaktabilitet i nationale/regionale cloudmiljøer)
- RS Server (ingen planlagt support)
- Eksport (PDF\PPT) ved hjælp af REST API
isLicenseInfoAvailable
– Angiver, om licensoplysningerne kan hentes. Der kan opstå fejl i hentning af licenser, hvis Power BI Desktop-brugeren ikke er logget på eller ikke har forbindelse til internettet (offline). I forbindelse med web kan hentning af licenser mislykkes på grund af en midlertidig tjenesteafbrydelse.
Eksempel på kald getAvailableServicePlans
for at hente brugerens tjenesteplaner for denne visualisering:
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);
});
Bemærk
I dette eksempel vises det kun, hvordan du kontrollerer, om brugeren har gyldige planer for denne visualisering. Matrixen plans
kan indeholde forskellige spIdentifier
værdier, og hvert id kan vises flere gange med forskellige tilstande.
Giv brugeren besked om, at de påkrævede licenser mangler
Power BI-platformen indeholder flere funktioner, der kan bruges til at give besked:
- Licenser skal købes for at få glæde af den fulde visualiserings funktioner
- Funktionen for en bestemt visualisering er blokeret på grund af manglende licenser
- Hele visualiseringen er blokeret på grund af manglende licenser
- Hele visualiseringen er blokeret, fordi det Power BI-miljø, der er i brug, ikke understøtter licensstyring\håndhævelse
export interface IVisualLicenseManager {
notifyLicenseRequired(notificationType: LicenseNotificationType): IPromise<boolean>;
notifyFeatureBlocked(tooltip: string): IPromise<boolean>;
clearLicenseNotification(): IPromise<boolean>;
}
Eksempel på kald notifyLicenseRequired
af :
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);
});
}
Generelt ikon, der angiver, at en påkrævet licens mangler
Brug notifyLicenseRequired
kald med LicenseNotificationType.General
til at få vist et ikon som en del af visualiseringens objektbeholder.
Når det udløses, bevares ikonet i hele visualiseringens levetid, indtil clearLicenseNotification
eller notifyLicenseRequired
kaldes.
Bemærk
Meddelelsen LicenseNotificationType.General
gennemtvinges kun fra et miljø, der understøtter licensstyring og power BI-redigeringsscenarier. Hvis du kalder dette i et miljø, der ikke understøttes, eller når rapporten er i læsetilstand eller på dashboardet, anvendes ikonet ikke, og det returneres false
i opkaldets svar.
Eksempel på den visuelle visning, der indeholder det generelle ikon "Licenser er påkrævet":
Overlejre visualiseringens visning med en manglende licensmeddelelse
Brug notifyLicenseRequired
kald sammen med LicenseNotificationType.VisualIsBlocked
til at overlejre visualiseringens visning med en meddelelse om, at visualiseringen er blokeret, da der mangler påkrævede licenser.
Når denne meddelelse er udløst, bevares den i hele visualiseringens levetid, indtil clearLicenseNotification
eller notifyLicenseRequired
kaldes.
Eksempel på den visuelle visning, der indeholder den blokerede visualiseringsmeddelelse. Power BI Desktop viser kun indstillingen Hent en licens :
Overlejr visualiseringens visning med en miljømeddelelse , der ikke understøttes
Brug notifyLicenseRequired
kald sammen med LicenseNotificationType.UnsupportedEnv
til at overlejre visualiseringens visning med en meddelelse om, at visualiseringen er blokeret, da den power BI, der er i brug, ikke understøtter administration\håndhævelse af licenser.
Når det udløses, bevares ikonet i hele visualiseringens levetid, indtil clearLicenseNotification
eller notifyLicenseRequired
kaldes.
Bemærk
Meddelelsen LicenseNotificationType.UnsupportedEnv
gennemtvinges kun, når den kaldes i forbindelse med ikke-understøttet for licensmiljøet. Hvis du kalder dette i et andet miljø, anvendes meddelelsen ikke, og den returneres false
i opkaldets svar.
Eksempel på den visuelle visning, der indeholder meddelelsen "Ikke-understøttet miljø":
Vis et banner med besked om, at en bestemt visualiserings funktionalitet ikke kunne anvendes
Når anvendelsen af en bestemt visualiserings funktionalitet kræver licenser, der blev fundet mangler, kan du bruge det notifyFeatureBlocked
kald, der viser et pop op-banner som en del af visualiseringens objektbeholder. Banneret understøtter også et brugerdefineret værktøjstip, som du kan angive og bruge til at angive yderligere oplysninger om den funktion, der udløste meddelelsen.
Bemærk
Funktionen er blokeret meddelelse gennemtvinges kun, når begge følgende betingelser gælder:
- Det kaldes fra et understøttet licensmiljø
- Der anvendes ikke blokeringsoverlejringer (
LicenseNotificationType.UnsupportedEnv
,LicenseNotificationType.VisualIsBlocked
).
Kald af denne meddelelse i et miljø, der ikke understøttes, anvender ikke meddelelsen og returnerer false
i opkaldets svar.
Bemærk
For at understøtte lokaliseret Power BI-miljø anbefaler vi, at du vedligeholder lokaliserede versioner af de værktøjstip, der er i brug. Brug Lokaliserings-API'en til at hente landestandardsproget i Power BI.
Når det udløses, vises banneret i 10 sekunder, eller indtil andre "funktionsblokerede" banner udløses, eller indtil clearLicenseNotification
kaldes (hvad der kommer først).
Eksempel på visualiseringsvisningen, der indeholder bannermeddelelsen "Funktion blokeret":
Test en visualisering med licens
Sådan tester du en licenseret visualisering, før du gør den offentligt tilgængelig:
- Hvis du opretter et helt nyt tilbud, kan du tilføje visualiseringen som en privat plan for en testkundekonto. Tilbuddet er kun synligt for denne testkonto til køb. Brug denne konto til at validere tilbuddet, før det bliver offentligt.
- Hvis din visualisering allerede er tilgængelig i AppSource, og du vil opgradere den til en visualisering med licens, kan du ikke gøre den til en privat plan , fordi det skjuler visualiseringen fra AppSource, og dine eksisterende brugere ikke har adgang til den. Der er i øjeblikket ingen måde at teste en publiceret visualisering fra ende til anden. Test det på samme måde, som du testede den oprindelige visualisering til AppSource, ved at gøre grin med licens-API-værdien for at kontrollere de forskellige muligheder.
Overvejelser og begrænsninger
- Værktøjstip til funktionsbanner er begrænset af 500 tegn.
- Værktøjstip til funktionsbanner kræver lokalisering.
- Licensbundling (dvs. én licens, der dækker flere tilbud fra den samme udgiver) understøttes endnu ikke.
Relateret indhold
Publicer en brugerdefineret Power BI-visualisering
Har du flere spørgsmål? Prøv at spørge Power BI-community'et