Aby otrzymywać Firebase Dynamic Links utworzone przez siebie,
musisz dodać pakiet SDK Dynamic Links do swojej aplikacji i utworzyć
firebase::dynamic_links::Listener
obiekt, który implementuje
OnDynamicLinkReceived
funkcję wirtualną.
Pakiet C++ SDK działa zarówno na Androidzie, jak i iOS, ale w przypadku każdej platformy wymagana jest dodatkowa konfiguracja.
Zanim zaczniesz
Zanim zaczniesz korzystać z Firebase Dynamic Links, musisz:
zarejestrować projekt C++ i skonfigurować go pod kątem używania Firebase.
Jeśli Twój projekt C++ korzysta już z Firebase, jest on już zarejestrowany i skonfigurowany pod kątem Firebase.
dodać pakiet Firebase C++ SDK do projektu C++.
Pamiętaj, że dodanie Firebase do projektu C++ wymaga wykonania zadań zarówno w Firebase konsoli Firebase, jak i w otwartym projekcie C++ (np. pobierasz pliki konfiguracyjne Firebase z konsoli, a następnie przenosisz je do projektu C++).
Dodawanie niestandardowych schematów adresów URL (tylko w iOS)
Biblioteka klienta C++ Firebase Dynamic Links używa w 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, kliknij dwukrotnie nazwę projektu w lewym widoku drzewa.
W sekcji MIEJSCA DOCELOWE wybierz aplikację, a następnie kliknij kartę Informacje i rozwiń sekcję Typy adresów URL.
Kliknij przycisk +, a następnie dodaj schemat URI adresu URL dla odwróconego identyfikatora klienta. Aby znaleźć tę wartość:
Otwórz plik konfiguracyjny
i poszukaj kluczaGoogleService-Info.plist REVERSED_CLIENT_ID.Skopiuj wartość tego klucza, a następnie wklej ją w polu Schematy adresów URL na stronie konfiguracji.
Pozostałe pola pozostaw puste.
Kliknij przycisk +, a następnie dodaj drugi schemat URI 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 adresów URL.Identyfikator pakietu aplikacji znajdziesz na karcie Ogólne w konfiguracji projektu (Tożsamość > Identyfikator pakietu).
Odbieranie Dynamic Link
Tworzenie i inicjowanie aplikacji
Zanim zaczniesz sprawdzać, czy otrzymano Dynamic Links, musisz utworzyć i zainicjować
obiekt firebase::App.
Dołącz plik nagłówkowy firebase::App:
#include "firebase/app.h"
Następna część zależy od platformy:
Android
Utwórz firebase::App, przekazując środowisko JNI i odwołanie jobject do działania 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"));
Implementowanie detektora do sprawdzania 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
Initialize.
Aby otrzymywać Dynamic Links, klasa detektora musi implementować
OnDynamicLinkReceived
funkcję wirtualną. 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()); } };