קוד מעקב: האובייקט הגלובלי _gaq

ניתן להשתמש באובייקט הגלובלי _gaq ישירות למעקב אסינכרוני אחר דפים באמצעות השיטה push(...). יש לו גם שיטות ליצירת אובייקטים של מעקב, אבל כדאי להשתמש בהן רק במקרים נדירים.

למעקב מסורתי אחר דפים, יש להשתמש במקום זאת באובייקט הגלובלי _gat.

_gaq שיטות אובייקט

פרטי השיטה

_createAsynctracker()

    _createAsyncTracker(accountId, opt_name)
    יצירת אובייקט מעקב שאפשר להפנות אליו בשם כשמבצעים קריאות מעקב אסינכרוניות. אם לא נותנים שם, היא תהיה המחרוזת הריקה '', שמייצגת את מכשיר המעקב שמוגדר כברירת מחדל בתחביר האסינכרוני. אם כבר קיים מכשיר מעקב אסינכרוני בשם הזה, הוא יוחלף במכשיר המעקב החדש.

    הערה: בדרך כלל, השיטה הזו בטוחה לשימוש רק בתוך פונקציה שנדחפה אל _gaq. יש להשתמש בה רק במקרים נדירים.
    _gaq._createAsyncTracker('UA-65432-1');

    פרמטרים

      String accountId המזהה המלא של נכס האינטרנט (למשל UA-65432-1) של אובייקט המעקב.
      String opt_name השם שבו יישמר אובייקט המעקב. צריך להשתמש בשם הזה כדי להפנות לאובייקט המעקב בקריאות מעקב אסינכרוניות מאוחר יותר.

    החזרות

      Tracker אובייקט המעקב שנוצר.

_getAsynctracker()

    _getAsyncTracker(opt_name)
    מחזירה את אובייקט המעקב שנוצר בעבר בשם הנתון. אם לא נותנים שם, המערכת תשתמש בשם ברירת המחדל של מכשיר המעקב (המחרוזת הריקה ''). אם לא קיים אובייקט מעקב בשם הנתון, נוצר מכשיר מעקב חדש, שמוקצה לשם הזה ומוחזר.

    הערה: בדרך כלל, השיטה הזו בטוחה לשימוש רק בתוך פונקציה שנדחפה אל _gaq. יש להשתמש בה רק במקרים נדירים.
    _gaq._getAsyncTracker();

    פרמטרים

      String opt_name השם של אובייקט המעקב שיש לאחזר.

    החזרות

      Tracker אובייקט המעקב שאוחזר או נוצר.

push

    push(commandArray)
    מפעיל את command array הנתון, שהוא פשוט מערך JavaScript שתואם לפורמט הבא. הרכיב הראשון של המערך חייב להיות השם של שיטת אובייקט מעקב שמועברת כמחרוזת. שאר רכיבי המערך הם הערכים שיש להעביר כארגומנטים לפונקציה.

    השימוש הבא הוא אופייני:
    var _gaq = _gaq || [];
    _gaq.push(['_setAccount', 'UA-65432-1']);
    _gaq.push(['_trackPageview']);

    הפונקציה הזו נקראת push, כך שאפשר להשתמש במערך במקום _gaq לפני הטעינה המלאה של Analytics. בזמן שמערכת Analytics בטעינה, פקודות יועברו למערך או יכנסו לתור. כאשר מערכת Analytics מסיימת את הטעינה, היא מחליפה את המערך באובייקט _gaq ומבצעת את כל הפקודות שבתור. הקריאות הבאות אל _gaq.push מועברות לפונקציה הזו, שמריצה פקודות ברגע שהן נשלחות.

    אפשר לתת שם למכשיר מעקבים באמצעות הוספת השם של מכשיר המעקב (לצד נקודה) לפני שם ה-method. אם שם פונקציה תואם לשם של מכשיר מעקב, הוא מופעל במכשיר המעקב הזה.

    הדוגמה הבאה יוצרת מכשיר מעקב שנקרא mytracker באופן שרירותי, ומשתמשת בו.
    var _gaq = _gaq || [];
    _gaq.push(['myTracker._setAccount', 'UA-65432-2']);
    _gaq.push(['myTracker._setDomainName', 'foo.com']);
    _gaq.push(['myTracker._trackPageview']);

    הערה: מכשירי מעקב נוצרים בפעם הראשונה שפקודה מפנה אליהם. מכשיר המעקב שמוגדר כברירת מחדל נוצר באמצעות הפקודה הראשונה שלא מציינת במפורש את שם המעקב. השם של מכשיר המעקב שמוגדר כברירת מחדל הוא המחרוזת הריקה ''.

    בנוסף לדחיפה של מערכי פקודות, אפשר גם לדחוף אובייקטים של פונקציות. האפשרות הזו יכולה להיות שימושית במיוחד לשיטות מעקב שמחזירות ערכים. הפונקציות האלה יכולות להפנות גם אל _gat וגם אל _gaq.
    var _gaq = _gaq || [];
    _gaq.push(function() {
      var tracker = _gat._getTracker('UA-65432-1');
      tracker._trackPageview();
    });

    ניתן גם להשתמש בתחביר Push ישירות ב-HTML של הדף.
    onclick="_gaq.push(['_trackEvent', 'name', value]);"

    כל עוד קטע הקוד האסינכרוני של Analytics מופיע מעל הקישור, הקליקים יתועדו ללא שגיאות, גם אם Analytics לא נטען באופן מלא בזמן הקליק. זהו אחד מהיתרונות הרבים של מעקב אסינכרוני.

    לסיום, במקום להקליד _gaq.push(...) לכל מערך פקודות, אפשר לדחוף את כל הפקודות בבת אחת. הקוד הבא מדגים את השיטה הזו. לפרטים נוספים, אפשר לעיין במדריך לשימוש בקטע האסינכרוני.

    _gaq.push(
      ['_setAccount', 'UA-XXXXX-X'],
      ['_setDomainName', 'example.com'],
      ['_setCustomVar', 1, 'Section', 'Life & Style', 3],
      ['_trackPageview']
    );

      פרמטרים

        Array commandArray הפקודה שצריך להריץ. אפשר לדחוף אחד או יותר מהם באותה קריאה.

      החזרות

        Number מספר הפקודות שלא בוצעו.