समस्या का हल

वीडियो: 2019 की वर्कशॉप में, गड़बड़ी को ठीक करने के बारे में दी गई जानकारी देखें

गड़बड़ियां, गलत एनवायरमेंट सेटअप, आपके सॉफ़्टवेयर में मौजूद किसी बग या उपयोगकर्ता के गलत इनपुट की वजह से हो सकती हैं. गड़बड़ी की वजह चाहे जो भी हो, आपको समस्या हल करनी होगी. इसके लिए, आपको अपना कोड ठीक करना होगा या उपयोगकर्ता की गड़बड़ी को ठीक करने के लिए लॉजिक जोड़ना होगा. इस गाइड में, Google Ads API से जुड़ी गड़बड़ियों को ठीक करने के कुछ सबसे सही तरीकों के बारे में बताया गया है.

कनेक्टिविटी पक्का करना

  1. पक्का करें कि आपके पास Google Ads API का ऐक्सेस हो और आपने इसे सही तरीके से सेटअप किया हो. अगर आपके जवाब में कोई एचटीटीपी गड़बड़ी दिखती है, तो पक्का करें कि आपने उन गड़बड़ियों को ठीक कर लिया हो. साथ ही, यह भी पक्का करें कि आपके कोड से उन सेवाओं को ऐक्सेस किया जा रहा हो जिनका इस्तेमाल करना है.

  2. सेवाओं को आपकी पुष्टि करने के लिए, आपके क्रेडेंशियल आपके अनुरोध में एम्बेड किए जाते हैं. Google Ads API के अनुरोधों और जवाबों के स्ट्रक्चर के बारे में जानें. खास तौर पर, अगर आपको क्लाइंट लाइब्रेरी का इस्तेमाल किए बिना कॉल मैनेज करने हैं. हर क्लाइंट लाइब्रेरी के साथ, कॉन्फ़िगरेशन फ़ाइल में अपने क्रेडेंशियल शामिल करने के बारे में खास निर्देश दिए जाते हैं. इसके लिए, क्लाइंट लाइब्रेरी का README देखें.

  3. पुष्टि करें कि आपने सही क्रेडेंशियल का इस्तेमाल किया है. हमारे क्विकस्टार्ट से आपको सही क्रेडेंशियल पाने की प्रोसेस के बारे में पता चलेगा. उदाहरण के लिए, जवाब में गड़बड़ी होने से पता चलता है कि उपयोगकर्ता ने पुष्टि करने के लिए गलत क्रेडेंशियल भेजे हैं:

    {
      "error": {
        "code": 401,
        "message": "Request had invalid authentication credentials. Expected OAuth 2 access token, login cookie or other valid authentication credential. Visit https://developers.google.com/identity/sign-in/web/devconsole-project.",
        "status": "UNAUTHENTICATED",
        "details": [
          {
            "@type": "type.googleapis.com/google.rpc.DebugInfo",
            "detail": "Authentication error: 2"
          }
        ]
      }
    }
    

अगर आपने इन तरीकों को आज़मा लिया है और आपको अब भी समस्याएं आ रही हैं, तो अब Google Ads API की गड़बड़ियों को ठीक करने के बारे में जानें.

समस्या का पता लगाना

Google Ads API आम तौर पर, गड़बड़ियों की जानकारी JSON फ़ेल होने वाले ऑब्जेक्ट के तौर पर देता है. इसमें, जवाब में गड़बड़ियों की सूची शामिल होती है. इन ऑब्जेक्ट में, गड़बड़ी का कोड और एक मैसेज होता है. इस मैसेज में, गड़बड़ी की वजह के बारे में बताया जाता है. ये ऑब्जेक्ट, गड़बड़ी की वजह के बारे में शुरुआती जानकारी देते हैं.

{
  "errors": [
    {
      "errorCode": { "fieldMaskError": "FIELD_NOT_FOUND" },
      "message": "The field mask contained an invalid field: 'keyword/matchtype'.",
      "location": { "operationIndex": "1" }
    }
  ]
}

