Firebase Dynamic Link

Filebase 동적 링크는 앱 설치 여부에 관계없이 여러 플랫폼에서 원하는 대로 작동하는 링크입니다.

동적 링크를 사용하면 링크를 연 플랫폼에서 사용자에게 최상의 환경울 제공할 수 있습니다. iOS 또는 Android에서 동적 링크를 연 사용자를 기본 앱의 링크된 컨텐츠로 직접 이동시킬 수 있습니다. 같은 동적 링크를 데스크톱 브라우저에서 열었다면 웹 사이트의 해당 콘텐츠로 안내할 수 있습니다.

또한 동적 링크는 앱 설치 여부에 따라 적절히 작동합니다. iOS 또는 Android에서 앱을 설치하지 않은 사용자가 동적 링크를 열면 앱을 설치하는 화면으로 안내되고, 앱을 설치하고 시작하면 최초 링크에 그대로 액세스할 수 있습니다.

1. 작동 원리

동적 링크를 만들려면 Firevase 콘솔, REST API, iOS 또는 Android Builder API를 사용하거나 앱의 전용 도메인에 동적 링크 매개변수를 추가하여 URL을 작성합니다. 이러한 매개변수는 사용자의 플랫폼 및 앱 설치 여부에 따라 열어야 할 링크를 지정합니다.

사용자가 동적 링크 중 하나를 열었는데 앱이 아직 설치되지 않은 경우, 개발자가 다른 작업을 지정한 것이 아니라면 Play 스토어 또는 App Store로 이동하여 앱을 설치한 우 앱이 열립니다. 그런 다음 액에 전달되는 링크를 가져와 앱에 맞게 딥 링크를 처리할 수 있습니다.

2. 구현 경로

  1. FireBasr 및 동적 링크 SDK 설정: Firebase 콘솔에서 Firebase 프로젝트에 Firebase 동적 링크를 사용 설정합니다. 그런 당므 액에 동적 링크 SDK를 포함합니다.
  2. 동적 링크 만들기: 동적 링크를 프로그래매틱으로 만들거나 Firebase 콘솔을 사용하여 만듭니다.
  3. 앱에서 동적 링크 처리: 앱이 열리면 동적 링크 SDK를 사용하여 동적 링크가 전달되었는지 확인합니다. 전달된 경우 동적링크 데이터에서 딥 링크를 가져와서 적절히 처리합니다.
  4. 애널리틱스 데이터 보기: Firebase 콘솔에서 동적 링크의 실적을 추적합니다.

3. 동적 링크 만들기

  • Firebase 콘솔 사용: 소셜 미디어에서 공유할 프로모션 링크를 만드는 경우에 유용합니다. 이렇게 하면 Firebase 콘솔에서 링크의 이름과 맞춤 서픽스를 선택할 수 있습니다. Firevase 콘솔에서 또는 Analytics REST API를 통해 동적 링크의 실적을 추적할 수 있습니다.
  • iOS 및 Android의 Dynamic Link Builder API 사용: 링크가 여러 개 필요한 경우나 사용자 간의 공유를 위해 앱에서 동적으로 링크를 만드는 데 적합한 방법이니다. Dynamic Linkes Analytics API를 사용해 Builder API로 만든 동적 링크의 실적을 추적할 수 있습니다.
  • REST API 사용: Builder API가 없는 플랫폼에서 동적으로 링크를 만드는 데 적합한 방법입니다. 콘솔에서 만든 프로모션 켐페인의 실적을 추적하는 데 Analytics REST API를 사용할 수 있습니다.
  • 직접 만들기: 클릭 데이터를 추적할 필요가 없고 링크가 길어도 무방하다면, URL 매개변수를 사용해 직접 동적 링크를 만들 수 있습니다. 직접 만드는 경우에는 추가 네트워크 왕복을 피할 수 있습니다.

REST API 사용

Firebase Dynamic Linkes REST API를 사용하여 짧은 동적 링크를 만들 수 있습니다. 이 API는 긴 동적 링크 또는 동적 링크 매개변수가 들어 잇는 객체를 취하며 다으 ㅁ예와 같은 URL을 반환합니다.

https://example.page.linke/WXYZ

API 및 클라이언트(Android.iOS) SDK로 만든 짧은 동적 링크는 Firebase 콘솔에 표시되지 않습니다. 이러한 동적 링크는 사용자 간 공유를 위한 것입니다.

