We have developed quite a few Canvas Apps which are all embedded in a model driven app. Running the Canvas App outside of the context of the model driven app does not make sense in our scenario. We would thus like to hide the Canvas App from the Power Apps player, the office portal, etc. Just like you have the ability to "mark an app as hero" we would like to the opposite, "hide" the app.
It seems that the Canvas App entity in Dataverse has a property "Is Hidden" which might seem exactly for our purpose. See docs. However I am not sure if it is supported to change the value using the API? Unlike the "mark as hero", there is no PowerShell command available.
Side-question: would changing the value of the property "IsHeroApp" in Dataverse be supported/sufficient? Or always need to go via Power Apps admin API/PowerShell?
Anyone has any experience or guidance?
I am also interested in this functionality. Did you find a way to hide embedded canvas from Power Apps mobile ?
Here is the posted idea : https://powerusers.microsoft.com/t5/Power-Apps-Ideas/Hide-embedded-canvas-app-in-Power-Apps-mobile/i...
If you'd like to vote.
We have a number of apps that are designed to only be launched from a model app (none of them are embeded on a model app form). All run inside the model app or the open a new browser tab. Since canvas apps, when launched via player, have no context to the host dataverse/CDS environment they are installed into they are unusable (broken?) apps by default. By launching them from a model app you can provide the needed Dataverse info context to the canvas app.
Since there is no way to stop someone from launching the app via the player, you might consider this:
1. Add a screen to your app that says it can't be launched from the player. Without navigation, they can't get to any other part of the app.
2. When launched by the player, the URL will have a param called "source" and it is set to "portal".
In your App OnStart code, get the param and check it for portal. If found, force the screen navigation to your bad launch page.
Here is a code example from our D365 event registration canvas app with a screenshot:
/// In start up of app, check URL for param of where it was launched from
//// SET STARTING SCREEN
Set(_evxGoToStartScreen, If(!IsBlank(_evxThisAppSource), _evxThisAppSource, _evxThisAppStartScreen) );
Switch( _evxGoToStartScreen ,
"businessappdiscovery", Navigate('Failed Launch Screen', ScreenTransition.None),
"portal", Navigate('Failed Launch Screen', ScreenTransition.None),
Hopefully this will give you some ideas.
Check out new user group experience and if you are a leader please create your group
Check out how to claim yours today!
Test your skills now with the Cloud Skill Challenge.
We are excited to announce that Demo Extravaganza for 2021 has started!
On-demand access to all the great content presented by the product teams and community members! #MSBizAppsSummit #CommunityRocks