使用 C++ 接收 Dynamic Links

如要接收建立的 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

請注意,將 Firebase 新增至 C++ 專案時,需要執行 Firebase 控制台,然後在開放式 C++ 專案中 (例如下載 控制台中的 Firebase 設定檔,然後將這些檔案移至 C++ 專案)。

新增自訂網址配置 (僅限 iOS)

Firebase Dynamic Links C++ 用戶端程式庫會在 iOS 上使用自訂網址配置, 程序連結。您必須在應用程式中新增自訂網址配置,才能支援接收功能 Dynamic Links。

  1. 如要開啟專案設定,請按兩下左側的專案名稱 樹狀檢視。

  2. 從「目標」部分選取您的應用程式,然後選取「資訊」分頁標籤。 然後展開 [網址類型] 部分

  3. 按一下 + 按鈕,然後為反向用戶端 ID 加入網址配置。目的地: 找到這個值:

    1. 開啟 GoogleService-Info.plist 設定檔,然後找出 REVERSED_CLIENT_ID 鍵。

    2. 複製該鍵的值,然後貼到 [網址配置] 方塊中: 設定頁面

    3. 將其他欄位留白。

  4. 按一下 + 按鈕,然後新增第二個網址配置。這個格式與 應用程式的軟體包 ID。

    舉例來說,如果您的軟體包 ID 是 com.example.ios,請將該值輸入 「網址配置」方塊。

    您可以在專案的「一般」分頁中找到應用程式的軟體包 ID 依序點選「Identity」>「軟體包 ID」

接收動態連結

建立及初始化應用程式

在檢查收到的動態連結之前,必須先建立並初始化 firebase::App 物件。

包含 firebase::App 的標頭檔案:

#include "firebase/app.h"

下一項設定會因平台而異:

Android

建立 firebase::App,傳遞 JNI 環境和 jobject Java Activity 做為引數:

app = ::firebase::App::Create(::firebase::AppOptions("APPLICATION NAME"), jni_env, activity);

iOS

建立 firebase::App

app = ::firebase::App::Create(::firebase::AppOptions("APPLICATION NAME"));

使用事件監聽器檢查 Dynamic Links

如要檢查收到的動態連結,請導入並使用 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()、 或將其做為第二個引數 初始化

若要接收動態連結,您的接聽程式類別必須導入 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());
  }
};