گرفتن و تنظیم داده های فیلد روی یک ردیاب گاهی اوقات نیاز به ارجاع به خود شی ردیاب دارد. از آنجایی که دستورات اضافه شده به صف فرمان ga()
به صورت ناهمزمان اجرا می شوند و مقداری بر نمی گردند، و از آنجایی که ردیاب ها معمولاً با استفاده از دستور create
می شوند، دریافت ارجاع به یک شی ردیاب مستلزم انتظار تا اجرای دستور create
است. شما می توانید این کار را از طریق پاسخ تماس آماده انجام دهید.
پاسخ تماس آماده
پاسخ تماس آماده تابعی است که می توانید آن را به صف فرمان ga()
اضافه کنید. این تابع به محض بارگیری کامل کتابخانه analytics.js فراخوانی می شود و تمام دستورات قبلی اضافه شده به صف اجرا می شوند.
از آنجایی که تمام دستورات به صف به ترتیب اجرا می شوند، افزودن یک فراخوان آماده به صف پس از افزودن دستور create
، اطمینان حاصل می کند که پس از ایجاد ردیاب، تماس آماده اجرا می شود. اگر یک ردیاب پیشفرض هنگام فراخوانی یک فراخوان آماده ایجاد شده باشد، به عنوان اولین (و تنها) آرگومان پاسخ ارسال میشود.
کد زیر نحوه دسترسی به شی ردیاب پیش فرض و ورود آن به کنسول را نشان می دهد:
ga('create', 'UA-XXXXX-Y', 'auto');
ga(function(tracker) {
// Logs the tracker created above to the console.
console.log(tracker);
});
دریافت ردیاب از طریق متدهای ga Object
اگر از یک ردیاب پیشفرض استفاده نمیکنید، یا اگر بیش از یک ردیاب در صفحه دارید، میتوانید از طریق یکی از روشهای شی ga
به آن ردیابها دسترسی داشته باشید.
هنگامی که کتابخانه analytics.js به طور کامل بارگیری شد، روش های اضافی را به خود شی ga
اضافه می کند. دو تا از این روشها، getByName
و getAll
، برای دسترسی به اشیاء ردیاب استفاده میشوند.
getByName
اگر نام ردیاب مورد نظر خود را می دانید، می توانید این کار را با استفاده از روش getByName
انجام دهید:
ga('create', 'UA-XXXXX-Y', 'auto', 'myTracker');
ga(function() {
// Logs the "myTracker" tracker object to the console.
console.log(ga.getByName('myTracker'));
});
دریافت همه
برای به دست آوردن آرایه ای از تمام ردیاب های ایجاد شده، از متد getAll
استفاده کنید:
ga('create', 'UA-XXXXX-Y', 'auto', 'tracker1');
ga('create', 'UA-XXXXX-Z', 'auto', 'tracker2');
ga(function() {
// Logs an array of all tracker objects.
console.log(ga.getAll());
});
دریافت داده های ذخیره شده در ردیاب
هنگامی که به یک شی ردیاب مرجع دارید، می توانید از روش get
آن برای دسترسی به مقدار هر فیلدی که در حال حاضر در ردیاب ذخیره شده است استفاده کنید.
ga('create', 'UA-XXXXX-Y', 'auto');
ga(function(tracker) {
// Logs the trackers name.
// (Note: default trackers are given the name "t0")
console.log(tracker.get('name'));
// Logs the client ID for the current user.
console.log(tracker.get('clientId'));
// Logs the URL of the referring site (if available).
console.log(tracker.get('referrer'));
});
بروزرسانی اطلاعات
اشیاء ردیاب را می توان با استفاده از روش set
به روز کرد. متد set
ردیاب را می توان بر روی خود یک شی ردیاب یا با افزودن یک دستور set
به صف فرمان ga()
فراخوانی کرد.
از آنجایی که دریافت ارجاع به یک شی ردیاب مستلزم استفاده از پاسخ تماس آماده است، استفاده از صف فرمان ga()
روش توصیه شده برای به روز رسانی ردیاب است.
صف فرمان ga()
.
دستور set
را می توان به دو صورت فراخوانی کرد: با ارسال دو پارامتر، یک فیلد و مقدار مربوط به آن، یا با ارسال یک شی از جفت های فیلد/مقدار.
مثال زیر فیلد page
را روی '/about'
در ردیاب پیشفرض تنظیم میکند:
ga('set', 'page', '/about');
این مثال فیلدهای page
و title
را همزمان تنظیم می کند:
ga('set', {
page: '/about',
title: 'About Us'
});
استفاده از یک ردیاب با نام
اگر از یک ردیاب با نام به جای ردیاب پیش فرض استفاده می کنید، می توانید نام آن را در رشته فرمان ارسال کنید.
تماس زیر فیلد page
را در ردیاب به نام "myTracker" تنظیم می کند:
ga('myTracker.set', 'page', '/about');
روی خود شی ردیاب
اگر مرجعی به شی ردیاب دارید، می توانید مستقیماً متد set
آن ردیاب را فراخوانی کنید:
ga(function(tracker) {
tracker.set('page', '/about');
});
دستور آمپرساند
فیلدهای ردیاب معمولاً با استفاده از نام فیلدهایشان دریافت و تنظیم می شوند. (برای لیست کامل فیلدهای analytics.js و نام آنها به مرجع فیلد مراجعه کنید.)
یک راه جایگزین برای دریافت و تنظیم فیلدها، ارجاع به آنها با نام پارامترهای پروتکل اندازه گیری مربوطه آنهاست.
به عنوان مثال، دو عبارت console.log
زیر هر دو عنوان سند را در کنسول ثبت می کنند:
ga(function(tracker) {
// Gets the title using the analytics.js field name.
console.log(tracker.get('title'));
// Gets the title using the measurement protocol
// parameter name, prefixed with an ampersand.
console.log(tracker.get('&dt'));
});
به طور کلی، دستور آمپرسند توصیه نمیشود و فقط زمانی باید استفاده شود که نام فیلد analytics.js برای پارامتر پروتکل اندازهگیری وجود نداشته باشد (اگر ویژگی جدیدی قبل از پیادهسازی در analytics.js به پروتکل اندازهگیری اضافه شود، گاهی این اتفاق میافتد. ).
مراحل بعدی
اکنون که می دانید چگونه ردیاب ها را ایجاد کنید و داده های ذخیره شده در آنها را به روز کنید، قدم بعدی این است که یاد بگیرید چگونه آن داده ها را برای پردازش به Google Analytics ارسال کنید.