使用 C++ 接收動態鏈接

要接收火力地堡的動態鏈接,您創建,必須包括動態鏈接SDK在您的應用程序並創建一個firebase::dynamic_links::Listener對象實現了OnDynamicLinkReceived虛函數。

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

在你開始之前

之前,你可以使用火力地堡的動態鏈接,您需要:

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

    如果您的 C++ 項目已經使用 Firebase,那麼它已經為 Firebase 註冊和配置。

  • 添加火力地堡C ++ SDK到C ++項目。

注意添加火力地堡到C ++項目既包括在任務火力地堡控制台,並在您打開C ++項目(例如,您從控制台下載火力地堡的配置文件,然後將其移動到你的C ++項目)。

添加自定義 URL 方案(僅適用於 iOS)

Firebase 動態鏈接 C++ 客戶端庫使用 iOS 上的自定義 URL 方案來處理鏈接。您必須向您的應用添加自定義 URL 架構以支持接收動態鏈接。

  1. 要打開您的項目配置,請雙擊左側樹視圖中的項目名稱。

  2. 從選擇目標部分的應用程序,然後選擇信息選項卡,然後展開URL類型部分。

  3. 單擊+按鈕,然後添加一個URL方案,為您的反向客戶端ID。要找到此值:

    1. 打開GoogleService-Info.plist的配置文件,然後查找REVERSED_CLIENT_ID關鍵。

    2. 複製鍵的值,然後將其粘貼到URL方案的配置頁面框。

    3. 將其他字段留空。

  4. 單擊+按鈕,然後添加第二個URL方案。這與您的應用程序包 ID 相同。

    例如,如果你的包ID是com.example.ios ,鍵入值到URL方案框。

    您可以在項目配置(標識>捆綁標識符)的常規選項卡中找到您的應用程序的包ID。

接收動態鏈接

創建和初始化應用程序

之前您可以檢查接收到的動態鏈接,你需要創建和初始化firebase::App對象。

包括頭文件firebase::App

#include "firebase/app.h"

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

安卓

創建firebase::App ,通過JNI的環境和jobject參考Java的活動作為參數:

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()或把它作為第二個參數來初始化

要接收動態鏈接,監聽器類必須實現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());
  }
};