אימות אירועים

בוחרים את הפלטפורמה הרלוונטית:

‫Measurement Protocol של Google Analytics לא מחזיר קודי שגיאות HTTP, גם אם האירוע מוגדר בצורה שגויה או שחסרים בו פרמטרים נדרשים. כדי לוודא שהאירועים תקינים, אתם צריכים לבדוק אותם מול שרת האימות של Measurement Protocol לפני שתפרסו אותם בסביבת הייצור. אחרי שמוודאים שהאירועים מובְנים בצורה תקינה, צריך לאמת את ההטמעה כדי לוודא שאתם משתמשים במפתחות הנכונים.

אתם יכולים לשלוח קריאה ישירות לשרת האימות או להשתמש בכלי ליצירת אירועים ב-Google Analytics. הכלי ליצירת אירועים ב-Google Analytics מאפשר לכם ליצור אירועים באופן אינטראקטיבי, ולאמת אותם באמצעות שרת האימות של Measurement Protocol.

במדריך הזה מוסבר איך לשלוח אירועים לשרת האימות של Measurement Protocol ל-Google Analytics ואיך לפרש את התגובה.

שליחת אירועים לאימות

ההבדל היחיד בבקשה לאירועים שנשלחים ל-Measurement Protocol ולשרת האימות של Measurement Protocol הוא כתובת ה-URL.

שרת כתובת URL
Measurement Protocol /mp/collect
שרת האימות של Measurement Protocol /debug/mp/collect

כל שאר השדות של הבקשה זהים.

אנחנו ממליצים על הגישה הבאה לאימות:

  • כדי להשתמש בבדיקות אימות מחמירות במהלך הפיתוח, אפשר לבחור באחת מהאפשרויות הבאות:
    • מאמתים את הבקשות באמצעות הכלי ליצירת אירועים.
    • שולחים בקשות לשרת האימות כשהפרמטר validation_behavior מוגדר לערך ENFORCE_RECOMMENDATIONS.
  • בסביבת הייצור, שולחים בקשות בלי להגדיר את validation_behavior כדי לצמצם את הנתונים שנדחים על ידי Measurement Protocol.

דוגמה לאירוע לא תקין

הקוד הבא מראה אירוע לא תקין שנשלח לשרת האימות של Measurement Protocol:

const firebaseAppId = "FIREBASE_APP_ID";
const apiSecret = "API_SECRET";

fetch(`https://www.google-analytics.com/debug/mp/collect?firebase_app_id=${firebaseAppId}&api_secret=${apiSecret}`, {
  method: "POST",
  headers: {
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    app_instance_id: "APP_INSTANCE_ID",
    validation_behavior: "ENFORCE_RECOMMENDATIONS",
    events: [{
      // Event names must start with an alphabetic character.
      name: "_badEventName",
      params: {},
    }]
  })
});

דוגמה לאירוע תקין

הקוד הבא מראה אירוע תקין שנשלח לשרת האימות של Measurement Protocol. הבקשה הזו תניב מערך validationMessages ריק בתשובה, כמו שמוצג בקטע תגובת אימות.

const firebaseAppId = "FIREBASE_APP_ID";
const apiSecret = "API_SECRET";

fetch(`https://www.google-analytics.com/debug/mp/collect?firebase_app_id=${firebaseAppId}&api_secret=${apiSecret}`, {
  method: "POST",
  headers: {
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    app_instance_id: "APP_INSTANCE_ID",
    validation_behavior: "ENFORCE_RECOMMENDATIONS",
    events: [{
      name: "level_up",
      params: {
        level: 2,
        character: "MyHero"
      },
    }]
  })
});

תגובת אימות

זוהי התגובה של שרת האימות לדוגמה של האירוע הלא תקין.

{
  "validationMessages": [
    {
      "fieldPath": "events",
      "description": "Event at index: [0] has invalid name [_badEventName]. Names must start with an alphabetic character.",
      "validationCode": "NAME_INVALID"
    }
  ]
}

זו התגובה של שרת האימות לבקשה שאין בה בעיות אימות:

{
  "validationMessages": []
}

תשובה

מפתח סוג תיאור
validationMessages Array<ValidationMessage> מערך של הודעות אימות.

ValidationMessage

מפתח סוג תיאור
fieldPath מחרוזת הנתיב לשדה שלא היה תקין.
description מחרוזת תיאור של השגיאה.
validationCode ValidationCode קוד אימות שמתאים לשגיאה.

ValidationCode

ערך תיאור
VALUE_INVALID הערך שצוין בשדה fieldPath לא תקין. לעיון במגבלות
VALUE_REQUIRED לא צוין ערך חובה בשדה fieldPath.
NAME_INVALID השם שצוין לא תקין. לעיון במגבלות
NAME_RESERVED השם שצוין הוא אחד מהשמות השמורים. שמות שמורים
VALUE_OUT_OF_BOUNDS הערך שצוין גדול מדי. לעיון במגבלות
EXCEEDED_MAX_ENTITIES היו יותר מדי פרמטרים בבקשה. לעיון במגבלות
NAME_DUPLICATED אותו שם צוין יותר מפעם אחת בבקשה.