Catch up on everthing we announced at this year's Firebase Summit. Learn more

Получать динамические ссылки с C ++

Для того, чтобы получить Firebase динамических ссылок вы создали , вы должны включать в себя динамические ссылках SDK в вашем приложении и создать firebase::dynamic_links::Listener объект , который реализует OnDynamicLinkReceived виртуальной функции.

C ++ SDK работает как для Android, так и для iOS, с некоторыми дополнительными настройками, необходимыми для каждой платформы.

Прежде чем вы начнете

Перед тем, как можно использовать Firebase Dynamic Links , вам необходимо:

  • Зарегистрируйте свой проект C ++ и настройте его для использования Firebase.

    Если ваш проект C ++ уже использует Firebase, значит, он уже зарегистрирован и настроен для Firebase.

  • Добавьте Firebase C ++ SDK для вашего проекта C ++.

Обратите внимание , что добавление Firebase к вашему C ++ проект включает в себя задачу , как в Firebase консоли и в вашем открытом проекте C ++ (например, загрузки Firebase конфигурационных файлов из консоли, а затем переместить их в C ++ проект).

Добавить собственные схемы URL (только для iOS)

Клиентская библиотека Firebase Dynamic Links C ++ использует настраиваемые схемы URL-адресов в iOS для обработки ссылок. Вы должны добавить в приложение настраиваемые схемы URL-адресов для поддержки получения динамических ссылок.

  1. Чтобы открыть конфигурацию проекта, дважды щелкните имя проекта в левом древовидном представлении.

  2. Выберите приложение из раздела мишеней, а затем выберите вкладку Info, затем разверните раздел Типы URL.

  3. Нажмите кнопку +, затем добавить схему URL для обратимого идентификатора клиента. Чтобы найти это значение:

    1. Откройте GoogleService-Info.plist конфигурационный файл, а затем посмотреть на REVERSED_CLIENT_ID ключ.

    2. Скопируйте значение этого ключа, а затем вставьте его в URL схема поля на странице конфигурации.

    3. Остальные поля оставьте пустыми.

  4. Нажмите кнопку +, затем добавьте вторую схему URL. Он совпадает с идентификатором пакета вашего приложения.

    Например, если ваш пакет ID является com.example.ios , введите это значение в URL схемы коробки.

    Вы можете найти расслоение идентификатор приложения на вкладке Общие конфигурации проекта (Удостоверение> Bundle Identifier).

Получение динамической ссылки

Создать и инициализировать приложение

Перед тем, как можно проверить , полученные динамические связи, вам необходимо создать и инициализировать firebase::App объект.

Включите файл заголовка для firebase::App :

#include "firebase/app.h"

Следующая часть зависит от вашей платформы:

Android

Создание firebase::App , проходя JNI среды и jobject ссылку на Java активность в качестве аргументов:

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

iOS

Создание firebase::App :

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

Реализуйте прослушиватель для проверки динамических ссылок

Для проверки принятого Dynamic Link, внедрить и использовать firebase::dynamic_links::Listener класса.

Включите файл заголовка для получения динамических ссылок:

#include "firebase/dynamic_links.h"

Инициализировать библиотеку динамической ссылки:

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

Создайте объект , который реализует firebase::dynamic_links::Listener , и поставить его в библиотеку динамических ссылок с SetListener() , или передать его в качестве второго аргумента Initialize .

Для того, чтобы получить динамические ссылки, ваш класс Слушатель должен реализовать OnDynamicLinkReceived виртуальную функцию. Переопределив метод, вы можете получить глубокую ссылку, если она была получена.

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());
  }
};