Otrzymuj linki dynamiczne w języku C++

Aby otrzymać utworzone przez siebie linki dynamiczne Firebase , musisz umieścić pakiet SDK linków dynamicznych w swojej aplikacji i utworzyć obiekt firebase::dynamic_links::Listener , który implementuje funkcję wirtualną OnDynamicLinkReceived .

Zestaw SDK języka C++ działa zarówno na systemach Android, jak i iOS, przy czym dla każdej platformy wymagana jest dodatkowa konfiguracja.

Zanim zaczniesz

Aby móc 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 zestaw Firebase C++ SDK 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++ używa niestandardowych schematów adresów URL w systemie iOS do przetwarzania linków. Musisz dodać niestandardowe schematy adresów URL do swojej aplikacji, aby obsługiwać otrzymywanie linków dynamicznych.

  1. Aby otworzyć konfigurację projektu, kliknij dwukrotnie nazwę projektu w lewym widoku drzewa.

  2. Wybierz swoją aplikację z sekcji CELE , następnie wybierz kartę Informacje , a następnie rozwiń sekcję Typy adresów URL .

  3. Kliknij przycisk + , a następnie dodaj schemat adresu URL dla odwróconego identyfikatora klienta. Aby znaleźć tę wartość:

    1. Otwórz plik konfiguracyjny GoogleService-Info.plist , a następnie poszukaj klucza REVERSED_CLIENT_ID .

    2. Skopiuj wartość tego klucza, a następnie wklej ją w polu Schematy adresów URL na stronie konfiguracji.

    3. Pozostałe pola pozostaw puste.

  4. Kliknij przycisk + , a następnie dodaj drugi schemat adresu URL. Ten identyfikator 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 można znaleźć na karcie Ogólne konfiguracji projektu ( Tożsamość > Identyfikator pakietu ).

Otrzymywanie łą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 firebase::App , przekazując środowisko JNI i jobject do obiektu Java Activity 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 Listener, 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 linków dynamicznych:

#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 podaj go do biblioteki Dynamic Links za pomocą SetListener() lub przekaż jako drugi argument do Initialize .

Aby otrzymywać linki dynamiczne, klasa Listener musi zaimplementować funkcję wirtualną OnDynamicLinkReceived . Zastępując metodę, możesz otrzymać głęboki link, jeśli 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());
  }
};