본문 바로가기
Tech Notes

앱 딥링크(Deep Link) 완벽 가이드

by miracle-tech 2026. 2. 5.
320x100
반응형
앱 딥링크(Deep Link) 완벽 가이드 — 개념부터 구현 원리까지 쉽게 정리
📱 Mobile Deep Linking

앱 딥링크(Deep Link)
완벽 가이드

딥링크의 개념부터 URI Scheme, Universal Links, App Links, Deferred Deep Link까지 — 한번에 이해하는 모바일 딥링크의 모든 것

1. 딥링크란 무엇인가?

딥링크(Deep Link)는 앱 내의 특정 화면으로 직접 이동시키는 링크입니다. 일반 링크가 앱의 홈 화면으로 보내는 것과 달리, 딥링크는 상품 상세 페이지, 이벤트 화면, 설정 페이지 등 앱 안의 원하는 곳으로 바로 진입시켜 줍니다.

💡 쉽게 이해하기

웹에서 https://example.com/product/123으로 특정 상품 페이지에 바로 들어가는 것과 같은 개념입니다. 웹에서는 URL이 이 역할을 당연히 하지만, 앱에서는 별도로 설정이 필요합니다. 이 설정이 바로 "딥링크"입니다.

일반 링크 vs 딥링크
❌ 일반 링크
링크 클릭
앱 실행
홈 화면 🏠
✅ 딥링크
링크 클릭
앱 실행
상품 상세 📦

2. 딥링크의 2가지 핵심 방식

딥링크의 기술적 구현 방식은 크게 2가지로 나뉩니다.

🔗

커스텀 URI Scheme

myapp://product/123
앱이 자체 스킴을 정의하는 전통적인 방식

🌐

HTTPS URL 방식

https://example.com/product/123
일반 웹 URL을 앱 링크로 활용하는 현대적 방식

그리고 종종 언급되는 Deferred Deep Link는 별도의 기술 방식이 아니라, 위 2가지 방식 위에 부가 기능으로 얹는 것입니다. 이 부분은 뒤에서 따로 설명합니다.

3. 방식 1 — 커스텀 URI Scheme

가장 오래된 딥링크 방식입니다. 앱이 자신만의 고유한 스킴(Scheme)을 등록하면, 해당 스킴으로 시작하는 URL이 클릭될 때 OS가 그 앱을 실행합니다.

URI Scheme 예시
// 앱이 "myapp" 이라는 스킴을 등록하면
myapp://product/123        → 상품 상세
myapp://event/summer-sale  → 이벤트 페이지
myapp://settings/alarm    → 알림 설정

// 비교: 웹 URL은 "https" 스킴을 사용
https://example.com/product/123
👍

장점

구현이 간단합니다. 앱의 설정 파일(AndroidManifest.xml, Info.plist)에 스킴만 등록하면 바로 동작합니다.

⚠️

치명적인 단점

도메인 검증이 없습니다. 아무 앱이나 myapp://을 등록할 수 있어서 스킴 충돌(Hijacking) 위험이 있습니다. 또한 앱이 설치되지 않은 경우 아무 일도 안 일어나거나 에러가 발생합니다.

4. 방식 2 — Universal Links / App Links

URI Scheme의 보안 문제와 미설치 문제를 해결하기 위해 등장한 현재 표준입니다. iOS에서는 Universal Links, Android에서는 App Links라고 부르지만 원리는 동일합니다.

핵심 개념

일반 HTTPS URL 자체가 딥링크 역할을 합니다. https://example.com/product/123 하나의 URL이 앱이 있으면 → 앱으로, 앱이 없으면 → 웹 브라우저로 자연스럽게 분기됩니다.

Universal Links / App Links 동작 흐름
사용자가
URL 클릭
OS가
매핑 확인
앱 설치됨
→ 앱 실행 📱
또는
미설치
→ 웹 브라우저 🌐

그런데 여기서 궁금한 점이 생깁니다. "OS는 이 URL을 앱으로 보내야 하는지 어떻게 아는 걸까?" — 다음 섹션에서 이 핵심 원리를 살펴봅시다.

5. OS는 앱과 URL을 어떻게 연결하나?

핵심은 도메인과 앱 사이의 양방향 신뢰 등록입니다. 웹 서버와 앱이 서로를 "나의 파트너다"라고 선언하고, OS가 이를 검증합니다.

Step 1. 웹 서버에 연결 파일 업로드

앱 개발자가 웹 서버의 정해진 경로에 JSON 파일을 올립니다. 이 파일에는 "이 도메인의 어떤 경로를 어떤 앱이 처리한다"는 정보가 담겨 있습니다.

iOS — apple-app-site-association
// 위치: https://example.com/.well-known/apple-app-site-association
{
  "applinks": {
    "apps": [],
    "details": [{
      "appID": "TEAMID.com.example.myapp",
      "paths": ["/product/*", "/event/*"]
    }]
  }
}
Android — assetlinks.json
// 위치: https://example.com/.well-known/assetlinks.json
[{
  "relation": ["delegate_permission/common.handle_all_urls"],
  "target": {
    "namespace": "android_app",
    "package_name": "com.example.myapp",
    "sha256_cert_fingerprints": ["AB:CD:EF:..."]
  }
}]

