अपना प्लैटफ़ॉर्म चुनें:
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 |
अनुरोध में एक ही नाम को एक से ज़्यादा बार दिया गया है. |