Aby otrzymać utworzone linki dynamiczne Firebase, musisz umieścić w aplikacji pakiet SDK Linków dynamicznych i utworzyć obiekt firebase::dynamic_links::Listener
, który implementuje funkcję wirtualną OnDynamicLinkReceived
.
Pakiet SDK C++ działa zarówno na Androida, jak i iOS, ale wymagana jest dodatkowa konfiguracja na każdej platformie.
Zanim zaczniesz
Zanim użyjesz Linków dynamicznych Firebase, musisz wykonać te czynności:
Zarejestruj swój projekt C++ i skonfiguruj go pod kątem korzystania z Firebase.
Jeśli Twój projekt C++ korzysta już z Firebase, oznacza to, że jest już zarejestrowany i skonfigurowany dla Firebase.
Dodaj pakiet SDK Firebase C++ do projektu w C++.
Pamiętaj, że dodanie Firebase do projektu C++ wymaga wykonania zadań zarówno w konsoli Firebase, jak i w otwartym projekcie C++ (np. musisz pobrać pliki konfiguracyjne Firebase z konsoli, a następnie przenieść je do projektu C++).
Dodawanie niestandardowych schematów adresów URL (tylko iOS)
Biblioteka klienta linków dynamicznych Firebase w C++ przetwarza linki przy użyciu niestandardowych schematów adresów URL w iOS. Aby obsługiwać odbieranie linków dynamicznych, musisz dodać do swojej aplikacji niestandardowe schematy adresów URL.
Aby otworzyć konfigurację projektu, kliknij dwukrotnie jego nazwę w widoku drzewa po lewej stronie.
Wybierz aplikację w sekcji CELE, następnie na karcie Informacje rozwiń sekcję Typy adresów URL.
Kliknij przycisk + i dodaj schemat adresu URL dla odwrotnego identyfikatora klienta. Aby znaleźć tę wartość:
Otwórz plik konfiguracji
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 + i dodaj drugi schemat adresu URL. Jest taki sam jak identyfikator pakietu aplikacji.
Jeśli np. identyfikator grupy to
com.example.ios
, wpisz tę wartość w polu Schematy adresów URL.Identyfikator pakietu aplikacji znajdziesz na karcie Ogólne konfiguracji projektu (Tożsamość > Identyfikator pakietu).
Odbieranie linku dynamicznego
Utwórz i zainicjuj aplikację
Aby sprawdzić otrzymane linki dynamiczne, musisz utworzyć i zainicjować obiekt firebase::App
.
Uwzględnij plik nagłówka firebase::App
:
#include "firebase/app.h"
Kolejna część zależy od platformy:
Android
Utwórz firebase::App
, przekazując środowisko JNI i jobject
odwołanie 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"));
Implementacja detektora w celu sprawdzania linków dynamicznych
Aby sprawdzić, czy otrzymano link dynamiczny, zaimplementuj i użyj klasy firebase::dynamic_links::Listener
.
Dołącz plik nagłówka do odbierania linków dynamicznych:
#include "firebase/dynamic_links.h"
Zainicjuj bibliotekę linków dynamicznych:
::firebase::dynamic_links::Initialize(app, null);
Utwórz obiekt, który implementuje firebase::dynamic_links::Listener
, i przekaż go do biblioteki linków dynamicznych za pomocą SetListener()
lub jako drugi argument na potrzeby inicjowania.
Aby otrzymywać linki dynamiczne, klasa detektora musi implementować funkcję wirtualną OnDynamicLinkReceived
. Jeśli zastąpisz tę metodę, możesz otrzymać precyzyjny link (o ile został 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()); } };