हमारी सभी क्लाइंट लाइब्रेरी, जवाब में गड़बड़ियों को शामिल करने वाले अपवादों को थ्रो करती हैं. इन अपवादों को कैप्चर करना और लॉग या समस्या हल करने वाली स्क्रीन पर मैसेज प्रिंट करना, शुरू करने का एक अच्छा तरीका है. अपने ऐप्लिकेशन में लॉग किए गए अन्य इवेंट के साथ इस जानकारी को इंटिग्रेट करने से, समस्या की वजह के बारे में अच्छी जानकारी मिलती है. लॉग में गड़बड़ी की पहचान करने के बाद, आपको यह पता लगाना होगा कि इसका क्या मतलब है.

गड़बड़ी के बारे में जानकारी पाना

  1. गड़बड़ियों के बारे में हमारे दस्तावेज़ देखें. इसमें, सबसे ज़्यादा होने वाली गड़बड़ियों के बारे में बताया गया है. इसमें, गड़बड़ी का मैसेज, काम के एपीआई रेफ़रंस, और गड़बड़ी से बचने या उसे ठीक करने का तरीका बताया गया है.

  2. अगर गड़बड़ियों के बारे में हमारे दस्तावेज़ में, गड़बड़ी के बारे में जानकारी नहीं दी गई है, तो हमारे रेफ़रंस दस्तावेज़ देखें और गड़बड़ी की स्ट्रिंग खोजें.

  3. एपीआई के साथ अपने अनुभव शेयर करने वाले अन्य डेवलपर से जुड़ने के लिए, हमारे सहायता चैनलों पर खोजें. ऐसा हो सकता है कि किसी और डेवलपर को भी वही समस्या आई हो और उसने उसे हल कर लिया हो.

  4. पुष्टि करने या खाते की सीमा से जुड़ी समस्याओं को हल करने के लिए, Google Ads सहायता केंद्र पर जाएं. Google Ads API, Google Ads के मुख्य प्रॉडक्ट के नियमों और सीमाओं को इनहेरिट करता है.

  5. ब्लॉग पोस्ट कभी-कभी, आपके ऐप्लिकेशन की समस्याओं को हल करने में मददगार साबित हो सकती हैं.

  6. अगर आपको ऐसी कोई गड़बड़ी मिलती है जिसके बारे में दस्तावेज़ में जानकारी नहीं दी गई है, तो सहायता टीम से संपर्क करें.

गड़बड़ी के बारे में जानकारी पाने के बाद, अब गड़बड़ी की मुख्य वजह का पता लगाएं.

गड़बड़ी की वजह का पता लगाना

गड़बड़ी की वजह का पता लगाने के लिए, अपवाद का मैसेज देखें. जवाब देखने के बाद, संभावित वजह जानने के लिए अनुरोध देखें. Google Ads API के कुछ गड़बड़ी के मैसेज में, fieldPathElements के location फ़ील्ड में शामिल होता है. इससे पता चलता है कि अनुरोध में गड़बड़ी कहां हुई है.GoogleAdsError उदाहरण के लिए:

{
  "errors": [
    {
      "errorCode": {"criterionError": "CANNOT_ADD_CRITERIA_TYPE"},
      "message": "Criteria type can not be targeted.",
      "trigger": { "stringValue": "" },
      "location": {
        "operationIndex": "0",
        "fieldPathElements": [ { "fieldName": "keyword" } ]
      }
    }
  ]
}

किसी समस्या को हल करते समय, आपको पता चल सकता है कि आपका ऐप्लिकेशन, एपीआई को गलत जानकारी दे रहा है. हमारा सुझाव है कि डीबग करने में मदद पाने के लिए, Eclipse जैसे इंटरैक्टिव डेवलपमेंट एनवायरमेंट (आईडीई) का इस्तेमाल करें. यह एक मुफ़्त और ओपन सोर्स आईडीई है, जिसका इस्तेमाल मुख्य तौर पर Java को डेवलप करने के लिए किया जाता है. हालांकि, इसमें अन्य भाषाओं के लिए प्लग-इन भी मौजूद हैं. इसकी मदद से, ब्रेकपॉइंट सेट किए जा सकते हैं और अपने कोड को लाइन-दर-लाइन देखा जा सकता है.

