Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

Otrzymuj dynamiczne linki za pomocą C++

Aby otrzymać Firebase dynamiczne linki, które zostały utworzone , musi zawierać dynamiczne linki SDK w swojej aplikacji i utworzyć firebase::dynamic_links::Listener obiektu, który implementuje OnDynamicLinkReceived funkcję wirtualną.

C++ SDK działa zarówno dla systemu Android, jak i iOS, z dodatkową konfiguracją wymaganą dla każdej platformy.

Zanim zaczniesz

Zanim będzie można użyć Firebase dynamiczne linki , 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 Firebase C ++ SDK do swojego projektu C ++.

Należy pamiętać, że dodanie Firebase do C ++ projekt obejmuje zadania zarówno w konsoli Firebase iw swoim C ++ otwartego projektu (na przykład, można pobrać pliki konfiguracyjne Firebase z konsoli, a następnie przenieść je do C ++ projektu).

Dodaj niestandardowe schematy adresów URL (tylko dla iOS)

Biblioteka klienta Firebase Dynamic Links C++ korzysta z niestandardowych schematów adresów URL w systemie iOS do przetwarzania linków. Musisz dodać do swojej aplikacji niestandardowe schematy adresów URL, 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, a następnie wybierz kartę Informacje, a następnie rozwiń sekcję Typy URL.

  3. Kliknij przycisk +, a następnie dodać do schematu URL odwróconą ID klienta. Aby znaleźć tę wartość:

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

    2. Skopiuj wartość tego klucza, a następnie wkleić go do adresu URL Schematy Box na stronie konfiguracji.

    3. Pozostałe pola pozostaw puste.

  4. Kliknij przycisk +, a następnie dodać drugi schemat URL. Ten jest taki sam jak identyfikator pakietu Twojej aplikacji.

    Na przykład, jeśli wiązka ID to com.example.ios wpisać tę wartość do adresu URL Schematy pudełku.

    Można znaleźć swojej aplikacji identyfikator pakietu w zakładce Ogólne konfiguracji projektu (Identity> Paczka Identifier).

Otrzymywanie łącza dynamicznego

Utwórz i zainicjuj aplikację

Zanim będzie można sprawdzić otrzymanej dynamiczne linki, musisz utworzyć i zainicjować firebase::App obiekt.

Dołączyć plik nagłówkowy dla firebase::App :

#include "firebase/app.h"

Następna część różni się w zależności od platformy:

Android

Tworzenie firebase::App , przekazując JNI środowiska i jobject odniesienie do działalności Java jako argumenty:

app = ::firebase::App::Create(::firebase::AppOptions("APPLICATION NAME"), jni_env, activity);

iOS

Tworzenie firebase::App :

app = ::firebase::App::Create(::firebase::AppOptions("APPLICATION NAME"));

Zaimplementuj Listener, aby sprawdzić linki dynamiczne

Aby sprawdzić odebranego Dynamic Link, wdrażać i wykorzystywać firebase::dynamic_links::Listener klasy.

Dołączyć plik nagłówka do odbioru dynamiczne linki:

#include "firebase/dynamic_links.h"

Zainicjować ten dynamiczne linki biblioteki:

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

Utwórz obiekt, który implementuje firebase::dynamic_links::Listener i dostarczyć go do biblioteki dynamiczne linki z SetListener() , lub przekazać go jako drugi argument do Initialize .

Aby otrzymać dynamiczne linki, klasa Listener musi implementować OnDynamicLinkReceived funkcję wirtualną. Zastępując tę ​​metodę, możesz otrzymać precyzyjny link, jeśli taki 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());
  }
};