
Product
A New Overview in our Dashboard
We redesigned Socket's first logged-in page to display rich and insightful visualizations about your repositories protected against supply chain threats.
@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
Клиент для платформы аналитики
The npm package @qlean/analytics-client receives a total of 3 weekly downloads. As such, @qlean/analytics-client popularity was classified as not popular.
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.
Product
We redesigned Socket's first logged-in page to display rich and insightful visualizations about your repositories protected against supply chain threats.
Product
Automatically fix and test dependency updates with socket fix—a new CLI tool that turns CVE alerts into safe, automated upgrades.
Security News
CISA denies CVE funding issues amid backlash over a new CVE foundation formed by board members, raising concerns about transparency and program governance.