
Security News
The Changelog Podcast: Practical Steps to Stay Safe on npm
Learn the essential steps every developer should take to stay secure on npm and reduce exposure to supply chain attacks.
@qlean/analytics-client
Advanced tools
Библиотека для инетграции с аналитической платформы. После инициализации, все a.href будут вести на аналитическую платформу.
Для подключения аналитики, на страницу нужно добавить следующий код.
<script>
(function (options) {
window.$qat={options:options,buffer:[],emit:function(t){this.buffer.push(t)}};
var parent=document.getElementsByTagName("script")[0],script=document.createElement("script");
script.async=!0,script.src=options.script,parent.parentNode.insertBefore(script,parent);
})({
script: 'https://storage.googleapis.com/pltf-analytics-dp-clfn-storage/public/bundle.js',
url: 'https://anlt.cloud.qlean.ru/collect',
timeout: 5000,
wrapLink: true
});
</script>
Опции инициализации:
script - ссылка на бандл с клиентским приложениемurl - путь до апи, куда отправляются точкиtimeout - таймаут между отправкой точекwrapLink - признак того, что необходимо обернуть все ссылки на редиректы аналитики (для отслеживания переходов)normalize - функция которая нормализует именя ключейОпция wrapLink может принимать как булевое значение (true/false) в этом случае все сылки (a.href) будут переделаны на
редиректы. Иногда этого не достаточно и для более тонкой настройки вы можете передать в качестве значения
объект следующего формата:
wrapLink: {
pattern: /^.*\.qlean\.ru\/app/i
}
После чего все ссылки, которые удовлетворяют этому условию будут проигнорированы. Например, это можно использовать когда часть ссылку у вас обрабатывается роутером в вашем SPA приложении.
Бывает необходимо в программе использовать имена ключей в формате системы, но перед отправкой их приводит к ожидаемому в
аналитической системе виду, для этого в качестве опции можно определить функцию normalize, которая будет вызыватся
для каждого ключа события.
Пример приведение event_category к принятому виду eventCategory:
normalize: function (key) {
if (key === 'event_category') {
key = 'eventCategory';
}
return key;
}
Для отправки события в clickstream нужно выполнить следующий код.
<script>
$qat.emit({
eventId: '1234',
eventAction: 'autorization',
eventCategory: 'page_view',
phone: '89686421141',
user_id: 'fffff',
device_id: 'asfljsfdaklsdfj',
label: 'hello world'
});
</script>
Следующие поля будут разложены по колонкам в clickstream:
Все остальные поля будут упакованы в виде json объекта в поле eventProperties.
Для начал ее необходимо установить
npm i @qleanlabs/analytics-client
После этого ее можно подключить и использовать
import { Qat } from '@qleanlabs/analytics-client';
const client = new Qat({
buffer: [], // события которые произошли до инициализации модуля
options: {
url: 'https://anlt.cloud.qlean.ru/collect',
timeout: 5000,
wrapLink: {
pattern: /^.*\.qlean\.ru\/app/i
},
normalize: function (key) {
if (key === 'event_category') {
key = 'eventCategory';
}
return key;
}
}
});
client.emit({
eventId: '1234',
eventAction: 'autorization',
eventCategory: 'page_view',
phone: '89686421141',
user_id: 'fffff',
device_id: 'asfljsfdaklsdfj',
label: 'hello world'
});
Данное решение поддерживает также платформы, где не возможно использовать обычный js вызов. Для этого вы можете разместить на странице картинку следующего вида
// просто пиксель
<img hidden="hidden" src="//anlt.cloud.qlean.ru/collect?eid0=123&ea0=page_view&ec0=load&el0=ok"/>
Все параметры события передаются в качестве параметров querystring:
Обратите вниманание, в одном пикселе может быть передано одно или более событие. Для их идексации используется цифра после имени параметра,
например eid0 - это идентификатор первого события
Для отслеживания переходов пользователя, необходимо заменить существуюущую ссылку на следующу
// трекинг переходов
<a href="http://anlt.cloud.qlean.ru/collect?rul=https%3A%2F%2Fqlean.ru%2F%3Futm_source%3D1%26utm_medium%3D2%26utm_campaign%3D3"/>
Где в параметре rul передается ссылка куда нужно перейти в заэкножена через encodeURIComponent.
FAQs
Клиент для платформы аналитики
We found that @qlean/analytics-client demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 10 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Learn the essential steps every developer should take to stay secure on npm and reduce exposure to supply chain attacks.

Security News
Experts push back on new claims about AI-driven ransomware, warning that hype and sponsored research are distorting how the threat is understood.

Security News
Ruby's creator Matz assumes control of RubyGems and Bundler repositories while former maintainers agree to step back and transfer all rights to end the dispute.