androiddeep-linkingfirebase-dynamic-linksandroid-app-indexing

Difference between Deep Links, Android App Links, Firebase Dynamic Links and App Indexing


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?


Solution

  • Deep Links:

    As you know a Deep Link is the simplest one which is totally local in your app. Activities can be triggered by clicking on a specific pattern URI. The pattern is defined in android Manifest using intent-filter. If multiple handlers existed for a URI, 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, the Deep Link does not work. Additional data which is used by the app carried by URL query params.

    Android App Links:

    Android App Links are the same as Deep Links with 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 Links feature is only available on Android 6.0 (API level 23) and higher.

    Dynamic Links:

    Dynamic Links eliminates DeepLink weaknesses. With Dynamic 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 a Dynamic Link in the Firebase console. Another feature is to find out where the user clicked on the link. (Places you share the link)

    App Indexing:

    App Indexing is a bit different thing. Its focus is on google search results. Using App Indexing, Google indexes the content of your app as well as your website. If the existing URLs 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.