दोबारा जांच करें कि अनुरोध, आपके ऐप्लिकेशन के इनपुट से मेल खाता है या नहीं. उदाहरण के लिए, हो सकता है कि कैंपेन का नाम अनुरोध में शामिल न हो. पक्का करें कि आपने फ़ील्ड मास्क भेजा हो, जो आपके किए जाने वाले अपडेट से मेल खाता हो. Google Ads API, स्पार्स अपडेट की सुविधा देता है. म्यूटेट अनुरोध में फ़ील्ड मास्क से किसी फ़ील्ड को हटाने का मतलब है कि एपीआई को उसे छोड़ देना चाहिए. अगर आपका ऐप्लिकेशन कोई ऑब्जेक्ट वापस लाता है, उसमें बदलाव करता है, और उसे वापस भेजता है, तो हो सकता है कि आप किसी ऐसे फ़ील्ड में लिख रहे हों जिसे अपडेट नहीं किया जा सकता. रेफ़रंस दस्तावेज़ में फ़ील्ड का ब्यौरा देखें. इससे आपको पता चलेगा कि फ़ील्ड को अपडेट करने पर कोई पाबंदी है या नहीं.

सहायता कैसे मिल सकती है

ऐसा हमेशा मुमकिन नहीं होता कि समस्या की पहचान करके उसे खुद ही हल किया जा सके. सहायता पाने के लिए, सहायता टीम से संपर्क किया जा सकता है.

अपनी क्वेरी में ज़्यादा से ज़्यादा जानकारी शामिल करने की कोशिश करें. सुझाए गए आइटम में ये शामिल हैं:

  • सैनिटाइज़ किया गया JSON अनुरोध और जवाब. पक्का करें कि आपने संवेदनशील जानकारी हटा दी हो. जैसे, डेवलपर टोकन या AuthToken.
  • कोड स्निपेट. अगर आपको भाषा से जुड़ी कोई समस्या आ रही है या एपीआई के साथ काम करने में मदद चाहिए, तो कोड का एक स्निपेट शामिल करें. इससे यह समझने में मदद मिलेगी कि आप क्या कर रहे हैं.
  • RequestId. इससे, Google की डेवलपर रिलेशन टीम के सदस्य, प्रोडक्शन एनवायरमेंट के ख़िलाफ़ किए गए आपके अनुरोध का पता लगा सकते हैं. हमारा सुझाव है कि अपने लॉग में requestId रजिस्टर करें. इसे, जवाब में गड़बड़ियों को शामिल करने वाले अपवादों में एक प्रॉपर्टी के तौर पर शामिल किया जाता है. साथ ही, इसमें requestId के अलावा ज़्यादा कॉन्टेक्स्ट भी शामिल होता है.
  • समस्या हल करते समय, रनटाइम या इंटरप्रेटर वर्शन और प्लैटफ़ॉर्म जैसी अतिरिक्त जानकारी भी काम आ सकती है.

समस्या ठीक करें

अब आपको समस्या और उसका समाधान मिल गया है. अब बदलाव करें और टेस्ट खाते (सुझाया गया) या प्रोडक्शन खाते में गड़बड़ी को ठीक करने की सुविधा की जांच करें. अगर गड़बड़ी सिर्फ़ किसी खास प्रोडक्शन खाते के डेटा पर लागू होती है, तो प्रोडक्शन खाते में जांच करें.

अगले चरण

अब आपने इस समस्या को हल कर लिया है. क्या आपको अपने कोड को बेहतर बनाने के कोई तरीके दिखे, ताकि आगे से यह समस्या न हो?

यूनिट टेस्ट का एक अच्छा सेट बनाने से, कोड की क्वालिटी और भरोसेमंदता को काफ़ी हद तक बेहतर बनाने में मदद मिलती है. इससे, नए बदलावों की जांच करने की प्रोसेस भी तेज़ हो जाती है. इससे यह पक्का किया जा सकता है कि नए बदलावों से पिछली फ़ंक्शनैलिटी पर कोई असर न पड़े. समस्या हल करने के लिए, सभी ज़रूरी डेटा को सामने लाने में, गड़बड़ी को ठीक करने की एक अच्छी रणनीति भी अहम होती है.