Otrzymuj linki dynamiczne w języku C++

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.

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

  2. Wybierz swoją aplikację w sekcji CELE , następnie wybierz kartę Informacje i 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 go 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 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());
  }
};