منصوبے کے بارے میں

# Analytics صفحہ وزٹس، کسٹم ایونٹس، اور دورکھنے والوں کی شناخت کو ٹریک کرنے کے لیے ایک ہلکا پھلکا analytics انتزاعی تہہ۔ pluggable architecture کے ذریعے کسی بھی تھرڈ پارٹی analytics ٹول یا اپنے backend کے ساتھ کام کرنے کے لیے ڈیزائن کیا گیا۔ ## خصوصیات - تھرڈ پارٹی انٹیگریشنز کے لیے توسیع پذیر plugin سسٹم - time travel اور offline mode سے analytics کا ٹیسٹ اور ڈیبگنگ - tracking calls کو تبدیل کرنے کے لیے lifecycle hooks - Isomorphic — browser اور Node.js دونوں میں کام کرتا ہے - analytic libraries لوڈ ہونے تک events کو queue کرتا ہے - تھرڈ پارٹی اسکرپٹس کو مشروط طور پر لوڈ کرتا ہے - offline کام کرتا ہے - TypeScript سپورٹ ## انسٹالیشن ```bash npm install analytics --save ``` npx yarn، pnpm، اور bun کے ذریعے بھی دستیاب ہے۔ ## استعمال ```js import Analytics from 'analytics' import googleAnalytics from '@analytics/google-analytics' import customerIo from '@analytics/customerio' const analytics = Analytics({ app: 'my-app-name', version: 100, plugins: [ googleAnalytics({ measurementIds: ['G-XXXXXXXX'] }), customerIo({ siteId: '123-xyz' }) ] }) analytics.page() analytics.track('userPurchase', { price: 20, item: 'pink socks' }) analytics.identify('user-id-xyz', { firstName: 'bill', lastName: 'murray' }) ``` ## core API - `analytics.identify(userId, traits)` — دورکھنے والے کی شناخت کریں اور ان کا data localStorage میں سیٹ کریں - `analytics.track(eventName, payload)` — custom analytics events کو ٹریک کریں - `analytics.page(data)` — page view tracking کو trigger کریں - `analytics.user(key)` — stored user data حاصل کریں - `analytics.reset()` — visitor information کو clear کریں اور state کو reset کریں - `analytics.ready(callback)` — جب تمام providers لوڈ ہو جائیں تو fire کریں - `analytics.on(event, callback)` / `analytics.once(event, callback)` — lifecycle events سنیں - `analytics.getState(key)` — internal state کے sub-keys تک رسائی حاصل کریں - `analytics.storage` — data کو persist کرنے کے utilities (localStorage, cookies) - `analytics.plugins.enable/disable(namespace)` — plugins کو dynamically manage کریں ## Plugin System لائبریری میں Google Analytics، Segment، Amplitude، AWS Pinpoint,Countly، Crazy Egg, Churnzero، اور activity-utils سمیت بہت سے official plugins شامل ہیں۔ community plugins بھی دستیاب ہیں۔ events پر react کرنے یا custom methods add کرنے کے لیے custom plugins بنائے جا سکتے ہیں۔ ## فلسفہ - کسی single analytics ٹول پر lock نہ ہوں - plugins array کو adjust کر کے providers کو آسانی سے add/remove کریں - دورکھنے والوں کی privacy کا احترام کریں اور opt-out mechanisms کی اجازت دیں - business logic extensibility کے لیے pluggable API