Afdwinging van licenties en transactabiliteit (openbare preview)
Wanneer u Power BI-visuals maakt om te downloaden op AppSource, kunt u nu hun licenties beheren en afdwingen met behulp van Microsoft-systemen. De eindgebruiker wijst licenties toe en beheert deze met behulp van vertrouwde hulpprogramma's, zoals Microsoft 365-beheercentrum, en met de licentie-API kunt u deze licenties afdwingen en ervoor zorgen dat alleen gelicentieerde gebruikers de visuals kunnen weergeven.
Proces voor het afdwingen van licenties
In de volgende tabel ziet u de stappen voor het beheren van uw visuele licenties via Microsoft:
Stap | DETAILS |
---|---|
Een aanbieding maken in Partnercentrum | Kies ervoor om transacties uit te voeren via het Microsoft Commerce-systeem. Schakel Microsoft in om licenties te beheren. Stel prijzen en beschikbaarheid in. |
Licentie afdwingen toevoegen aan uw Power BI-visualpakket | Maak of configureer uw pakket om de Power BI Runtime-licentie te gebruiken, waardoor licenties worden afgedwongen op basis van de toegang van elke gebruiker. |
Klanten ontdekken uw aanbieding in AppSource en kopen een abonnement | Wanneer klanten uw aanbieding kopen in AppSource, krijgen ze ook licenties voor de Power BI-visual. |
Klanten beheren hun abonnementen en toewijzen/intrekken van gebruikerslicenties | Klanten beheren abonnementen en wijzen licenties toe voor deze visuals en aanbiedingen in de Microsoft 365-beheercentrum, net zoals ze doen voor een van hun andere abonnementen, zoals Office of Power BI. |
Runtimecontroles afdwingen | Geef uw klanten een uniforme ervaring door gebruik te maken van onze kant-en-klare API's om runtimelicentiecontroles af te dwingen. |
Rapporten weergeven voor brandstofgroei | Krijg inzicht in omzet, uitbetalingsgegevens en order- en licentiegegevens. Bekijk informatie over licenties en bestellingen die zijn gekocht, verlengd en geannuleerd in de loop van de tijd en per geografie. |
Licentie-API
Met de licentie-API kunnen Power BI-visualontwikkelaars power BI-visuallicenties afdwingen. De API biedt ondersteuning voor het ophalen van de informatie over Power BI-visuallicenties die zijn toegewezen aan de Power BI-gebruiker. Hiermee kunt u ook de licentiegerelateerde meldingen activeren die worden weergegeven in de Power BI-visual en de gebruiker informeren dat ze de ontbrekende licenties moeten aanschaffen. In de visual mag geen eigen licentie-UX worden weergegeven. Gebruik in plaats daarvan een van de vooraf gedefinieerde meldingen die door Power BI worden ondersteund, zoals beschreven in de volgende secties.
Meer informatie over Power BI-licenties raadpleegt u het afdwingen van licenties.
Notitie
De licentie-API is beschikbaar vanaf versie 4.7. Als u wilt achterhalen welke versie u gebruikt, controleert u het apiVersion
bestand in het pbiviz.json .
De serviceplannen van visuals ophalen die zijn toegewezen aan de actieve gebruiker
Als u serviceplannen wilt toewijzen, voegt u een aanroep toe ( getAvailableServicePlans
beschikbaar via IVisualLicenseManager
).
Probeer de licenties één keer op te halen, bij voorkeur in de constructor
of de init
aanroepen en sla het resultaat op.
Zodra licenties zijn opgehaald, worden ze in de cache opgeslagen op de Power BI-hostzijde tijdens de Power BI-sessie en worden verdere aanroepen naar dezelfde gegevens in de cache geretourneerd.
export interface IVisualLicenseManager {
getAvailableServicePlans(): IPromise<powerbi.extensibility.visual.LicenseInfoResult>;
}
Het ophalen van de licenties kan een lange bewerking zijn, dus de getAvailableServicePlans
aanroep is een asynchrone aanroep en moet als zodanig worden verwerkt in uw code.
Als reactie op het aanroepen van de methode wordt LicenseInfoResult
het object geretourneerd.
export interface LicenseInfoResult {
plans: ServicePlan[] | undefined;
isLicenseUnsupportedEnv: boolean;
isLicenseInfoAvailable: boolean;
}
plans
- een matrix met serviceabonnementen die zijn aangeschaft door de actieve gebruiker voor deze visual. (Licenties die zijn aangeschaft voor andere visuals, worden niet opgenomen in het antwoord.)
Een ServicePlan bevat de service-id (spIdentifier) en de status (ServicePlanState).spIdentifier: de tekenreekswaarde van de service-id die wordt gegenereerd wanneer u de abonnementen van uw aanbieding configureert in Partnercentrum (zie het volgende voorbeeld)
state – enum (ServicePlanState) die de status van de toegewezen plannen vertegenwoordigt.
Ondersteunde statussen van serviceplannen:Toestand Beschrijving Niet-actief Geeft aan dat de licentie niet actief is en niet mag worden gebruikt voor inrichtingsvoordelen. Actief Geeft aan dat de licentie actief is en kan worden gebruikt voor inrichtingsvoordelen. Waarschuwing Geeft aan dat de licentie zich in respijtperiode bevindt die waarschijnlijk te wijten is aan een schending van de betaling. Onderbroken Geeft aan dat de licentie waarschijnlijk is opgeschort vanwege een schending van de betaling. Onbekend Microsoft Sentinel-waarde. Alleen de actieve en waarschuwingsstatussen vertegenwoordigen een bruikbare licentie. Alle andere statussen moeten worden behandeld als niet resulteren in een bruikbare licentie.
isLicenseUnsupportedEnv
- geeft aan dat de visual wordt weergegeven in een Power BI-omgeving die geen ondersteuning biedt voor licentiesbeheer of afdwingen. Momenteel bieden de volgende Power BI-omgevingen geen ondersteuning voor licentiebeheer of het afdwingen van licenties:- Ingesloten - Publiceren op internet, PaaS insluiten
- Nationale/regionale clouds (is afhankelijk van algemene ondersteuning voor transactabiliteit in nationale/regionale clouds)
- RS Server (geen geplande ondersteuning)
- Exporteren (PDF\PPT) met REST API
isLicenseInfoAvailable
- Geeft aan of de licentiegegevens kunnen worden opgehaald. Fout bij het ophalen van licenties kan optreden als de Power BI Desktop-gebruiker niet is aangemeld of niet is verbonden met internet (offline). Voor web kan het ophalen van licenties mislukken vanwege een tijdelijke servicestoring.
Voorbeeld van het aanroepen getAvailableServicePlans
om de serviceabonnementen van de gebruiker voor deze visual op te halen:
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);
});
Notitie
In dit voorbeeld ziet u alleen hoe u kunt controleren of de gebruiker geldige abonnementen voor deze visual heeft. De plans
matrix kan verschillende spIdentifier
waarden bevatten en elke id kan meerdere keren worden weergegeven met verschillende statussen.
De gebruiker op de hoogte stellen dat de vereiste licenties ontbreken
Power BI-platform biedt verschillende kant-en-klare ervaringen die kunnen worden gebruikt om het volgende te melden:
- Licenties moeten worden aangeschaft om te kunnen profiteren van de mogelijkheden van de volledige visual
- De functie van een bepaalde visual wordt geblokkeerd vanwege ontbrekende licenties
- Volledige visual wordt geblokkeerd vanwege ontbrekende licenties
- Volledige visual wordt geblokkeerd omdat de Power BI-omgeving die wordt gebruikt geen ondersteuning biedt voor licentiebeheer\afdwingen
export interface IVisualLicenseManager {
notifyLicenseRequired(notificationType: LicenseNotificationType): IPromise<boolean>;
notifyFeatureBlocked(tooltip: string): IPromise<boolean>;
clearLicenseNotification(): IPromise<boolean>;
}
Voorbeeld van bellen 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);
});
}
Algemeen pictogram dat aangeeft dat een vereiste licentie ontbreekt
Gebruik notifyLicenseRequired
aanroep met LicenseNotificationType.General
om een pictogram weer te geven als onderdeel van de container van de visual.
Zodra dit is geactiveerd, blijft het pictogram gedurende de levensduur van de visual behouden tot clearLicenseNotification
of notifyLicenseRequired
worden aangeroepen.
Notitie
De LicenseNotificationType.General
melding wordt alleen afgedwongen vanuit een omgeving die licentiebeheer en voor Power BI-bewerkingsscenario's ondersteunt. Als u dit aanroept in een niet-ondersteunde omgeving of wanneer het rapport zich in de leesmodus of in het dashboard bevindt, wordt het pictogram niet toegepast en wordt het antwoord van de oproep geretourneerd false
.
Voorbeeld van de visualweergave met het algemene pictogram 'Licenties zijn vereist':
Overlay van de weergave van de visual met een ontbrekende licentiemelding
Gebruik notifyLicenseRequired
een aanroep om LicenseNotificationType.VisualIsBlocked
de weergave van de visual over te leggen met een melding dat de visual wordt geblokkeerd omdat de vereiste licenties ontbreken.
Zodra deze melding is geactiveerd, blijft deze melding gedurende de levensduur van de visual behouden tot clearLicenseNotification
of notifyLicenseRequired
worden aangeroepen.
Voorbeeld van de visuele weergave met de melding dat de visual is geblokkeerd . In Power BI Desktop wordt alleen de optie Een licentie ophalen weergegeven:
De weergave van de visual overlayen met een niet-ondersteunde omgevingsmelding
Gebruik notifyLicenseRequired
een aanroep om LicenseNotificationType.UnsupportedEnv
de weergave van de visual over te leggen met een melding dat de visual wordt geblokkeerd, omdat de power BI die in gebruik is geen ondersteuning biedt voor licentiesbeheer\afdwingen.
Zodra dit is geactiveerd, blijft het pictogram gedurende de levensduur van de visual behouden tot clearLicenseNotification
of notifyLicenseRequired
worden aangeroepen.
Notitie
De LicenseNotificationType.UnsupportedEnv
melding wordt alleen afgedwongen wanneer deze wordt aangeroepen in de context van niet-ondersteunde licentieomgevingen. Als u dit in een andere omgeving aanroept, wordt de melding niet toegepast en wordt deze geretourneerd false
in het antwoord van de oproep.
Voorbeeld van de visualweergave met de melding 'Niet-ondersteunde omgeving':
Een banner weergeven met de melding dat de functionaliteit van een specifieke visual niet kan worden toegepast
Wanneer u de functionaliteit van een specifieke visual toepast, zijn licenties vereist die ontbreken, kunt u de notifyFeatureBlocked
aanroep gebruiken waarmee een pop-upbanner wordt weergegeven als onderdeel van de container van de visual. De banner ondersteunt ook aangepaste knopinfo die u kunt instellen en gebruiken om aanvullende informatie te geven over de functie die de melding heeft geactiveerd.
Notitie
De melding wordt alleen geblokkeerd wanneer beide voorwaarden van toepassing zijn:
- Het wordt aangeroepen vanuit een ondersteunde licentieomgeving
- Blokkerende overlays worden niet toegepast (
LicenseNotificationType.UnsupportedEnv
,LicenseNotificationType.VisualIsBlocked
).
Als u deze melding aanroept in een niet-ondersteunde omgeving, wordt de melding niet toegepast en wordt deze geretourneerd false
in het antwoord van de oproep.
Notitie
Om gelokaliseerde Power BI-omgeving te ondersteunen, raden we u aan gelokaliseerde versies van de gebruikte knopinfo te onderhouden. Gebruik de Lokalisatie-API om de landinstellingentaal van Power BI op te halen.
Zodra de banner is geactiveerd, wordt de banner gedurende 10 seconden weergegeven, of totdat een andere banner 'functie geblokkeerd' wordt geactiveerd of totdat clearLicenseNotification
deze wordt aangeroepen (wat het eerst wordt genoemd).
Voorbeeld van de visuele weergave met de bannermelding 'Functie geblokkeerd':
Een visual met licentie testen
Een gelicentieerd visueel element end-to-end testen voordat u deze openbaar beschikbaar maakt:
- Als u een gloednieuwe aanbieding maakt, voegt u de visual toe als een privéplan voor een test-klantaccount. De aanbieding is alleen zichtbaar voor dit testaccount voor aankoop. Gebruik dit account om de aanbieding te valideren voordat u deze openbaar maakt.
- Als uw visual al beschikbaar is in AppSource en u deze wilt upgraden naar een gelicentieerd visueel element, kunt u er geen privéabonnement van maken, omdat de visual hierdoor wordt verborgen in AppSource en uw bestaande gebruikers er geen toegang toe hebben. Er is momenteel geen manier om een gepubliceerde visual end-to-end te testen. Test deze op dezelfde manier als u de oorspronkelijke visual hebt getest in AppSource door de licentie-API-waarde te mocken om de verschillende mogelijkheden te controleren.
Overwegingen en beperkingen
- Knopinfo voor functiebanner wordt beperkt door 500 tekens.
- Voor knopinfo voor functiebanner is lokalisatie vereist.
- Licentiebundeling (dat wil gezegd, één licentie die betrekking heeft op meerdere aanbiedingen van dezelfde uitgever) wordt nog niet ondersteund.
Gerelateerde inhoud
Een aangepaste Power BI-visual publiceren
Meer vragen? Vraag het Power BI-community