如要接收您建立的 Firebase Dynamic Links,您必須在應用程式中加入 Dynamic Links SDK,並建立導入 OnDynamicLinkReceived
虛擬函式的 firebase::dynamic_links::Listener
物件。
C++ SDK 適用於 Android 和 iOS,但每個平台都需要進行一些額外設定。
事前準備
使用 Firebase 動態連結前,您必須先:
註冊 C++ 專案,並將其設為使用 Firebase。
如果您的 C++ 專案已使用 Firebase,則專案已針對 Firebase 完成註冊並完成相關設定。
在 C++ 專案中新增 Firebase C++ SDK。
請注意,將 Firebase 新增至 C++ 專案時,牽涉到 Firebase 控制台和開放式 C++ 專案中的工作 (例如從控制台下載 Firebase 設定檔,再移至 C++ 專案)。
新增自訂網址配置 (僅限 iOS)
Firebase Dynamic Links C++ 用戶端程式庫會使用 iOS 上的自訂網址配置處理連結。您必須將自訂網址配置新增至應用程式,才能支援接收動態連結。
如要開啟專案設定,請按兩下左側樹狀檢視中的專案名稱。
從「TARGETS」(目標) 部分選取您的應用程式,選取「Info」(資訊) 分頁標籤,然後展開「URL Types」(網址類型) 部分。
按一下 + 按鈕,然後為反向用戶端 ID 加入網址配置。如何尋找這個值:
開啟
設定檔,然後尋找GoogleService-Info.plist REVERSED_CLIENT_ID
鍵。複製該鍵的值,然後貼到設定頁面的「URL Schemes」方塊中。
將其他欄位留白。
按一下 + 按鈕,然後新增第二個網址配置。這組 ID 與應用程式的軟體包 ID 相同。
舉例來說,如果您的軟體包 ID 是
com.example.ios
,請在「URL Schemes」方塊中輸入該值。您可以在專案設定的「一般」分頁中 (依序點選「Identity」>「軟體包 ID」) 找到應用程式的軟體包 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
的物件,並透過 SetListener()
將其提供給 Dynamic Links 程式庫,或將其做為第二個引數傳送至初始化。
如要接收動態連結,事件監聽器類別必須實作 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()); } };