C++로 동적 링크 수신

내가 만든 Firebase Dynamic Links를 받으려면 다음 안내를 따르세요. 앱에 Dynamic Links SDK를 포함하고 firebase::dynamic_links::Listener 객체를 구현하는 OnDynamicLinkReceived 가상 함수입니다.

C++ SDK는 Android 및 iOS와 연동이 가능하며 플랫폼별로 몇 가지 추가 설정이 필요합니다.

시작하기 전에

사용하기 전에 Firebase Dynamic Links님, 다음 작업을 수행해야 합니다.

  • C++ 프로젝트를 등록하고 Firebase를 사용하도록 구성합니다.

    C++ 프로젝트에서 현재 Firebase를 사용하고 있다면 이미 등록되어 Firebase용으로 구성된 상태입니다.

  • C++ 프로젝트에 Firebase C++ SDK를 추가합니다.

C++ 프로젝트에 Firebase를 추가할 때는 Firebase 콘솔을 열고 열려 있는 C++ 프로젝트 (예: Firebase 구성 파일을 콘솔에서 가져온 후 C++ 프로젝트로 옮깁니다.

커스텀 URL 스키마 추가(iOS에만 해당)

Firebase Dynamic Links C++ 클라이언트 라이브러리는 iOS의 커스텀 URL 스키마를 사용하여 다음을 수행합니다. 프로세스 링크 수신 기능을 지원하려면 앱에 커스텀 URL 스킴을 추가해야 합니다. Dynamic Links

  1. 왼쪽 트리 보기에서 프로젝트 이름을 더블클릭하여 프로젝트 구성을 엽니다.

  2. 대상 섹션에서 앱을 선택하고 정보 탭을 선택한 후 URL 유형 섹션을 펼칩니다.

  3. + 버튼을 클릭하고 반전된 클라이언트 ID의 URL 스키마를 추가합니다. 이 값을 찾는 방법은 다음과 같습니다.

    1. GoogleService-Info.plist 구성 파일을 열고 REVERSED_CLIENT_ID 키를 찾습니다.

    2. 이 키의 값을 복사하여 구성 페이지의 URL 스키마 상자에 붙여넣습니다.

    3. 다른 필드는 비워 둡니다.

  4. + 버튼을 클릭하고 두 번째 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님, 그런 다음 다음을 사용하여 Dynamic Links 라이브러리에 제공합니다. SetListener(), 두 번째 인수로 초기화합니다.

Dynamic Links를 수신하려면 Listener 클래스가 다음을 구현해야 합니다. 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());
  }
};
드림