Join us in person and online for Firebase Summit on October 18, 2022. Learn how Firebase can help you accelerate app development, release your app with confidence, and scale with ease. Register now

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

Оптимизируйте свои подборки Сохраняйте и классифицируйте контент в соответствии со своими настройками.

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

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

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

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

  • Зарегистрируйте свой проект 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. Выберите свое приложение в разделе ЦЕЛИ , затем перейдите на вкладку Информация и разверните раздел Типы URL .

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

    1. Откройте файл конфигурации GoogleService-Info.plist и найдите ключ REVERSED_CLIENT_ID .

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

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

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

    Например, если идентификатор пакета — com.example.ios , введите это значение в поле « Схемы URL ».

    Идентификатор пакета вашего приложения можно найти на вкладке « Общие » в конфигурации проекта ( Identity > Bundle Identifier ).

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

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

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

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

#include "firebase/app.h"

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

Андроид

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

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

iOS

Создайте firebase::App :

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

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

Чтобы проверить полученную динамическую ссылку, реализуйте и используйте класс firebase::dynamic_links::Listener .

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

#include "firebase/dynamic_links.h"

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

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

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

Чтобы получать динамические ссылки, ваш класс Listener должен реализовать виртуальную функцию 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());
  }
};
,

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

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

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

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

  • Зарегистрируйте свой проект 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. Выберите свое приложение в разделе ЦЕЛИ , затем перейдите на вкладку Информация и разверните раздел Типы URL .

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

    1. Откройте файл конфигурации GoogleService-Info.plist и найдите ключ REVERSED_CLIENT_ID .

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

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

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

    Например, если идентификатор пакета — com.example.ios , введите это значение в поле « Схемы URL ».

    Идентификатор пакета вашего приложения можно найти на вкладке « Общие » в конфигурации проекта ( Identity > Bundle Identifier ).

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

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

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

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

#include "firebase/app.h"

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

Андроид

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

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

iOS

Создайте firebase::App :

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

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

Чтобы проверить полученную динамическую ссылку, реализуйте и используйте класс firebase::dynamic_links::Listener .

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

#include "firebase/dynamic_links.h"

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

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

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

Чтобы получать динамические ссылки, ваш класс Listener должен реализовать виртуальную функцию 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());
  }
};