Adobe Launch - популярное решение для анализа клиентского опыта в приложениях. Это простое руководство по интеграции Adobe Launch в ваше приложение Angular.

Как Adobe Launch работает в приложении Angular

По сути, сценарий запуска Adobe запускается в фоновом режиме, отслеживая изменения в объекте window.digitalData. Ваше приложение будет вносить изменения в этот объект в различных точках, где вы хотите записывать аналитику. Изменения автоматически отправляются на серверы Adobe.

Как настроить Adobe Launch

Здесь важно помнить, что вы должны инициализировать объект window.digitalData перед загрузкой скрипта запуска Adobe. Это означает, что вы не можете просто добавить его как тег скрипта в раздел заголовка HTML. Вместо этого нам нужно иметь возможность контролировать, когда скрипт загружается.

Управляемая инъекция скрипта в Angular

Чтобы убедиться, что сценарий запуска Adobe загружается строго после инициализации объекта digitalData, можно использовать службу ScriptInjector, как показано ниже.

Если вам интересно, что такое бит runOutsideAngular(..), посмотрите мой пост о зонах в Angular.

Теперь вы можете создать AnalyticsService, где у вас есть метод для инициализации объекта window.digitalData, и асинхронный метод для загрузки сценария запуска Adobe, используя ScriptInjectorService выше. Вы можете слышать, как ваша группа аналитиков называет window.digitalObject уровнем данных, отсюда и ссылка в названии метода ниже. Этот объект имеет стандартную схему.

Вызов _satellite.pageBottom() - ключевой.

Следующим шагом является вызов этих методов в правильном порядке при загрузке корневого компонента приложения. Как видите, мы обеспечиваем инициализацию объекта window.digitalData строго перед запросом на загрузку скрипта Adobe Launch.

Как использовать Adobe Launch

Теперь, когда мы настроили Adobe Launch, нам нужно отправлять аналитические данные из приложения в нужное время.

Два типа аналитических данных

Аналитика Adobe Launch может быть значениями данных или событиями.

Запись аналитики ценности данных

Общее свойство данных - это идентификатор страницы, обычно записываемый в digitalData.page.pageInfo.pageId. Чтобы позволить частям приложения устанавливать идентификатор страницы каждый раз, когда вы переходите на новую страницу, вы можете предоставить setPageId(string) метод в AnalyticsService.

Это все, что вам нужно сделать. Об остальном позаботится скрипт запуска Adobe. Вы можете сделать аналогичные методы для других свойств данных.

Запись аналитики событий

Схема объекта digitalData имеет массив events. В отличие от значений данных, для событий мы помещаем события в массив. Не перезаписывайте массив событий. Сценарий Adobe наблюдает за этим массивом и отправляет события на серверы Adobe.

Теперь вы можете использовать Chrome-расширения Adobe Launch, чтобы убедиться, что ваша аналитика запускается в нужное время.

Если вы хотите получить более подробные сведения, обратитесь к эталонной архитектуре Adobe SPA для Adobe Launch здесь.

Авторские права на логотипы Angular и Adobe Launch принадлежат Google и Adobe соответственно.