<p dir="auto">I am working on an app with messaging capability. When the app has been force closed or is running in the background the user receives a push notification. Clicking on the notification opens the app and ideally brings them to the thread of the message they just received. However, currently I am pushing three separate pages onto the stack and therefore one of the pages is shown for a split second before loading the thread. It would be ideal to be able to <strong>push a tree of pages</strong> onto the stack so that only the last page loads and is shown to the user rather than briefly showing all three.</p>
<p dir="auto">We should document how to add deep links to an app. This is the first<br>
use case mentioned in the larger discussion mentioned <a href="https://github.com/flutter/flutter/issues/10975#issuecomment-315862405" data-hovercard-type="issue" data-hovercard-url="/flutter/flutter/issues/10975/hovercard">in bug 10975</a>, quoted here for easy access:</p>
<ul dir="auto">
<li><strong>External URLs:</strong> <em>A movie database app wants to register to take over handling URLs for its website.  Now when the user clicks on the URL the details for that movie are shown in the app instead of the browser.</em><br>
Android and iOS have mechanisms that allow an app to register as a handler for external URLs.  Android uses  <a href="https://developer.android.com/training/app-links/index.html#url-handling" rel="nofollow">App Links</a>, and iOS uses <a href="https://developer.apple.com/library/content/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/Inter-AppCommunication/Inter-AppCommunication.html#//apple_ref/doc/uid/TP40007072-CH6-SW1" rel="nofollow">URL Schemes</a>.  These mechanisms allow the app to register as a handler for URLs that can be invoked by other applications.</li>
</ul>
<p dir="auto">From a customer:</p>
<p dir="auto">"We need a URL that will 1) take the user to a specific part in our app (a chat, for example) if they have the app installed or 2) take a user to the device specific app store and then do 1) after they install the app. I think this is called Google Play Referrer on Android "</p>
<p dir="auto"><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="233124597" data-permission-text="Title is private" data-url="https://github.com/flutter/flutter/issues/10452" data-hovercard-type="issue" data-hovercard-url="/flutter/flutter/issues/10452/hovercard" href="https://github.com/flutter/flutter/issues/10452">#10452</a> added engine support for setting an initial route in a Flutter app, which is "deep" in the app (i.e., not the start page of the app) so this should be possible now, we just need some docs.</p>