analytics.js چگونه کار می کند

تقریباً همه چیزهایی که برای اندازه گیری با analytics.js نیاز دارید را می توان با استفاده از صف فرمان ga() انجام داد. این راهنما توضیح می‌دهد که صف فرمان چیست، چگونه کار می‌کند و چگونه دستورات را برای اندازه‌گیری تعاملات کاربر اجرا کنیم.

صف فرمان ga

تگ گوگل آنالیتیکس یک تابع ga جهانی را تعریف می کند که به عنوان "صف فرمان" شناخته می شود. به آن صف فرمان می گویند زیرا به جای اجرای دستوراتی که فورا دریافت می کند، آنها را به صفی اضافه می کند که اجرا را تا زمانی که کتابخانه analytics.js به طور کامل بارگیری شود به تاخیر می اندازد.

در جاوا اسکریپت، توابع نیز اشیا هستند، به این معنی که می توانند دارای ویژگی باشند. تگ Google Analytics یک ویژگی q را در شی تابع ga به عنوان یک آرایه خالی تعریف می کند. قبل از بارگیری کتابخانه analytics.js، فراخوانی تابع ga() لیستی از آرگومان‌های ارسال شده به تابع ga() را به انتهای آرایه q اضافه می‌کند.

به عنوان مثال، اگر بخواهید تگ Google Analytics را اجرا کنید و بلافاصله محتویات ga.q را به کنسول وارد کنید، یک آرایه به طول دو آیتم را مشاهده خواهید کرد که شامل دو مجموعه از آرگومان‌هایی است که قبلاً به ga() تابع:

console.log(ga.q);

// Outputs the following:
// [
//   ['create', 'UA-XXXXX-Y', 'auto'],
//   ['send', 'pageview']
// ]

هنگامی که کتابخانه analytics.js بارگیری می شود، محتویات آرایه ga.q را بررسی می کند و هر دستور را به ترتیب اجرا می کند. پس از آن، تابع ga() دوباره تعریف می شود، بنابراین همه فراخوانی های بعدی بلافاصله اجرا می شوند.

این الگو به توسعه دهندگان اجازه می دهد تا از صف فرمان ga() بدون نگرانی در مورد اینکه آیا کتابخانه analytics.js بارگذاری شده است یا نه استفاده کنند. این یک رابط ساده و به نظر همزمان ارائه می دهد که بسیاری از پیچیدگی های کد ناهمزمان را از بین می برد.

اضافه کردن دستورات به صف

همه فراخوانی ها به صف فرمان ga() یک امضا مشترک دارند. اولین پارامتر، "فرمان"، رشته ای است که یک متد analytics.js خاص را مشخص می کند. هر پارامتر اضافی آرگومان هایی هستند که به آن متد ارسال می شوند.

روشی که یک فرمان خاص به آن اشاره می‌کند می‌تواند یک متد سراسری باشد، مانند create ، یک متد در شی ga ، یا می‌تواند یک روش نمونه بر روی یک شی ردیاب باشد، مانند send . اگر صف فرمان ga() دستوری را دریافت کند که نمی شناسد، به سادگی آن را نادیده می گیرد و تماس های تابع ga() بسیار ایمن می کند، زیرا تقریباً هرگز منجر به خطا نمی شود.

برای فهرستی جامع از تمام دستوراتی که می‌توانند از طریق صف فرمان اجرا شوند، مرجع صف فرمان ga() را ببینید.

پارامترهای فرمان

اکثر دستورات analytics.js (و روش‌های مربوط به آن‌ها) پارامترها را در قالب‌های مختلف می‌پذیرند. این به عنوان یک راحتی انجام می شود تا انتقال فیلدهای رایج به روش های خاص آسان تر شود.

به عنوان مثال، دو دستور موجود در تگ Google Analytics را در نظر بگیرید:

ga('create', 'UA-XXXXX-Y', 'auto');
ga('send', 'pageview');

در دستور اول، create فیلدهای trackingId ، cookieDomain و name می‌پذیرد تا به‌صورت اختیاری به‌عنوان پارامترهای دوم، سوم و چهارم تعیین شوند. دستور send پارامتر دوم اختیاری hitType می پذیرد.

تمام دستورات یک پارامتر نهایی fieldsObject را می پذیرند که می تواند برای تعیین هر فیلد نیز استفاده شود. به عنوان مثال، دو دستور بالا در تگ را می توان به صورت زیر بازنویسی کرد:

ga('create', {
  trackingId: 'UA-XXXXX-Y',
  cookieDomain: 'auto'
});
ga('send', {
  hitType: 'pageview'
});

برای فهرستی جامع از پارامترهای اختیاری مجاز برای هر یک از دستورات ، مرجع صف فرمان ga() را ببینید.

مراحل بعدی

پس از خواندن این راهنما، باید درک خوبی از نحوه اجرای دستورات با analytics.js و نحوه عملکرد صف فرمان داشته باشید. راهنمای بعدی نحوه ایجاد اشیاء ردیاب را پوشش می دهد.