위 코드에서 "paths": ["/product/*", "/event/*"]가 의미하는 것은 — /product//event/로 시작하는 URL은 브라우저 대신 우리 앱이 받아서 처리하겠다는 선언입니다.

Step 2. 앱에도 도메인 등록

iOS는 Xcode의 Associated Domains 설정에 applinks:example.com을 등록하고, Android는 AndroidManifest.xml에 intent-filter로 해당 도메인을 선언합니다.

Step 3. OS가 앱 설치 시 자동 검증

양방향 신뢰 검증 구조
🌐 웹 서버

JSON 파일에 선언

"TEAMID.com.example.myapp"이
/product/* 를 처리합니다
양방향 일치
📱 앱 설정

앱 설정에 선언

example.com 도메인의
링크를 처리합니다

🔒 OS가 양쪽 정보를 대조해서 일치할 때만 앱-도메인 연결을 허용

앱이 설치되면 OS가 앱에 등록된 도메인을 자동으로 방문해서 JSON 파일을 가져옵니다. 양쪽 정보가 일치하면 매핑 테이블에 저장하고, 이후 해당 URL이 클릭되면 앱으로 보냅니다.

💡 비유하면

웹 서버는 "우리 회사 직원은 이 사람입니다"라고 사원증을 발급하고, 앱은 "저는 이 회사 소속입니다"라고 사원증을 보여주는 겁니다. OS는 양쪽 모두 확인한 후에야 출입을 허가합니다. 그래서 아무 앱이나 남의 도메인을 가로챌 수 없습니다.

Step 4. 링크 클릭 시 판단

URL 클릭 → 최종 판단 과정
URL 클릭
/product/123
OS 매핑
테이블 조회
매핑 있음
앱 실행 + 화면 이동
매핑 없음
웹 브라우저로 열기

6. Deferred Deep Link란?

Deferred Deep Link는 별도의 기술 방식이 아니라, 기존 딥링크 위에 "앱 미설치 시 설치 후 원래 목적지로 이동" 기능을 추가한 것입니다.

Deferred Deep Link 동작 흐름
앱 미설치 상태에서
링크 클릭
앱 스토어로
이동
앱 설치 +
최초 실행
원래 목적지로
자동 이동! ✨

이것이 가능한 이유는 서드파티 서비스(Branch, Adjust, AppsFlyer 등)가 링크 클릭 정보를 서버에 저장해뒀다가, 앱이 설치되고 첫 실행될 때 매칭해주기 때문입니다.

📌

참고

Google의 Firebase Dynamic Links는 이 기능을 무료로 제공했으나 지원 종료가 예정되어 있어, 현재는 Branch나 Adjust 같은 서드파티 서비스를 주로 사용합니다.

7. 한눈에 비교하기

항목 URI Scheme Universal Links /
App Links
Deferred
Deep Link
링크 형태 myapp://path https://도메인/path 위 방식 + 부가 기능
보안 검증 없음 도메인 검증 기반 방식에 따름
앱 미설치 시 에러 / 무반응 웹으로 폴백 스토어 → 설치 후 이동
스킴 충돌 위험 있음 없음 없음
구현 난이도 쉬움 보통 서드파티 필요
현재 권장 여부 비권장 ✅ 표준 마케팅에 필수

8. 실무 활용 시나리오

🔔

푸시 알림

"주문이 배송되었습니다" 알림 클릭 → 배송 추적 화면으로 직접 이동

📢

마케팅 캠페인

SNS 광고 클릭 → 앱 내 할인 이벤트 페이지로 바로 진입

💬

공유 링크

카카오톡으로 상품 URL 공유 → 수신자가 클릭하면 앱의 상품 상세로 이동

📧

이메일 마케팅

뉴스레터 내 CTA 버튼 → 앱의 특정 콘텐츠 페이지로 유도

🔄

리타겟팅

장바구니에 담아둔 상품 리마인드 → 해당 장바구니 화면으로 복귀

🤝

초대/추천

친구 초대 링크 클릭 → 앱 설치 후 추천인 자동 입력 (Deferred Deep Link)

9. 정리

핵심 포인트 요약

  • 딥링크는 앱 내 특정 화면으로 직접 이동시키는 링크다
  • 기술적 방식은 URI SchemeHTTPS URL(Universal Links / App Links) 2가지
  • HTTPS URL 방식은 웹 서버 JSON 파일 ↔ 앱 설정 간 양방향 검증으로 보안을 보장한다
  • Deferred Deep Link는 별도 방식이 아니라, 미설치 → 설치 → 목적지 이동을 처리하는 부가 기능이다
  • 현재 표준은 HTTPS URL 방식이며, 마케팅 용도에는 Deferred Deep Link를 함께 사용한다
320x100