Aby otrzymywać Firebase Dynamic Links, które utworzysz, musisz uwzględnić w aplikacji pakiet SDK Dynamic Links i utworzyć obiekt firebase::dynamic_links::Listener
, który implementuje funkcję wirtualną OnDynamicLinkReceived
.
Pakiet SDK C++ działa zarówno na Androidzie, jak i na iOS, ale w przypadku każdej platformy wymaga dodatkowej konfiguracji.
Zanim zaczniesz
Zanim zaczniesz korzystać z Firebase Dynamic Links, musisz:
Zarejestruj projekt C++ i skonfiguruj go pod kątem używania Firebase.
Jeśli Twój projekt w C++ korzysta już z Firebase, jest już zarejestrowany i skonfigurowany pod kątem Firebase.
Dodaj Firebase C++ SDK do projektu C++.
Pamiętaj, że dodanie Firebase do projektu C++ wymaga wykonania zadań zarówno w Firebasekonsoli, jak i w otwartym projekcie C++ (np. pobierasz z konsoli pliki konfiguracyjne Firebase, a następnie przenosisz je do projektu C++).
Dodawanie niestandardowych schematów adresów URL (tylko w przypadku iOS)
Biblioteka klienta C++ Firebase Dynamic Links używa w systemie iOS niestandardowych schematów adresów URL do przetwarzania linków. Aby obsługiwać odbieranie Dynamic Links, musisz dodać do aplikacji niestandardowe schematy adresów URL.
Aby otworzyć konfigurację projektu, w widoku drzewa po lewej stronie kliknij dwukrotnie nazwę projektu.
W sekcji MIEJSCA DOCELOWE wybierz aplikację, a potem kliknij kartę Informacje i rozwiń sekcję Typy adresów URL.
Kliknij przycisk +, a potem dodaj schemat adresu URL dla odwróconego identyfikatora klienta. Aby znaleźć tę wartość:
Otwórz plik konfiguracji
, a następnie znajdź kluczGoogleService-Info.plist REVERSED_CLIENT_ID
.Skopiuj wartość tego klucza, a następnie wklej ją w polu Schematy URL na stronie konfiguracji.
Pozostałe pola pozostaw puste.
Kliknij przycisk +, a potem dodaj drugi schemat adresu URL. Jest on taki sam jak identyfikator pakietu aplikacji.
Jeśli na przykład identyfikator pakietu to
com.example.ios
, wpisz tę wartość w polu Schematy URL.Identyfikator pakietu aplikacji znajdziesz na karcie Ogólne w konfiguracji projektu (Tożsamość > Identyfikator pakietu).
Otrzymywanie Dynamic Link
Tworzenie i inicjowanie aplikacji
Zanim sprawdzisz, czy otrzymano Dynamic Links, musisz utworzyć i zainicjować obiekt firebase::App
.
Dołącz plik nagłówkowy dla firebase::App
:
#include "firebase/app.h"
Dalsza część procesu różni się w zależności od platformy:
Android
Utwórz obiekt firebase::App
, przekazując środowisko JNI i odwołanie jobject
do aktywności Java jako argumenty:
app = ::firebase::App::Create(::firebase::AppOptions("APPLICATION NAME"), jni_env, activity);
iOS
Utwórz firebase::App
:
app = ::firebase::App::Create(::firebase::AppOptions("APPLICATION NAME"));
Zaimplementuj odbiornik, aby sprawdzić, czy występuje Dynamic Links
Aby sprawdzić, czy otrzymano Dynamic Link, zaimplementuj i użyj klasy firebase::dynamic_links::Listener
.
Dołącz plik nagłówkowy do odbierania Dynamic Links:
#include "firebase/dynamic_links.h"
Zainicjuj bibliotekę Dynamic Links:
::firebase::dynamic_links::Initialize(app, null);
Utwórz obiekt, który implementuje
firebase::dynamic_links::Listener
,
i przekaż go do biblioteki Dynamic Links za pomocą
SetListener()
lub przekaż go jako drugi argument do funkcji
Initialize.
Aby otrzymać Dynamic Links, klasa Listener musi implementować funkcję wirtualną OnDynamicLinkReceived
. Zastępując tę metodę, możesz otrzymać precyzyjny link, jeśli został on odebrany.
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()); } };