생성 한 Firebase 동적 링크를 수신하려면 앱에 동적 링크 SDK를 포함하고 OnDynamicLinkReceived
가상 함수를 구현하는 firebase firebase::dynamic_links::Listener
객체를 생성해야 합니다.
C++ SDK는 Android 및 iOS 모두에서 작동하며 각 플랫폼에 필요한 몇 가지 추가 설정이 있습니다.
시작하기 전에
Firebase 동적 링크 를 사용하려면 먼저 다음을 수행해야 합니다.
C++ 프로젝트를 등록하고 Firebase를 사용하도록 구성합니다.
C++ 프로젝트에서 이미 Firebase를 사용하고 있다면 이미 Firebase용으로 등록 및 구성된 것입니다.
C++ 프로젝트에 Firebase C++ SDK 를 추가합니다.
C++ 프로젝트에 Firebase를 추가하려면 Firebase 콘솔 과 열려 있는 C++ 프로젝트 모두에서 작업이 필요합니다(예: 콘솔에서 Firebase 구성 파일을 다운로드한 다음 C++ 프로젝트로 이동).
맞춤 URL 체계 추가(iOS 전용)
Firebase Dynamic Links C++ 클라이언트 라이브러리는 iOS에서 맞춤 URL 체계를 사용하여 링크를 처리합니다. 동적 링크 수신을 지원하려면 앱에 맞춤 URL 스키마를 추가해야 합니다.
프로젝트 구성을 열려면 왼쪽 트리 보기에서 프로젝트 이름을 두 번 클릭합니다.
대상 섹션에서 앱 을 선택한 다음 정보 탭을 선택한 다음 URL 유형 섹션을 확장합니다.
+ 버튼을 클릭한 다음 반전된 클라이언트 ID에 대한 URL 체계를 추가합니다. 이 값을 찾으려면:
구성 파일을 연 다음GoogleService-Info.plist REVERSED_CLIENT_ID
키를 찾습니다.해당 키의 값을 복사한 다음 구성 페이지의 URL 체계 상자에 붙여넣습니다.
다른 필드는 비워 둡니다.
+ 버튼을 클릭한 다음 두 번째 URL 체계를 추가합니다. 이것은 앱의 번들 ID와 동일합니다.
예를 들어 번들 ID가
com.example.ios
인 경우 해당 값을 URL 체계 상자에 입력합니다.프로젝트 구성의 일반 탭( Identity > Bundle Identifier )에서 앱의 번들 ID를 찾을 수 있습니다.
동적 링크 수신
앱 생성 및 초기화
수신된 동적 링크를 확인하려면 먼저 firebase::App
개체를 만들고 초기화해야 합니다.
firebase::App
의 헤더 파일을 포함합니다.
#include "firebase/app.h"
다음 부분은 플랫폼에 따라 다릅니다.
기계적 인조 인간
firebase::App
을 만들고 JNI 환경과 자바 활동에 대한 jobject
참조를 인수로 전달합니다.
app = ::firebase::App::Create(::firebase::AppOptions("APPLICATION NAME"), jni_env, activity);
아이폰 OS
firebase::App
만들기:
app = ::firebase::App::Create(::firebase::AppOptions("APPLICATION NAME"));
동적 링크를 확인하기 위한 리스너 구현
수신된 동적 링크를 확인하려면 firebase::dynamic_links::Listener
클래스를 구현하고 사용합니다.
동적 링크 수신을 위한 헤더 파일 포함:
#include "firebase/dynamic_links.h"
동적 링크 라이브러리 초기화 :
::firebase::dynamic_links::Initialize(app, null);
firebase::dynamic_links::Listener
를 구현하는 객체를 SetListener()
를 사용하여 동적 링크 라이브러리에 제공하거나 Initialize 의 두 번째 인수로 전달합니다.
동적 링크를 수신하려면 수신기 클래스가 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()); } };