رفتن به محتوای اصلی

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 را همان لحظه ارسال کنید:

typescript
tracker.trackGoal({
  key: "signup_completed",
  value: 1,
});

tracker.trackJourneyStep({
  key: "plan_selected",
  label: "Plan selected",
});

tracker.flush();

flush() معمولاً توسط Tracker به‌صورت خودکار و دوره‌ای انجام می‌شود. زمانی آن را مستقیم فراخوانی کنید که لازم است Eventهای موجود در queue بدون منتظر ماندن برای چرخه بعدی ارسال شوند.

text