Чтобы получить созданные вами динамические ссылки 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-адресов, чтобы поддерживать получение динамических ссылок.
Чтобы открыть конфигурацию проекта, дважды щелкните имя проекта в левом древовидном представлении.
Выберите свое приложение в разделе ЦЕЛИ , затем перейдите на вкладку Информация и разверните раздел Типы URL .
Нажмите кнопку + , затем добавьте схему URL-адресов для обратного идентификатора клиента. Чтобы найти это значение:
Откройте файл конфигурации
и найдите ключGoogleService-Info.plist REVERSED_CLIENT_ID
.Скопируйте значение этого ключа, а затем вставьте его в поле «Схемы URL» на странице конфигурации.
Остальные поля оставьте пустыми.
Нажмите кнопку + , затем добавьте вторую схему URL. Это то же самое, что и идентификатор пакета вашего приложения.
Например, если идентификатор пакета —
com.example.ios
, введите это значение в поле «Схемы URL» .Идентификатор пакета вашего приложения можно найти на вкладке «Общие» в конфигурации проекта ( Identity > Bundle Identifier ).
Получение динамической ссылки
Создать и инициализировать приложение
Прежде чем вы сможете проверить полученные динамические ссылки, вам необходимо создать и инициализировать объект firebase::App
.
Включите заголовочный файл для firebase::App
:
#include "firebase/app.h"
Следующая часть зависит от вашей платформы:
Андроид
Создайте firebase::App
, передав среду JNI и jobject
на проект 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()); } };