Tracker API
متدهای عمومی UserTracker برای pageview، goal، revenue، journey، flags، آزمایش و دادههای session.
کلاس UserTracker رابط اصلی برای کار مستقیم با Tracker آلفاناست. از طریق متدهای عمومی این کلاس میتوانید pageview ثبت کنید، Goal و Revenue بفرستید، مراحل Journey را مشخص کنید، اطلاعات کاربر را بهروزرسانی کنید و به Feature Flagها، آزمایشها و دادههای Session دسترسی داشته باشید.
متدهای عمومی فعلی UserTracker:
| متد | نتیجه |
|---|---|
init() | Tracker، pluginها و flush دورهای را شروع میکند و همان instance را برمیگرداند |
destroy() | listenerها و timerها را حذف میکند و پیش از پایان، flush نهایی را انجام میدهد |
trackPageView(path?) | یک pageview را بهصورت دستی برای مسیر فعلی یا path مشخصشده ثبت میکند |
trackRevenue(payload) | یک رویداد Revenue را با اطلاعات ارائهشده به pipeline اضافه میکند |
trackGoal(payload) | یک Goal را برای ثبت رسیدن کاربر به هدف مشخصشده ارسال میکند |
trackJourneyStep(payload) | یک milestone یا مرحله مشخص از Journey کاربر را ثبت میکند |
identify(properties) | ویژگیهای string کاربر را اضافه یا بهروزرسانی میکند و ارزیابیهای وابسته را refresh میکند |
getFlags() / isFeatureEnabled(key) | snapshot فعلی Feature Flagها را میخواند یا وضعیت یک Flag مشخص را بررسی میکند |
fetchFlags() / onFlagsChange(fn) | Feature Flagها را refresh میکند یا تغییرات آنها را بهصورت subscription دنبال میکند |
getAbVariants() / getAbVariant(key) | assignment فعلی آزمایشها را میخواند یا variant مربوط به یک آزمایش مشخص را برمیگرداند |
fetchAbTests(keys?) / onAbTestsChange(fn) | آزمایشها را refresh میکند یا تغییر assignmentها را بهصورت subscription دنبال میکند |
getSession() | یک snapshot فقطخواندنی از Session فعلی برمیگرداند |
getPageViews() / getTimeSpent() / getHeatmapData() | دادههای فعلی نگهداریشده در حافظه Tracker را در اختیار شما قرار میدهد |
subscribe(fn) | به Eventهایی که Tracker emit میکند subscription ایجاد میکند |
emit(event) | یک Event پشتیبانیشده را مستقیماً به pipeline فعلی Tracker اضافه میکند |
flush() | Eventهای موجود در queue فعلی را بدون انتظار برای flush دورهای ارسال میکند |
برای مثال، میتوانید بعد از تکمیل ثبتنام یک Goal ثبت کنید، انتخاب پلن را بهعنوان یکی از مراحل Journey مشخص کنید و در صورت نیاز queue را همان لحظه ارسال کنید:
tracker.trackGoal({
key: "signup_completed",
value: 1,
});
tracker.trackJourneyStep({
key: "plan_selected",
label: "Plan selected",
});
tracker.flush();flush() معمولاً توسط Tracker بهصورت خودکار و دورهای انجام میشود. زمانی آن را مستقیم فراخوانی کنید که لازم است Eventهای موجود در queue بدون منتظر ماندن برای چرخه بعدی ارسال شوند.