Deep Dive Into Deep Link. Part 1. Introduction and the initial problem

<p>The reason for this material was a task from our past project. The goal was to expand the coverage of the application&rsquo;s content with new Deep Links. It all sounded simple, but when we started testing the solution, there were some non-obvious problems: on different versions of Android, shells, devices, and applications, Deep Links worked differently.</p> <p><img alt="" src="https://miro.medium.com/v2/resize:fit:630/0*6l6_0tYjIqa3RdF6.png" style="height:250px; width:700px" /></p> <h1>Do you know the answers to these questions?</h1> <ul> <li>How will the Deep Link work on a link if opened in the SMS client of Honor 9 Lite (Android 9.0, EMUI 9.1.0)?</li> <li>What if we try it in Gmail on Samsung A70 (Android 10.0, One UI 2.5)?</li> <li>Or try Telegram on Xiaomi Mi5 (Android 8.0, MIUI Global 10.2.2.0)?</li> </ul> <p>We know because we conducted 280+ tests and saw everything with our own eyes! We also learned how to process links at the application level (Linkify, HTML, Span), how their dispatching is performed (Jetpack Navigation Component, airbnb/DeepLinkDispatch, Custom), what nuances of Android we have to deal with and how to soften these blows :)</p> <p>We hope this series of articles will help you save time and effort when working with Deep Links.</p> <p>In this part, we will define the main concepts: Deep Link, Web Link, App Link. We will consider the features of each type of Deep Link and the differences between them.</p> <h1>What is deep Link?</h1> <p>Before we start our deep dive, let&rsquo;s clarify what a Deep Link is.</p> <blockquote> <p><a href="https://developer.android.com/training/app-links" rel="noopener ugc nofollow" target="_blank">Deep links are URIs of any scheme that take users to your app</a></p> </blockquote> <p>according to&nbsp;<a href="https://developer.android.com/" rel="noopener ugc nofollow" target="_blank">developer.android.com</a>. Let&rsquo;s break down this definition into parts.</p> <blockquote> <p><strong>Deep links are URIs</strong>&nbsp;of any scheme that take users to your app</p> </blockquote> <p>What are URIs? They are resource identifiers. What types of URIs are there? This is where it gets a bit more complicated. The main difficulty lies in classifying URLs and URNs.&nbsp;</p> <p><a href="https://medium.com/metakratos-studio/deep-dive-into-deep-link-part-1-introduction-and-the-initial-problem-e1de15845fb3">Visit Now</a></p>
Tags: Android Dive Link