딥링크란?

딥링크의 주요 기능

앱이 설치되어 있다면 → 앱의 특정 화면으로 이동

앱이 설치되지 않았다면 → 앱스토어 또는 웹사이트로 연결 가능

웹과 앱을 연결하여 사용자 경험(UX) 개선 가능

마케팅, 푸시 알림, 이메일, QR 코드에서 활용 가능

딥링크 이슈

App Link와 Universal Link

커스텀 스킴의 한계를 보완하기 위해 2015년도에 iOS에서 Universal Link, Android에서 App Link를 출시함 Android, iOS에서 가장 추천하는 딥링크 방식임 App Link, Universal Link는 표준 웹링크이다. 내 서비스가 웹에서 운영되고 있다면 이 링크를 그대로 앱의 딥링크로 사용한다. 사용자의 폰에 앱이 없다면 폰 브라우저에서 웹 페이지가 그대로 열림 스크립트로 클릭을 유발하면 앱으로 이동하지 않고, 그대로 웹 브라우저에서 링크가 열려서 여전히 커스텀 스킴 URL와 함께 사용됨

딥링크의 종류와 차이점

기본 딥링크 (Classic Deep Link) 앱이 설치된 경우 특정 화면으로 이동 앱이 설치되지 않으면 링크가 깨짐 myapp://profile/123
디퍼드 딥링크 (Deferred Deep Link) 앱이 설치되지 않더라도 설치 후 특정 화면으로 이동 가능 설치 후에도 딥링크가 유지됨 Firebase Dynamic Links, Branch.io
유니버설 링크 (Universal Link, iOS) / 앱 링크 (App Link, Android) 웹과 앱을 자동으로 연결하는 링크 앱이 설치되지 않으면 웹 페이지로 이동 https://example.com/profile/123

React Native에서의 딥링크 응용 예제

Android 설정 (AndroidManifest.xml 수정)

<intent-filter>
    <action android:name="android.intent.action.VIEW"/>
    <category android:name="android.intent.category.DEFAULT"/>
    <category android:name="android.intent.category.BROWSABLE"/>
    <data android:scheme="myapp" android:host="profile"/>
</intent-filter>