App Informationen in Power Apps anzeigen

In einer App in Power App ist es sehr hilfreich, wenn man grundlegende Informationen innerhalb einer App abfragen und anzeigen kann. Beispiele hierfür sind die aktuell installierte Version der App. Aber auch die App-ID und der/die Owner der App. Dies hilft beispielsweise bei Problemen die ein Benutzer meldet, um zu verifizieren, ob schon die neueste Version verwendet wird, oder ob mit einem alten Stand gearbeitet wird.
In meinen Apps baue ich deshalb immer einen Bildschirm ein, auf dem die grundlegenden Informationen angezeigt werden. Diese sind durch ein Icon abrufbar:

Auf einer eigenen Seite werden dann die Infos zur App angezeigt:

Power Apps Informationen

Leider sind nicht alle dieser Daten (Description, App-Id, letzte freigegebene Version, App owner) so ohne weiteres für die App abrufbar. Seit es den Connector Power Apps For Makers gibt, lässt sich dies einigermassen moderat (wenn man die Datenstruktur verstanden hat) erledigen.

Der Connector greift auf alle App Informationen zu, auf welche der jeweilige Benutzer Zugriff hat. Es stehen verschiedene Aktionen zur Verfügung. Unter anderem

  • GetApps(): Liefert eine Liste von Apps zurück
  • GetApp(): Liefert Informationen für eine bestimmte App. Benötigt als Übergabeparameter die App-ID.
  • GetAppVersions(): Liefert alle Versionen der App. Benötigt als Übergabeparameter die App-ID.

Etliche Actions benötigen die App-ID als Übergabeparameter. Man könnte nun versucht sein, diese als Variable in der App zu hinterlegen. Problematisch ist dieser Ansatz aber deshalb, weil die App-ID ändert, wenn man die App in einen anderen Tenant oder eine andere Umgebung (Environment) installiert. Der praktikablere Ansatz ist deshalb den Namen der App als fixen Wert zu hinterlegen und diesen dann zu verwenden, um die App aus der Liste der Apps herauszufiltern.

Wer sich näher für den Connector Power Apps for Makers interessiert, der sollte sich die Power App Connector Browser tool herunterladen in die eigene Power Apps Umgebung importieren. Siehe hierzu auch den folgenden Blog Beitrag: https://powerapps.microsoft.com/en-us/blog/new-connectors-for-powerapps-and-flow-resources/

Um die obigen Informationen anzuzeigen, kann man wie nachfolgend beschrieben vorgehen:

Zuerst einen neuen Screen einfügen:

Ich verwende einen Blank Screen, um flexibler in der Gestaltung zu sein. Danach ein farblich gefülltes Rechteck und ein Label für den Titel einfügen und den Screen entsprechend benennen:

In der OnVisible Action des neu erstellten Screens definieren wir nun eine Kontext Variable (nur gültig innerhalb des Screens):

UpdateContext({MyAppName: "Shopping App"});

Diese dient dazu, um die App nachher aus der Liste der Apps herauszufinden.

Als nächstes ermitteln wir die eigene App und die App ID und legen diese Werte in jeweils einer Kontext Variable ab in der OnVisible Action:

UpdateContext({MyApp:First(Filter(PowerAppsforMakers.GetApps().value,properties.displayName=MyAppName))});
UpdateContext({MyAppID:First(Filter(PowerAppsforMakers.GetApps().value,properties.displayName=MyAppName)).name});

Wir nutzen dazu den Power Apps for Makers Connector und holen die Liste der Apps, die dann mit dem Namen der App gefiltert wird.

Die App ID steckt in der Eigenschaft name.

Die Befehle in der OnVisible Action des Screens sehen somit wie folgt aus:

Nun können wir für jede Information ein Label hinzufügen und in der Text Eigenschaft die Daten ermitteln:

Beschreibung:

"Description: "& MyApp.properties.description

App-ID:

"App-Id: " & MyAppID

Version:

"Published Version: " & Text(MyApp.properties.appVersion,"dd.mm.yyyy hh:mm")

Hinweis: Einen Wehrmutstropfen hat die Anzeige der Version über diese Methode: Es handelt sich immer um die zuletzt veröffentlichte Version der App und nicht um die Version der aktuell laufenden App. Dies wird leider von Microsoft nicht angeboten. Da die Aktualisierung einer App automatisch dem Benutzer angeboten wird, hat Microsoft wahrscheinlich keine Notwendigkeit gesehen, dies umzusetzen.

Was einem in diesem Fall nur bleibt, ist dass man selbst eine Versionsnummer verwaltet. Z.B. in einer globalen Variable in der OnStart Action der App:

Zugegebenermassen eine nicht gerade ideale Methode, aber momentan bietet Microsoft keinen eleganteren Weg an.

Wer sich mehr für die Versionen innerhalb des Power Apps for Makers Connector interessiert, dem kann ich folgenden Blog Beitrag und Video empfehlen:

https://dysfunctionalconsultant.com/powerapps-canvas-apps-how-to-display-the-version-number-inside-the-app/

 

Umgebung: Auch diese Info kann mit Hilfe des App Objektes abgerufen werden. Das ist hilfreich, um zu identifizieren, ob die App in der produktiven Umgebung läuft oder vielleicht in der Entwicklungs- oder Testumgebung.

"Environment: " & MyApp.properties.environment.name

Owner:

"Owner: " & MyApp.properties.owner.displayName

 

Nach ein paar Formatierungen sieht das dann aus, wie im obigen Screenshot gezeigt.

0 Comments

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert