Share via


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 hieronder wordt beschreven.

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 in de cache aan de hostzijde van Power BI tijdens de Power BI-sessie en worden eventuele verdere aanroepen naar hetzelfde de 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) Screenshot showing an example of a Service ID string.

    • state – enum (ServicePlanState) die de status van de toegewezen plannen vertegenwoordigt.
      Ondersteunde statussen van serviceplannen:

      Provincie 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 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 aanroepen getAvailableServicePlans (met behulp van de service-id uit de bovenstaande afbeelding):

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

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

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 wanneer beide van toepassing zijn: ondersteund voor licentieomgeving- en Power BI-bewerkingsscenario's. 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':

visual display containing the

visual display containing the

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 . Power BI Desktop geeft alleen de optie Een licentie ophalen weer:

Visual display containing the *visual blocked* notification.

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 de melding geretourneerd false in het antwoord van de oproep.

Voorbeeld van de visualweergave met de melding 'Niet-ondersteunde omgeving':

visual display containing the

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 die een banner zal weergeven als onderdeel van de container van de visual. De banner ondersteunt ook aangepaste knopinfo die door u kan worden ingesteld en waarmee u aanvullende informatie kunt opgeven over de functie die de melding heeft geactiveerd.

Notitie

De functie wordt alleen geblokkeerd wanneer deze wordt aangeroepen in de context van de ondersteunde licentieomgeving en in het geval dat blokkeringen van overlays niet worden toegepast (LicenseNotificationType.UnsupportedEnv, LicenseNotificationType.VisualIsBlocked). Het aanroepen van deze melding in een niet-ondersteunde omgeving past de melding niet toe en retourneert false 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 10 seconden weergegeven, of totdat een andere banner 'functie geblokkeerd' wordt geactiveerd, of totdat clearLicenseNotification de banner wordt aangeroepen (wat het eerst wordt genoemd).

Voorbeeld van de visuele weergave met de bannermelding 'Functie geblokkeerd':

visual display containing the

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 het 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 visual met licentie, 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 (d.w.w.: één licentie die betrekking heeft op meerdere aanbiedingen van dezelfde uitgever) wordt nog niet ondersteund.

Een aangepaste Power BI-visual publiceren

Meer vragen? Vraag het Power BI-community