Here is an explanation of using deep links in navigation component:
https://developer.android.com/guide/navigation/navigation-deep-link
It says:
An explicit deep link is a single instance of a deep link that uses a PendingIntent to take users to a specific location within your app. When a user opens your app via an explicit deep-link, the task back stack is cleared and replaced with the deep link destination.
Now the question is what are the differences between Deep Links, Android App Links, App Indexing, and Firebase Dynamic Links and when should we use each one of them?
Also, there is another point that should we set up all of them?
• Deep Links:
As you know a
Deep Linkis the simplest one which is totally local in your app. Activities can be triggered by clicking on a specific patternURI. The pattern is defined in androidManifestusingintent-filter. If multiple handlers existed for aURI, the Android system allows the user to select the target app from a dialog. It is obvious that if your app is not installed on the device, theDeep Linkdoes not work. Additional data which is used by the app carried by URL query params.• Android App Links:
Android App Linksare the same asDeep Linkswith a small difference. Your app can introduce itself as the default handler of specific pattern links. So when there are several apps to handle the target link, your app handles it without showing app-selection dialog. Furthermore, if the user doesn't want the app to be the default handler, they can override this behavior from their device's system settings.Android App Linksfeature is only available on Android 6.0 (API level 23) and higher.• Dynamic Links:
Dynamic LinkseliminatesDeepLinkweaknesses. WithDynamic Links, you treat on all platforms such as Android, iOS and web in a similar way. It seamlessly transits users from your mobile website to the equivalent content within your app (if the user has not installed your app on her/his device, the content would be shown after app installation). Furthermore, you can see the log of aDynamic Linkin the Firebase console. Another feature is to find out where the user clicked on the link. (Places you share the link)• App Indexing:
App Indexingis a bit different thing. Its focus is on google search results. UsingApp Indexing, Google indexes the content of your app as well as your website. If the existingURLs in-app and website are the same, Google verifies that you own both of them. Then in Google's search results, users who have installed your app on their devices go directly to the content in your app when they click on a link. Furthermore, it's possible to index personal contents in the app by Google. So when the user searches a keyword in Google, related in-app contents will be shown in search results.