모바일 딥링크에 대해 알아야 할 모든 것
게시 됨: 2017-02-14목차
딥 링크에 관해서는 많은 사람들이 그것이 무엇인지 모릅니다. 그것은 기술 세계의 이름없는 영웅입니다. 그러나 사람들은 그 존재를 모르고 매일 사용하거나 이름이 있는지 모릅니다. 이 게시물에서는 딥 링크가 무엇이며 모바일에서 어떻게 적용되는지에 대한 몇 가지 기본 아이디어를 얻을 것입니다.
딥링크란?
딥링킹은 링크를 통해 네이티브 모바일 애플리케이션을 시작하는 방법론입니다.
딥 링크는 말 그대로 사용자를 링크가 있는 웹사이트/애플리케이션 내부로 안내합니다. 데스크톱에서 딥링크는 웹사이트의 홈페이지(예: "http:// /example.com/”). 모바일에서 딥 링크는 앱을 실행하는 대신 모바일 앱 내의 특정 위치에 연결하는 URI(Uniform Resource Identifier )를 사용합니다. 이 시리즈에서는 모바일 딥링킹에만 초점을 맞춥니다.
그래서 당신은 모바일에서 인터넷을 탐색하고 있습니다. Google에서 "Facebook"을 검색하면 첫 번째 결과가 Facebook의 홈 페이지를 가리킵니다. 해당 링크를 탭하면 Facebook 홈 페이지로 리디렉션되는 대신 모바일에서 Facebook 앱이 열립니다. 이것이 기본적으로 모바일 딥링킹이 작동하는 방식입니다.

모바일 애플리케이션에 대한 딥링크를 활성화하면 웹사이트에서와 마찬가지로 앱을 열고 홈페이지, 제품 페이지 및 장바구니와 같이 앱 내에서 정의된 특정 화면을 실행하는 딥링크를 호출할 수 있습니다.
딥링킹은 웹사이트나 iOS App Store 또는 Google Play의 앱 목록으로 이동하는 대신 링크를 클릭할 때 귀하와 제3자가 앱을 열 수 있도록 하기 때문에 홍보 활동에 특히 유용합니다.
3가지 유형의 딥링크
1. 전통적인 딥링크

기존의 딥 링크는 링크가 열릴 때 앱이 이미 설치되어 있는 한 사용자를 앱 콘텐츠로 라우팅할 수 있습니다. 즉, 사용자에게 앱이 없으면 기존 딥 링크가 작동하지 않고 오류 또는 대체 페이지가 표시됩니다.
2. 지연된 딥 링크

지연된 딥 링크는 링크가 열릴 때 앱이 설치되지 않은 경우에도 사용자를 콘텐츠로 라우팅할 수 있습니다. 링크는 먼저 App Store 또는 Play Store로 리디렉션되어 앱을 다운로드한 다음 사용자를 처음 실행한 직후 특정 "지연된" 콘텐츠로 안내합니다.
3. 상황별 딥 링크
상황별 딥 링크에는 지연된 딥 링크의 모든 기능 외에 훨씬 더 많은 기능이 있습니다. 상황별 딥 링크는 사용자가 가고자 하는 위치, 링크를 클릭한 위치, 원래 링크를 공유한 사람, 거의 무제한의 맞춤 데이터에 대한 정보를 저장합니다.
상황별 링크는 앱 개발자와 사용자 모두에게 가치를 더합니다. 앱 개발자는 개인화된 환영(친구가 나와 항목을 공유하는 경우 앱에서 친구의 추천을 볼 수 있는 곳) 및 추천 프로그램을 포함하여 단순한 콘텐츠 연결 이상의 강력한 기능을 구축할 수 있습니다. 앱이 더 나은 경험과 더 관련성 높은 정보를 제공할 수 있기 때문에 앱 사용자는 이점을 얻습니다.
URI 체계
사용자 지정 URI 체계는 모바일 앱용 딥 링크의 원래 형태였습니다. myapp://path/to/content 와 같은 링크를 사용하여 앱을 위한 "사설 인터넷"을 만드는 것과 같습니다. 사용자 정의 URI 체계의 장점은 설정이 쉽고 대부분의 앱에 이미 하나가 있다는 것입니다. 단점은 해당 앱이 이미 설치되어 있고 기본적으로 우아한 대체 옵션이 없는 경우에만 사용자의 장치가 이 "사설 인터넷"에 대해 알고 있다는 것입니다.
URI 체계를 사용한 딥링킹에 대한 해결 방법에는 기존 http:// 링크를 사용하여 웹 브라우저를 시작하는 방법이 포함됩니다. 이 링크에는 웹 브라우저에서 앱을 시작하기 위해 실행하는 사용자 지정 URI 체계에 대한 JavaScript 리디렉션이 포함되어 있습니다. 앱이 설치되어 있지 않아 리디렉션 시도가 실패하면 JavaScript가 사용자를 App Store 또는 Play Store로 안내합니다.
이것은 여전히 Android의 딥링킹에 대한 기본 접근 방식이지만 Apple은 2015년 Universal Links 출시와 함께 iOS에서 이 접근 방식을 차단하기 시작했습니다 .
Apple iOS 범용 링크
Apple은 사용자 정의 URI 체계 딥 링크에서 우아한 폴백 기능의 부족에 대한 솔루션으로 iOS 9에서 유니버설 링크를 도입했습니다. 범용 링크는 웹 페이지와 앱 내부의 콘텐츠를 모두 가리키는 표준 웹 링크(http://mydomain.com)입니다. 유니버설 링크가 열리면 iOS는 설치된 장치가 해당 도메인에 등록되어 있는지 확인합니다. 그렇다면 웹 페이지를 로드하지 않고 앱이 즉시 실행됩니다. 그렇지 않은 경우 웹 URL(App Store로의 단순 리디렉션일 수 있음)이 Safari에 로드됩니다.
Branch 플랫폼에 있는 수천 개의 앱에 대한 연구에 따르면 Universal Links는 전환율을 40% 증가시켰습니다.
안드로이드 링크
Google은 iOS 유니버설 링크와 동등한 Android로 앱 링크를 구축했으며 매우 유사한 방식으로 작동합니다. 즉, 웹 페이지와 앱 내부 콘텐츠를 가리키는 표준 웹 링크입니다. 그 결과 사용자 경험이 더 원활해졌지만 사용자 지정 URI 체계는 여전히 모든 Android 버전에서 완벽하게 지원되기 때문에 App Links의 채택률은 매우 낮습니다.
페이스북 앱 링크
페이스북은 URI 스킴 딥링크의 한계를 해결하기 위해 2014년 공개 표준으로 앱 링크를 만들었습니다. 앱 링크에는 두 가지 주요 구성 요소가 있습니다.
- 표준 http:// 링크의 웹 페이지 대상에 추가할 메타 태그 집합입니다. 이러한 태그는 기본 앱 내 해당 콘텐츠의 사용자 지정 URI 체계 위치와 앱이 설치되지 않은 경우 발생해야 하는 동작을 지정합니다.
- 링크 열기를 지원하는 앱 내부에서 사용하기 위한 라우팅 엔진. 이 엔진은 앱 링크 태그를 열기 전에 대상 URL을 확인한 다음 해당 앱을 실행하거나 지정된 대체 동작을 실행합니다.

http://applinks.org/documentation/
앱 링크 표준에는 중대한 결함이 있습니다. 즉, 원본 앱과 대상 앱 모두에서 작업해야 합니다. 메타 태그 구성 요소가 널리 채택되었지만 라우팅 엔진의 유일한 주요 구현은 핵심 Facebook 및 Messenger 앱에 있었습니다.

Facebook은 이제 사용자를 플랫폼 내부에 유지하는 것을 선호하며 기본 Android 앱을 제외한 모든 곳에서 App Links 라우팅 엔진을 제거했습니다. Facebook은 iOS 유니버설 링크도 차단하기 때문에 iOS의 Facebook 또는 Messenger에서 타사 앱을 열 수 있는 안정적인 방법이 없습니다. Branch는 이러한 제한 사항을 해결하는 데 도움이 되는 솔루션을 구현했습니다.
딥링크 구조
딥링크는 웹페이지의 기존 하이퍼링크와 매우 유사하게 작동합니다. URI(Uniform Resource Identifier)라고 하는 것을 구성하는 별도의 요소로 구성됩니다. URI는 호출될 때 특정 화면으로 모바일 애플리케이션을 실행하는 모든 정보를 포함합니다.
딥링크 구조에 대해 생각할 때 가장 좋은 방법은 앱에서 수행할 사용자 지정 작업을 나타내는 고유한 체계 이름과 라우팅 매개변수(경로 및 쿼리 문자열)로 URL을 구현하는 것입니다. 매우 구체적인 요구 사항이 없는 한 아래 예와 같이 간단한 URL 구조를 사용하는 것이 좋습니다.
mobiledeeplinkprojectdemo://path?query_string
여기서 mobiledeeplinkingprojectdemo
는 체계 이름이고 경로 및 쿼리 문자열은 사용자를 앱의 특정 경험으로 추가로 라우팅하는 데 사용되는 라우팅 매개변수입니다.
구성표 이름의 경우:
- 구성표 이름을 선택할 때 서로 다른 응용 프로그램 간에 구성표가 충돌하지 않도록 브랜드 고유의 이름을 선택하는 것이 중요합니다.
- 현재 스키마 이름과의 충돌을 관리하는 중앙 기관이 없습니다.
- 가장 좋은 방법은 체계 이름이 귀하의 브랜드를 참조하도록 하는 것입니다(예: mobiledeeplinkingprojectdemo). 스킴 이름에 대해 제안된 또 다른 패턴은 역 도메인 이름 표기법(예: org.mobiledeeplinking)을 사용하는 것이지만 이것은 널리 따르지 않습니다.
라우팅 매개변수(경로 및 쿼리 문자열):
- 라우팅 매개변수는 선택 사항이지만 적극 권장됩니다. 라우팅 매개변수는 사용자를 애플리케이션의 특정 화면으로 라우팅하거나 추가 매개변수를 전달하기 위한 추가 제어 기능을 제공합니다.
- 쿼리 문자열은 선택 사항이며 제품 ID와 같은 특정 매개변수를 전달해야 하는 경우 사용할 수 있습니다.
- 타사에서 라우팅 매개변수에 추가 메타데이터를 추가할 수 있으므로 앱이 이 사용 사례를 처리할 수 있어야 합니다(2부에서 설명하는 iOS 및 Android 라이브러리가 이에 대해 설명함).
- 모바일 앱에 해당 웹사이트가 있는 경우 모바일 앱의 라우팅 매개변수 구문이 웹사이트의 URL 구조와 일치하는 것이 좋습니다.
다음은 iOS에서 인기 있는 앱에 대한 딥링크의 몇 가지 예입니다.
개발자 | 딥링크 – 예 | 목적 |
---|---|---|
트위터 | 트위터://타임라인 | Twitter 앱을 열고 사용자의 타임라인으로 연결합니다. |
페이스북 | fb://프로필 | Facebook 앱을 열고 사용자 프로필에 연결합니다. |
개가 깽깽 우는 소리 | 개가 깽깽 우는 소리:// | Yelp 앱을 엽니다(참고: 이 예에는 라우팅 매개변수가 포함되어 있지 않습니다). |
딥링크 구현
MobileDeepLinking 라이브러리 사용 여부에 관계없이 딥링킹을 구현하려면 다음을 수행해야 합니다.
- 사용할 URI 체계를 선택하고 앱의 매니페스트에 선언합니다(아래에서 자세히 설명). 1부에서 논의한 바와 같이 구성표 이름은 앱에 고유해야 합니다 . 그렇지 않으면 다른 앱과 충돌이 발생할 수 있습니다.
- 딥링크를 사용하여 시작하려는 작업을 정의합니다. 이러한 작업이 선택한 URI 구문과 일치하는지 확인하십시오. 1부에서 언급했듯이 URL 구문을 사용하는 것이 좋습니다(예:
schemename://path?query_string
).
완료되면 URL의 경로 및 쿼리 문자열 섹션을 처리하여 의도한 작업을 시작하는 코드 구현을 시작할 수 있습니다.
MobileDeepLinking 라이브러리를 활용하는 것을 권장하지만, 모바일 딥링크를 직접 구현하고자 하는 경우 하이 레벨 프로세스는 다음과 같습니다.
iOS
iOS 앱은 독립된 엔터티입니다. 앱에는 AppDelegate라는 단 하나의 진입점이 있습니다. 앱에 대한 딥링크가 시작되면 딥링크 메타데이터로 AppDelegate를 호출합니다.
원하는 경험을 제공하면서 앱에서 일관된 상태를 유지하는 것이 중요합니다. 딥링크는 모든 앱 상태에서 언제든지 실행될 수 있으며 앱을 안정적인 상태로 유지하는 것은 사용자의 책임입니다.
예를 들어, 이는 사용자가 앱의 기본 화면으로 돌아갈 수 있도록 허용하는 것을 의미할 수 있습니다. 이를 수행하려면 올바른 보기 계층을 유지하면서 적절한 보기 컨트롤러를 푸시하여 사용자를 앱의 원하는 부분으로 보내야 합니다.
앱이 열리면 앱을 실행하는 데 사용된 URL을 복구하고 필요에 따라 처리할 수 있습니다.
여기에서 AppDelegate에 대한 참조 문서를 찾을 수 있습니다.
기계적 인조 인간
Android 앱은 일련의 활동으로 구성됩니다. 이러한 각 활동은 이와 같이 구성된 경우 다른 앱에서 호출할 수 있습니다. 앱과 딥링크가 구성되는 방식에 따라 중앙 엔드포인트를 하나만 사용하거나 여러 개 사용하도록 선택할 수 있습니다.
원하는 경험을 제공하면서 앱에서 일관된 상태를 유지하는 것이 중요합니다. Android 활동은 현재 컨텍스트 위에서 시작되며 적절한 보기 계층 구조가 유지되도록 하는 것은 사용자의 책임입니다. 또한 사용자를 위해 로드될 때 활동에 필요한 데이터를 준비하는 것이 중요합니다.
앱이 열리면 앱을 실행하는 데 사용된 URL을 복구하고 필요에 따라 처리할 수 있습니다.
여기에서 Android 딥링크에 대한 참조 문서를 찾을 수 있습니다.
사용 사례
1. 웹 사용자를 앱 사용자로 전환
멋진 네이티브 앱과 함께 훌륭한 모바일 웹사이트를 구축하는 데 어려움을 겪었지만 웹보다 네이티브 앱에서 전환율이 더 좋다는 것을 알게 된다면 어떨까요? 이 경우 모바일 웹 사용자를 앱 다운로드로 전환하면 비즈니스에 도움이 될 수 있습니다. 한 곳에서 다른 곳으로 이동하는 것은 어려울 수 있지만 딥 링크를 사용하면 쉽게 할 수 있습니다. 모바일 딥 링크를 사용하면 모바일 웹사이트에서 앱 내 동등한 콘텐츠로 사용자를 원활하게 전환할 수 있습니다. 또한 링크는 앱 설치 과정에서 살아남기 때문에 신규 사용자도 모바일 사이트에서 중단하지 않고 중단한 부분부터 다시 시작할 수 있습니다.

2. 소셜, 이메일 및 SMS 캠페인
모든 플랫폼에서 작동하는 링크를 사용하여 프로모션 제안을 보냅니다. 현재 및 미래의 사용자는 iOS, Android 또는 웹 브라우저를 사용하고 앱이 이미 설치되어 있는지 여부에 관계없이 제안을 사용할 수 있습니다.

3. 사용자 간 공유
신규 사용자가 앱을 설치하도록 하는 가장 효과적인 방법 중 하나는 사용자가 앱의 콘텐츠를 친구들과 공유할 수 있도록 하는 것입니다. 모바일 딥 링크를 사용하면 훌륭한 사용자 간 공유 경험을 만들 수 있습니다. 친구로부터 콘텐츠 추천을 받은 사용자는 링크를 클릭하면 앱의 공유 콘텐츠로 바로 이동할 수 있습니다. App Store 또는 Google Play Store에서 먼저 앱을 설치하세요.

4. 실제 앱 프로모션
실제 디스플레이에 딥 링크를 인코딩하는 QR 코드 또는 바코드를 사용하여 이벤트 및 장소에서 앱을 홍보하십시오. 사용자는 휴대폰 카메라를 사용하여 QR 코드/바코드를 스캔하고 앱의 대상 콘텐츠로 리디렉션하거나, 그렇지 않은 경우 먼저 앱을 설치하라는 메시지를 표시할 수 있습니다.

위의 4가지 사용 사례는 마케터의 관점에서 딥 링크가 비즈니스에 얼마나 도움이 될 수 있는지 보여주는 몇 가지 예일 뿐입니다. 앱에서 모바일 딥 링크를 사용하여 판매와 참여를 높일 수 있는 다른 방법이 많이 있습니다.
결론
딥 링크는 단순히 앱의 특정 콘텐츠를 식별하고 주소를 지정하고 사용자를 이동시키는 방법입니다. 편리하고 필요하지만 그렇게 혁명적이거나 흥미롭지는 않습니다. 딥 링크의 미래 가치는 딥 링크를 사용하는 방법, 즉 딥 링크 위에 구축된 내용과 이를 통해 제공할 새로운 소비자 경험에 있습니다.
여기에는 보유하고 있는 앱에 대한 딥 링크를 발견하는 새로운 방법, 딥 링크 가능한 관련 콘텐츠 및 서비스를 통해 새로운 앱을 발견하는 방법, 링크 자체에서 더 많은 정보를 전송하는 방법이 포함됩니다. 하이퍼링크와 마찬가지로 세상을 바꾸는 것은 메커니즘이 아니라 웹을 연결하는 데 사용하는 방식입니다.