使用 C++ 接收動態鏈接

要接收您建立的Firebase 動態鏈接,您必須在應用程式中包含動態鏈接 SDK 並建立一個實現OnDynamicLinkReceived虛擬函數的firebase::dynamic_links::Listener物件。

C++ SDK 適用於 Android 和 iOS,每個平台都需要一些額外的設定。

在你開始之前

在使用Firebase 動態連結之前,您需要:

  • 註冊您的 C++ 專案並將其配置為使用 Firebase。

    如果您的 C++ 專案已使用 Firebase,則它已針對 Firebase 進行註冊和設定。

  • Firebase C++ SDK加入到您的 C++ 專案。

請注意,將 Firebase 新增至您的 C++ 專案涉及Firebase 控制台和開啟的 C++ 專案中的任務(例如,您從控制台下載 Firebase 設定文件,然後將它們移至您的 C++ 專案中)。

新增自訂 URL 方案(僅適用於 iOS)

Firebase 動態連結 C++ 用戶端程式庫在 iOS 上使用自訂 URL 方案來處理連結。您必須將自訂 URL 方案新增至您的應用程式以支援接收動態連結。

  1. 若要開啟專案配置,請雙擊左側樹視圖中的項目名稱。

  2. “目標”部分選擇您的應用程序,然後選擇“資訊”選項卡,然後展開“URL 類型”部分。

  3. 按一下+按鈕,然後為反向用戶端 ID 新增 URL 方案。要找到該值:

    1. 開啟GoogleService-Info.plist設定文件,然後尋找REVERSED_CLIENT_ID鍵。

    2. 複製該鍵的值,然後將其貼上到設定頁面上的URL 方案框中。

    3. 將其他欄位留空。

  4. 按一下+按鈕,然後新增第二個 URL 方案。該 ID 與您的應用程式的捆綁包 ID 相同。

    例如,如果您的捆綁包 ID 是com.example.ios ,請在URL 方案框中鍵入該值。

    您可以在專案配置的「常規」標籤( 「身分」>「捆綁包識別碼」)中找到應用程式的捆綁包 ID。

接收動態連結

創建並初始化App

在檢查收到的動態連結之前,您需要建立並初始化一個firebase::App物件。

包含firebase::App的頭檔:

#include "firebase/app.h"

下一部分因您的平台而異:

安卓

建立firebase::App ,將 JNI 環境和對 Java Activity 的jobject參考作為參數傳遞:

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

iOS系統

創建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());
  }
};