Отслеживание использования веб-приложений в Yii2
У меня есть сложное веб-приложение, написанное на Yii2 / PHP. Как я могу отслеживать использование приложений для пользователей, которые вошли в систему?
Существуют такие инструменты отслеживания, как GA (Google Analytics) или Piwik Analytics с хорошими расширениями Yii2 для интеграции в приложение.
Поскольку эти инструменты предназначены для общедоступных веб-сайтов, они не идеально подходят для отслеживания использования в приложениях:
- Они не заботятся о пользователе
- При входе реферер, с какого сайта пришел пользователь, больше не актуален
- Эти инструменты основаны на фрагментах JavaScript, запущенных в браузере. Здесь подход на стороне сервера будет лучше по соображениям безопасности
Мой вопрос: какая стратегия отслеживания лучше всего подходит для приложения Yii2 и какие расширения Yii2 вы порекомендовали?
2 ответа
Google Analytics будет хорошей ставкой на основе предоставленной вами информации.
GA имеет межсерверный протокол, называемый протоколом измерения GA.
У этого также есть замечательная концепция "Пользователя". Пользователь занимает центральное место в функциональности GA. Если вы не отслеживаете пользователей с помощью GA, значит, вы действительно не используете инструмент по назначению
Пользователь по умолчанию назначается "идентификатором клиента". Для веб-сайтов это хранится в файле cookie, для мобильных устройств - в хранилище приложений. В случае сервера с сервером ваше приложение просто отслеживает IP-адрес и "идентификатор клиента" сеанса / пользователя, а GA позаботится обо всем остальном.
Кроме того, GA позволяет переопределить идентификатор клиента с помощью "идентификатора пользователя", характерного для вашего приложения. Это позволяет отслеживать пользователей, даже когда они входят в систему с разных устройств. https://support.google.com/analytics/answer/3123662?hl=en
GA также дает вам точный контроль над обработкой информации о реферерах. Похоже, соответствует всем вашим критериям!
Прежде всего, я бы начал с регистрации запросов (например, путем расширения класса запросов Yii2 по умолчанию и использования расширения в вашем приложении), сохраняя все соответствующие данные для вас в базе данных, добавляя в него идентификатор пользователя и просто собирая из там.
Таким образом, вам не нужно слишком полагаться на GA, так как у вас уже есть вся информация о пользователе.