I wrote an OnBoarding page and then transitioned to Shell. You can't jump into the middle of a bunch of Shell pages, but you can transition from standard navigation to Shell.
In my App.xaml.cs file I did this:
MainPage = new NavigationPage( new SplashView() );
Then in the code-behind of my SplashView, I did this:
public partial class SplashView : ContentPage
{
public SplashView()
{
InitializeComponent();
}
protected override async void OnAppearing()
{
base.OnAppearing();
await Task.Delay( 2000 );
await Application.Current.MainPage.Navigation.PopAsync();
Application.Current.MainPage = new AppShell();
}
}