Odbieraj linki dynamiczne w C++

Aby odebrać Firebase Dynamic Links, utworzone przez siebie, 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 używa niestandardowych schematów URL na iOS 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ę 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());
  }
};