REST API로 동적 링크 만들기

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

https://example.page.link/WXYZ

API 및 클라이언트(Android/iOS) SDK로 만든 짧은 동적 링크는 Firebase Console에 표시되지 않습니다. 이러한 동적 링크는 사용자 간 공유를 위한 것입니다. 마케팅 사용 사례인 경우 계속하여 Firebase Console의 동적 링크 페이지를 통해 직접 링크를 만듭니다.

시작하기 전에

  1. API 키를 확인합니다. API 요청을 인증하려면 API 키가 필요합니다. API 키를 확인하는 방법은 다음과 같습니다.
    1. Firebase Console의 설정 페이지를 엽니다. 프로젝트를 선택하라는 메시지가 나타나면 메뉴에서 Firebase 프로젝트를 선택합니다.
    2. 웹 API 키 필드의 값을 기록해 둡니다.
  2. Firebase Console에서 동적 링크 섹션을 엽니다.
  3. 아직 서비스 약관에 동의하지 않았고 동적 링크의 도메인도 설정하지 않았다면 관련 메시지가 표시될 때 동의하고 설정합니다.

    동적 링크 도메인이 있다면 기록해 둡니다. 프로그래밍 방식으로 동적 링크를 만들 때 동적 링크 도메인을 제공해야 합니다.

Firebase Dynamic Links API를 사용하여 긴 동적 링크를 축약할 수 있습니다. 이렇게 하려면 shortLinks 엔드포인트에 HTTP POST 요청을 보내면서 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/UVWXYZuvwxyz12345

이러한 문자열은 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:// 또는 https:// 스키마로 시작되어야 합니다. 또한 콘솔에 입력한 URL 패턴 허용 목록과도 일치해야 합니다. 그렇지 않을 경우 생성 API가 실패하고 HTTP 오류 코드 400이 반환됩니다.

다음 단계

이제 동적 링크를 만들었으므로 앱에서 동적 링크를 수신하고 링크를 연 사용자를 앱의 적절한 위치로 안내하도록 설정해야 합니다.

앱에서 동적 링크를 수신하는 방법은 iOS, Android, C++, Unity 관련 문서를 참조하세요.

요청은 IP 주소별 초당 5회, 일일 200,000회로 제한됩니다. 한도를 초과하면 응답에 HTTP 오류 코드 429가 반환됩니다. 할당량 증가를 요청하려면 이 양식을 작성하세요.