Aby otrzymać utworzone linki dynamiczne Firebase, musisz dołączyć pakiet SDK Dynamic Links do swojej aplikacji i utworzyć obiekt firebase::dynamic_links::Listener
, który implementuje funkcję wirtualną OnDynamicLinkReceived
.
Zestaw SDK C++ działa zarówno na Androidzie, jak i iOS, a dla każdej platformy wymagana jest dodatkowa konfiguracja.
Zanim zaczniesz
Zanim będziesz mógł korzystać z Linków dynamicznych Firebase , musisz:
Zarejestruj swój projekt C++ i skonfiguruj go do 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 swojego projektu C++.
Pamiętaj, że dodanie Firebase do projektu C++ obejmuje zadania zarówno w konsoli Firebase , jak i w otwartym projekcie C++ (na przykład pobierasz pliki konfiguracyjne Firebase z konsoli, a następnie przenosisz je do projektu C++).
Dodaj niestandardowe schematy adresów URL (tylko dla iOS)
Biblioteka kliencka Firebase Dynamic Links C++ wykorzystuje niestandardowe schematy adresów URL w systemie iOS do przetwarzania łączy. Aby móc otrzymywać linki dynamiczne, musisz dodać do swojej aplikacji niestandardowe schematy adresów URL.
Aby otworzyć konfigurację projektu, kliknij dwukrotnie nazwę projektu w lewym widoku drzewa.
Wybierz swoją aplikację w sekcji CELE , następnie wybierz kartę Informacje i rozwiń sekcję Typy adresów URL .
Kliknij przycisk + , a następnie dodaj schemat adresu URL dla odwróconego identyfikatora klienta. Aby znaleźć tę wartość:
Otwórz plik konfiguracyjny
, a następnie poszukaj kluczaGoogleService-Info.plist REVERSED_CLIENT_ID
.Skopiuj wartość tego klucza, a następnie wklej go w polu Schematy adresów URL na stronie konfiguracji.
Pozostałe pola pozostaw puste.
Kliknij przycisk + , a następnie dodaj drugi schemat adresu URL. Ten jest taki sam, jak identyfikator pakietu Twojej aplikacji.
Na przykład, jeśli identyfikator pakietu to
com.example.ios
, wpisz tę wartość w polu Schematy adresów URL .Identyfikator pakietu aplikacji znajdziesz w zakładce Ogólne konfiguracji projektu ( Tożsamość > Identyfikator pakietu ).
Odbieranie łącza dynamicznego
Utwórz i zainicjuj aplikację
Zanim będziesz mógł sprawdzić otrzymane linki dynamiczne, musisz utworzyć i zainicjować obiekt firebase::App
.
Dołącz plik nagłówkowy dla firebase::App
:
#include "firebase/app.h"
Następna część różni się w zależności od platformy:
Android
Utwórz plik firebase::App
, przekazując środowisko JNI i odwołanie do 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"));
Zaimplementuj detektor, aby sprawdzić linki dynamiczne
Aby sprawdzić odebrane łącze dynamiczne, zaimplementuj i użyj klasy firebase::dynamic_links::Listener
.
Dołącz plik nagłówkowy do otrzymywania łączy dynamicznych:
#include "firebase/dynamic_links.h"
Zainicjuj bibliotekę łączy dynamicznych:
::firebase::dynamic_links::Initialize(app, null);
Utwórz obiekt, który implementuje firebase::dynamic_links::Listener
i dostarcz go do biblioteki Dynamic Links za pomocą SetListener()
lub przekaż go jako drugi argument do funkcji zainicjowania .
Aby otrzymywać linki dynamiczne, klasa Listener musi implementować funkcję wirtualną OnDynamicLinkReceived
. Zastępując metodę, możesz otrzymać precyzyjny link, jeśli taki został otrzymany.
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()); } };