अपना प्लैटफ़ॉर्म चुनें:
Google Analytics मेज़रमेंट प्रोटोकॉल, HTTP गड़बड़ी के कोड नहीं दिखाता है. भले ही, कोई इवेंट गलत तरीके से बनाया गया हो या उसमें ज़रूरी पैरामीटर मौजूद न हों. इवेंट मान्य हैं या नहीं, इसकी पुष्टि करने के लिए, उन्हें प्रोडक्शन में डिप्लॉय करने से पहले, मेज़रमेंट प्रोटोकॉल के वैलिडेशन सर्वर पर उनकी जांच करें.
यह पुष्टि करने के बाद कि आपके इवेंट सही तरीके से स्ट्रक्चर्ड हैं, आपको लागू करने की पुष्टि करनी चाहिए. इससे यह पक्का किया जा सकेगा कि सही कुंजियों का इस्तेमाल किया जा रहा है.
वैलिडेशन सर्वर को सीधे कॉल किया जा सकता है या Google Analytics इवेंट बिल्डर का इस्तेमाल किया जा सकता है. Google Analytics इवेंट बिल्डर की मदद से, इंटरैक्टिव तरीके से इवेंट बनाए जा सकते हैं. साथ ही, इवेंट की पुष्टि करने के लिए, मेज़रमेंट प्रोटोकॉल वैलिडेशन सर्वर का इस्तेमाल किया जा सकता है.
इस गाइड में, Google Analytics के वैलिडेशन सर्वर के लिए, मेज़रमेंट प्रोटोकॉल को इवेंट भेजने और रिस्पॉन्स को समझने का तरीका बताया गया है.
पुष्टि के लिए इवेंट भेजना
मेज़रमेंट प्रोटोकॉल और मेज़रमेंट प्रोटोकॉल के वैलिडेशन सर्वर को भेजे गए इवेंट के अनुरोध में सिर्फ़ यूआरएल का अंतर होता है.
| सर्वर | URL |
|---|---|
| मेज़रमेंट प्रोटोकॉल | /mp/collect |
| मेज़रमेंट प्रोटोकॉल का वैलिडेशन सर्वर | /debug/mp/collect |
अन्य सभी अनुरोध फ़ील्ड एक जैसे हैं.
हमारा सुझाव है कि पुष्टि करने के लिए यह तरीका अपनाएं:
- डेवलपमेंट के दौरान, पुष्टि करने के लिए सख्त जांच का इस्तेमाल करें. इसके लिए, इनमें से किसी एक विकल्प का इस्तेमाल करें:
- इवेंट बिल्डर की मदद से अनुरोधों की पुष्टि करें.
validation_behaviorकोENFORCE_RECOMMENDATIONSपर सेट करके, वैलिडेशन सर्वर को अनुरोध भेजें.
- प्रोडक्शन में,
validation_behaviorको सेट किए बिना अनुरोध भेजें, ताकि मेज़रमेंट प्रोटोकॉल से अस्वीकार किए गए डेटा को कम किया जा सके.
अमान्य इवेंट का उदाहरण
यहां दिए गए कोड से पता चलता है कि मेज़रमेंट प्रोटोकॉल के वैलिडेशन सर्वर को एक अमान्य इवेंट भेजा जा रहा है:
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: {},
}]
})
});
मान्य इवेंट का उदाहरण
यहां दिए गए कोड में, मेज़रमेंट प्रोटोकॉल के वैलिडेशन सर्वर को भेजा जा रहा एक मान्य इवेंट दिखाया गया है. इस अनुरोध के जवाब में, खाली 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 |
अनुरोध में एक ही नाम को एक से ज़्यादा बार दिया गया है. |