시작하기 전에
  1. API 키를 확인합니다. API 요청을 인증하려면 API 키가 필요합니다. API 키를 확인하는 방법은 다음과 같습니다.
  2. Firebase 콘솔의 설정 페이지를 엽니다. 프로젝트를 선택하라는 메시지가 나타나면 메뉴에서 Firevase 프로젝트를 선택합니다.
  3. 웹 API 키 필드의 값을 기록해 둡니다.
  4. Firebase 콘솔에서 동적 링크 섹션을 엽니다.
  5. 아직 서비스 약관에 동의하지 않았고 동적 링크의 도메인도 설정하지 않았다면 관련 메시지가 표시될 때 동의하고 설정합니다. 동적 링크 도메인이 있다면 기록해 둡니다. 프로그래밍 방식으로 동적 링크를 만들 때 동적 링크 도메인을 제공해야 합니다.
짧은 동적 링크 만들기

Firebase Dynamic Links API 를 사용하여 긴 동적 링크를 축약할 수 있습니다. 이렇게 하면 shortLinks 엔드 포인트에 HTTP POST dycjddmf qhsoaustj longDynamicLink 매개변수에 긴 동적 링크를 지정합니다. 예를 들면 다음과 같습니다.

POST https://firebasedynamiclinks.googleapis.com/v1/shortLinks?key=api_key
Content=Type: application/json

{
  "longDynamicLink": "https://example.page.link/?link=https://www.example.com/&apn=com.example.android&ibi=com.example.ios"
}

긴 동적 링크를 만드는 방법은 수동으로 URL 작성을 찹조하세요.

매개변수로 짧은 링크 만들기

동적 링크 매개변수를 직접 지정하여 짧은 동적 링크를 만들 수도 있습니다 이렇게 하면 shortLinks 엔드포인트에 HTTP POST 요청을 보내면서 dynamicLinkInfo 매개변수에 동적 링크 매개변수를 지정합니다. 예를 들면 다음과 같습습니다.

POST https://firebasedynamiclinks.googleapis.com/v1/shortLinks?key=api_key
Content-Type: application/json

{
  "dynamicLinkInfo": {
    "domainUriPrefix": "https://example.page.link",
    "link": "https://www.example.com/",
    "androidInfo": {
      "androidPackageName": "com.example.android"
    },
    "iosInfo": {
      "iosBundleId": "com.example.ios"
    }
  }
}

dynamicLinkInfo 객체의 전체 사양은 API 참조를 확인하세요.

짧은 동적 링크의 길이 지정

suffix 매개변수를 설정하여 짧은 동적 링크의 경로 구성요소를 생성할 방법을 지정할 수도 있습니다. 기본적으로, 또는 매개변수를 "UNGUESSABLE"로 설정하면 경로 구성요소가 다음 예와 같이 17자 길이로 생성됩니다.

https://example.page.link/UVMXYZuvmxyz12345

이러한 문자열은 base62 인코딩으로 무작위 생성된 96비트 숫자로 만들어집니다. 이 설정을 사용하면 동적 링크 URL이 임의로 추측 및 크롤ㄹ링되어 민감한 정보가 무단으로 유출될 염려가 없습니다.

매개 변수를 "SHORT"로 설정하면 경로 구성요소가 고유성을 유지하는데 필요한 최소한의 길이로 생성되며, 최소 길이는 4자입니다.

https://example.page.link/WXYZ

짧은 동적 링크가 추측되어도 민감한 정보가 유출될 염려가 없다면 이 방법을 사용하세요. 다음 예에서는 suffix 매개변수를 설정하는 방법을 보여줍니다.

POST https://firebasedynamiclinks.googleapis.com/v1/shortLinks?key=api_key
Content-Type: application/json

{
   "longDynamicLink": "https://example.page.link/?link=http://www.example.com/&apn=com.example.android&ibi=com.example.ios",
   "suffix": {
     "option": "UNGUESSABLE"
   }
}
딥 링크 유효성 확인

제공된 딥 링크 값이 적어도 http:// 또는 http:// 스키마로 시작되어야 합ㄴ디ㅏ. 또한 콘솔에 입력한 URL 패턴 허용 목록과도 일치해야 합니다. 그렇지 않을 경우 생성 API가 실패하고 HTTP 오류 코드 400이 반혼됩니다.

직접 만들기

다음 형식으로 URL을 직접 작성하여 동적 링크를 만들 수 있습니다.

