Как отправить событие page_view из веб-приложения SPA (одностраничного приложения) с помощью Firebase Analytics? - PullRequest
0 голосов
/ 27 января 2020

У меня есть веб-приложение SPA, которое я создал с использованием React + Firebase.

Сейчас я использую Firebase Analytics и хочу регистрировать события page_view для страниц, которые являются маршрутами на стороне клиента ( так как у меня есть мое приложение - одностраничное приложение).

Я не нашел ничего о одностраничных приложениях в документах Firebase Analytics.

https://firebase.google.com/docs/analytics/events

Но я нашел кое-что в gtag.js документах.

От: https://developers.google.com/analytics/devguides/collection/gtagjs/single-page-applications

enter image description here


От: https://firebase.google.com/docs/analytics/events#log_events_3

Подробности реализации нескольких событий и их параметры можно найти в gtag . js ссылка на событие .

И из этой ссылки на событие получаем:

enter image description here

На изображении выше мы видим, что с событием page_view не похоже ни одного параметра, связанного с ним.

ВОПРОС

Я вижу, что Firebase Аналитика уже отправляет первый page_view событие, после того, как мое приложение впервые загружено.

Но как только мои пользователи щелкают по моим внутренним ссылкам и меняют его URL-адрес браузера (клиентская сторона маршрутизируется, никаких вызовов на сервер), как я могу вызвать другое событие page_view для новый URL, созданный react-router-dom?

Как я могу реализовать это с помощью Firebase Analytics? Нужно ли обновлять путь к странице перед отправкой события, как указано в документации gtag.js? Как я могу это сделать?

1 Ответ

1 голос
/ 27 января 2020

Поскольку ваше приложение представляет собой одностраничное приложение, существует только одно событие page_view. Это на самом деле правильное поведение, потому что это означает, что вы можете использовать page_view события, чтобы отслеживать частоту загрузки приложения / страницы.

Когда в вашем приложении отображается определенный c экран, вы будете хочу запустить событие screen_view. Пример этого см. В документации библиотеки AngularFire о видах экрана отслеживания .

...