Чтобы получать Firebase Dynamic Links, которые вы создали, необходимо добавить в приложение SDK Dynamic Links и создать объект firebase::dynamic_links::Listener, который реализует виртуальную функцию OnDynamicLinkReceived.
SDK C++ работает как на Android, так и на iOS, но для каждой платформы требуется дополнительная настройка.
Подготовка
Чтобы использовать Firebase Dynamic Links, необходимо:
Зарегистрируйте проект C++ и настройте его для использования Firebase.
Если в проекте уже используется Firebase, можете пропустить этот шаг.
Добавьте SDK Firebase C++ в проект C++.
Обратите внимание, что для добавления Firebase в проект C++ нужно выполнить действия как в консоли Firebase, так и в вашем открытом проекте C++. Например, вам потребуется скачать файлы конфигурации Firebase из консоли, а затем переместить их в проект C++.
Добавьте специальные схемы URL (только для iOS)
Клиентская библиотека Firebase Dynamic Links C++ использует специальные схемы URL в iOS для обработки ссылок. Чтобы приложение могло получать Dynamic Links, в него нужно добавить специальные схемы URL.
Чтобы открыть конфигурацию проекта, дважды нажмите на его название в дереве аккаунта слева.
Выберите приложение в разделе TARGETS (ЦЕЛИ), откройте вкладку Info (Информация) и разверните раздел URL Types (Типы URL).
Нажмите кнопку + и добавьте схему URL для обратного идентификатора клиента. Чтобы найти это значение, выполните следующие действия:
Откройте файл конфигурации
и найдите ключGoogleService-Info.plist REVERSED_CLIENT_ID.Скопируйте значение этого ключа и вставьте его в поле URL Schemes (Схемы URL) на странице конфигурации.
Другие поля оставьте пустыми.
Нажмите кнопку + и добавьте вторую схему URL. Он совпадает с идентификатором пакета приложения.
Например, если идентификатор пакета –
com.example.ios, введите это значение в поле URL Schemes (Схемы URL).Идентификатор пакета приложения можно найти на вкладке General (Общие) в настройках проекта (Identity > Bundle Identifier (Идентификация > Идентификатор пакета)).
Получение Dynamic Link
Создание и инициализация приложения
Прежде чем проверять полученные Dynamic Links, вам нужно создать и инициализировать объект firebase::App.
Добавьте заголовочный файл для firebase::App:
#include "firebase/app.h"
Дальнейшие действия зависят от платформы:
Android
Создайте объект firebase::App, передав указатель на среду JNI и ссылку jobject на объект Activity в Java в виде аргументов:
app = ::firebase::App::Create(::firebase::AppOptions("APPLICATION NAME"), jni_env, activity);
iOS
Создайте firebase::App:
app = ::firebase::App::Create(::firebase::AppOptions("APPLICATION NAME"));
Реализуйте прослушиватель для проверки Dynamic Links
Чтобы проверить, получено ли сообщение Dynamic Link, реализуйте и используйте класс firebase::dynamic_links::Listener.
Добавьте заголовочный файл для получения Dynamic Links:
#include "firebase/dynamic_links.h"
Инициализируйте библиотеку Dynamic Links:
::firebase::dynamic_links::Initialize(app, null);
Создайте объект, который реализует firebase::dynamic_links::Listener, и передайте его в библиотеку Dynamic Links с помощью SetListener() или в качестве второго аргумента в Initialize.
Чтобы получать Dynamic Links, ваш класс Listener должен реализовывать виртуальную функцию OnDynamicLinkReceived. Переопределив этот метод, вы сможете получать ссылку на контент, если она была получена.