https://your_subdomain.page.link/?link=your_deep_link&apn=package_name[&amv=minimum_version][&afl=fallback_link]
동적 링크 매개변수
딥 링크 매개변수
Key Description
link 앱에서 열리는 링크입니다. 앱이 처리할 수 있는 URL(일반적으로 앱의 콘텐츠 또는 페이로드)을 지정할 수 있으며, 이를 통해 사용자에게 쿠폰을 지급하거나 시작 화면을 표시하는 등 앱의 특정 로직을 시작할 수 있습니다. 이 링크는 올바를 형식의 URL이어야 하며, 적절한 URL 인코딩을 적용해야 합니다. HTTP 또는 HTTPS를 사용해야 하며 다른 동적 링크가 아니어야 합니다.
Android 매개변수
Key Description
apn 링크를 여는 데 사용할 Android 앱의 패키지 이름입니다. Firebase 콘솔의 개요 페이지에서 앱을 프로젝트에 연결해야 합니다. 동적 링크를 통해 Android 앱을 여는 데 필요합니다.
afl 앱이 설치되지 않은 경우에 열리는 링크입니다. 앱이 설치되지 않았을 때 App Store에서 앱을 설치하는 것 이외에 콘텐츠의 모바일 웹 버전 열기, 앱 홍보 페이지 표시 등의 다른 작업을 수행하려는 경우 이 매개변수를 지정합니다.
amv 링크를 열 수 있는 앱 최소 버전의 versionCode입ㄴ디ㅏ. 설치된 앱이 이전 버전이라면 앱을 업그레이하기 위해 Play 스터어로 이동합니다.
iOS 매개변수
Key Description
ibi 링크를 여는 데 사용할 iOS 앱의 번들 ID입니다. Firebase 콘솔의 개요 페이지에서 앱을 프로젝트에 연결해야 합니다. 동적 링크를 통해 iOS 앱을 여는 데 필요합니다.
ifl 앱이 설치되지 않은 경우에 열리는 링크입니다. 앱이 설치되지 않았을 때 App Store에서 앱을 설치하는 것 이외에 콘텐츠의 모바일 웹 버전 열기, 앱 홍보 페이지 표시 등의 다른 작업을 수행하려는 경우 이 매개변수를 지정합니다.
ius 앱의 번들 ID와 다른 값으로 정의하면 앱의 맞춤 URL 스키마로 사용됩니다.
ipfl 앱이 설치되지 않은 경우 iPad에서 열리는 링크입니다. 앱이 설치되지 않았을 때 App Store에서 앱을 설치하는 것 이외에 콘텐츠의 웹 버전 열기, 앱 홍보 페이지 표시 등의 다른 작업을 수행하려면 이 매개변수를 지정합니다.
ipbi iPad에서 링크를 여는 데 사용할 iOS 앱의 번들 아이디 입니다. Firebase 콘솔의 개요 페이지에서 앱을 프로젝트에 연결해야 합니다.
isi 앱이 설치되지 않았다면 사용자를 App Store로 보내는 데 사용되는 앱의 App Store ID입니다.
imv 링크를 열 수 있는 앱의 최소 버전 번호입니다. 이 플래그느 앱이 열렸을 때 앱에 전달되며 앱에서 수행할 작업을 결정해야 합니다.
기타 플랫폼 매개변수
Key Description
ofl Android 및 iOS 이외의 플랫폼에서 열리는 링크입니다. 데스크톱에 다른 동작을 지정할 떄 유용합니다. 예를 들어 link 매개변수가 지정하는 앱 콘텐츠/페이로드의 전체 웹페이지를 표시하고 다른 동적 링크를 사용해 앱을 설치할 수 있습니다.
탐색 매개변수
Key Description
efr '1'로 설정하는 경우, 동적 링크가 열리면 앱 미리보기 페이지를 건너뛰고 앱 또는 스토어 리디렉션합니다. 기본적으로 사용 설정되는 앱 미리보기 페이지는 앱에서 동적 링크를 연 사용자를 가장 적절한 목적지로 더 안정적으로 안내할 수 있지만, 이 페이지 없이 동적 링크를 안정적으로 열 수 있는 앱에서만 동적 링크가 열리게 설정하고 싶다면 이 매개변수를 사용하여 리디렉션을 징지할 수 있습니다. 참고: 앱 미리보기 페이지는 현재 iOS에만 표시되지만 이후에 Android에도 표시될 수 있습니다. 이 매개변수는 양쪽 플랫폼에서 동적 링크의 동작에 영향을 미칩니다.
소셜 메타 태그 매개변수
Key Description
st 소셜 게시물에서 동적 링크를 고유할 떄 사용되는 제목입니다.
sd 소셜 게시물에서 동적 링크를 공유할 떄 사용되는 설명입니다.
si 이 링크와 관련된 이미지의 URL 입니다. 이미지는 300x200 픽셀 이상. 300KB 미만이어야 합니다.
애널리틱스 매개변수
Key Description
utm_source Google Play 애널리틱스 매개변수입니다.
utm_medium Google Play 애널리틱스 매개변수입니다.
utm_campaign Google Play 애널리틱스 매개변수입니다.
utm_term Google Play 애널리틱스 매개변수입니다.
utm_contnet Google Play 애널리틱스 매개변수입니다.
gclid Google Play 애널리틱스 매개변수입니다.
at iTunes Connect 애널리틱스 매개변수입니다.
ct iTunes Connect 애널리틱스 매개변수입니다.
mt iTunes Connect 애널리틱스 매개변수입니다.
pt iTunes Connect 애널리틱스 매개변수입니다.

4. 출처