Splash Screen In PowerApps, An Alternative To App OnStart

Introduction

In this blog, we will learn how to create spash screen or loading screen in PowerApps. As we know that OnStart property of PowerApps will be deprecated soon, we do need to find some alternative to it. Yes, there is another property StartScreen introduced but it will not help us in some scenarios where we need to execute some logic or some type of complex deep-linking.

Splash screen

I will try to be specific here with the controls that I have used for splash screen/loading screen.

  1. LoadingGIF - Image - to show loading image
  2. LoadingText - label - to show message of actual progress
  3. Timer - to wait for specific time on spalsh screen then move to main screen

What we can do in this spash screen

  1. We can initialize global variables and collections
  2. Execute initial logic as per requirements / the deep linking on some conditions can go here.
Control Name Property Value Comments
SplashScreen OnVisible UpdateContext({Messge:"Initializing global variables and other stuff...."}) NOTE: you can initialize your variables and collection here
LoadingTimer Visible false  
LoadingTimer OnTimerEnd UpdateContext({Messge:"Executing global logic and navigating to main screen...."});
Navigate(DeepLinkingPage1);
NOTE: you can do some initial logic execution here like deep linking

Please set SpashScreen(ScreenName) as StartScreen of App, so by default your app shows splash screen as first screen.

NOTE
I am attaching here powerapps exported file so you can take a reference from it. There may have some errors regarding datasource but you don't need to fix that as a part of your splash screen.