생성한 Firebase Dynamic Links를 수신하려면 앱에 Dynamic Links SDK를 포함하고 OnDynamicLinkReceived 가상 함수를 구현하는 firebase::dynamic_links::Listener 객체를 생성해야 합니다.
C++ SDK는 Android 및 iOS와 연동이 가능하며 플랫폼별로 몇 가지 추가 설정이 필요합니다.
시작하기 전에
Firebase Dynamic Links을 사용하려면 먼저 다음 작업을 해야 합니다.
- C++ 프로젝트를 등록하고 Firebase를 사용하도록 구성합니다. - C++ 프로젝트에서 현재 Firebase를 사용하고 있다면 이미 등록되어 Firebase용으로 구성된 상태입니다. 
- C++ 프로젝트에 Firebase C++ SDK를 추가합니다. 
C++ 프로젝트에 Firebase를 추가할 때 Firebase Console 및 열려 있는 C++ 프로젝트 모두에서 작업을 수행해야 합니다. 예를 들어 Console에서 Firebase 구성 파일을 다운로드한 후 이 파일을 C++ 프로젝트로 옮기는 작업이 필요합니다.
커스텀 URL 스키마 추가(iOS에만 해당)
Firebase Dynamic Links C++ 클라이언트 라이브러리는 iOS의 커스텀 URL 스키마를 사용하여 링크를 처리합니다. Dynamic Links 수신을 지원하려면 앱에 커스텀 URL 스키마를 추가해야 합니다.
- 왼쪽 트리 보기에서 프로젝트 이름을 더블클릭하여 프로젝트 구성을 엽니다. 
- 대상 섹션에서 앱을 선택하고 정보 탭을 선택한 후 URL 유형 섹션을 펼칩니다. 
- + 버튼을 클릭하고 반전된 클라이언트 ID의 URL 스키마를 추가합니다. 이 값을 찾는 방법은 다음과 같습니다. - GoogleService-Info.plist - REVERSED_CLIENT_ID키를 찾습니다.
- 이 키의 값을 복사하여 구성 페이지의 URL 스키마 상자에 붙여넣습니다. 
- 다른 필드는 비워 둡니다. 
 
- + 버튼을 클릭하고 두 번째 URL 스키마를 추가합니다. 이 스키마는 앱의 번들 ID와 동일합니다. - 예를 들어 번들 ID가 - com.example.ios이면 URL 스키마 상자에 이 값을 입력합니다.- 앱의 번들 ID는 프로젝트 구성의 일반 탭에서 찾을 수 있습니다(ID > 번들 식별자). 
Dynamic Link 수신
앱 만들기 및 초기화
수신된 Dynamic Links를 확인하기 전에 firebase::App 객체를 만들고 초기화해야 합니다.
firebase::App의 헤더 파일을 포함합니다.
#include "firebase/app.h"
다음 단계는 플랫폼에 따라 다릅니다.
Android
자바 액티비티에 JNI 환경과 jobject 참조를 인수로 전달하여 firebase::App을 만듭니다.
app = ::firebase::App::Create(::firebase::AppOptions("APPLICATION NAME"), jni_env, activity);
iOS
firebase::App을 만듭니다.
app = ::firebase::App::Create(::firebase::AppOptions("APPLICATION NAME"));
Dynamic Links를 확인하는 리스너 구현
수신된 Dynamic Link를 확인하려면 firebase::dynamic_links::Listener 클래스를 구현하여 사용합니다.
Dynamic Links를 수신하기 위한 헤더 파일을 포함합니다.
#include "firebase/dynamic_links.h"
Dynamic Links 라이브러리를 초기화합니다.
::firebase::dynamic_links::Initialize(app, null);
firebase::dynamic_links::Listener를 구현하는 객체를 만든 후 SetListener()를 사용하여 Dynamic Links 라이브러리에 제공하거나 Initialize에 두 번째 인수로 전달합니다.
Dynamic Links를 수신하려면 리스너 클래스가 OnDynamicLinkReceived 가상 함수를 구현해야 합니다. 메서드를 재정의하면 딥 링크를 수신했을 때 처리가 가능합니다.
class Listener : public firebase::dynamic_links::Listener { public: // Called on the client when a dynamic link arrives. void OnDynamicLinkReceived( const firebase::dynamic_links::DynamicLink* dynamic_link) override { printf("Received link: %s", dynamic_link->url.c_str()); } };