Odbieraj linki dynamiczne w C++

Aby otrzymać utworzone linki dynamiczne Firebase, musisz umieścić w aplikacji pakiet SDK Linków dynamicznych i utworzyć firebase::dynamic_links::Listener. , który implementuje funkcję OnDynamicLinkReceived funkcji wirtualnej.

Pakiet SDK C++ działa zarówno na Androida, jak i iOS, ale wymagana jest dodatkowa konfiguracja. dla każdej platformy.

Zanim zaczniesz

Zanim będzie można użyć Linki dynamiczne Firebase, musisz:

  • Zarejestruj swój projekt C++ i skonfiguruj go pod kątem korzystania z Firebase.

    Jeśli Twój projekt w C++ korzysta już z Firebase, to jest już zarejestrowany skonfigurowane na potrzeby Firebase.

  • Dodaj pakiet SDK Firebase C++ do projektu w C++.

Pamiętaj, że dodanie Firebase do projektu C++ wymaga wykonania zadań zarówno w w konsoli Firebase i w otwartym projekcie C++ (np. pobranym pliki konfiguracyjne Firebase z poziomu 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++ używa niestandardowych schematów URL-i na iOS, . Aby obsługiwać odbieranie, musisz dodać do swojej aplikacji niestandardowe schematy adresów URL Linki dynamiczne.

  1. Aby otworzyć konfigurację projektu, po lewej stronie kliknij dwukrotnie jego nazwę widoku drzewa.

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

  3. Kliknij przycisk + i dodaj schemat adresu URL dla odwrotnego identyfikatora klienta. Do znajdź tę wartość:

    1. Otwórz plik konfiguracji GoogleService-Info.plist i odszukaj REVERSED_CLIENT_ID.

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

    3. Pozostałe pola pozostaw puste.

  4. Kliknij przycisk + i dodaj drugi schemat adresu URL. Ten jest taki sam jak identyfikator pakietu aplikacji.

    Jeśli np. identyfikator pakietu to com.example.ios, wpisz tę wartość w polu Schematy adresów URL.

    Identyfikator pakietu aplikacji znajdziesz na karcie Ogólne projektu. konfiguracji (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 lub odniesienia do aktywności Java jako argumentów:

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ć otrzymany link dynamiczny, zaimplementuj i użyj firebase::dynamic_links::Listener zajęcia.

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 funkcję firebase::dynamic_links::Listener i przesłać do biblioteki linków dynamicznych wraz z SetListener(), lub przekazać go jako drugi argument funkcji Zainicjuj.

Aby otrzymywać linki dynamiczne, klasa detektora musi zaimplementować komponent OnDynamicLinkReceived funkcji wirtualnej. Gdy zastąpisz tę metodę, możesz uzyskać precyzyjny link, jeśli 1 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());
  }
};