Odbieraj linki dynamiczne w C++

Aby otrzymać Firebase Dynamic Links, utworzony przez Ciebie, musisz dodać do aplikacji pakiet SDK Dynamic Links 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ć Firebase Dynamic Links, 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 C++.

.

Pamiętaj, że dodanie Firebase do projektu C++ wymaga wykonania zadań zarówno w 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 C++ Firebase Dynamic Links w iOS używa niestandardowych schematów URL do . Aby obsługiwać odbieranie, musisz dodać do swojej aplikacji niestandardowe schematy adresów URL Dynamic Links

  1. Aby otworzyć konfigurację projektu, po lewej stronie kliknij dwukrotnie jego nazwę w 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).

Odbieram: Dynamic Link

Utwórz i zainicjuj aplikację

Aby sprawdzić otrzymaną wiadomość Dynamic Links, 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"));

Wdróż detektor, aby sprawdzić Dynamic Links

Aby sprawdzić otrzymaną Dynamic Link, zaimplementuj i użyj firebase::dynamic_links::Listener. zajęcia.

Dołącz plik nagłówka do odbierania Dynamic Links:

#include "firebase/dynamic_links.h"

Zainicjuj bibliotekę Dynamic Links:

::firebase::dynamic_links::Initialize(app, null);

Utwórz obiekt, który implementuje funkcję firebase::dynamic_links::Listener, i dostarcz ją do biblioteki Dynamic Links wraz z SetListener(), lub przekazać go jako drugi argument funkcji Zainicjuj.

Aby otrzymać Dynamic Links, klasa detektora musi implementować 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());
  }
};