समस्या का हल

अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है वीडियो: साल 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, JSON में गड़बड़ी वाले ऑब्जेक्ट के तौर पर गड़बड़ियों को रिपोर्ट करता है. इनमें ये शामिल हैं जवाब में गड़बड़ियों की सूची. ये ऑब्जेक्ट गड़बड़ी कोड देने के साथ-साथ ऐसा मैसेज क्यों दिख रहा है. इन चीज़ों के आधार पर यह तय किया जा सकता है कि कोई समस्या हो सकती है.

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

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

गड़बड़ी की जांच करना

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

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

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

  4. अगर आपको कोई ऐसी गड़बड़ी मिलती है जिसे दस्तावेज़ में नहीं दर्ज किया गया है, तो इसे हमारा ध्यान वीडियो की ओर खींचना है.

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

  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 (बिना किसी शुल्क के उपलब्ध) और ओपन सोर्स IDE का इस्तेमाल मुख्य रूप से किया जाता है. इसका इस्तेमाल Java को डेवलप करने के लिए किया जाता है, लेकिन इसमें अन्य भाषाएं) का इस्तेमाल करके डीबग किया जा सकता है. इसकी मदद से, ब्रेकपॉइंट सेट किए जा सकते हैं और हर लाइन में अपनी कोड लाइन पर जाएं.

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

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

हर हाल में खुद ही समस्या की पहचान करके उसे हल नहीं किया जा सकता. फ़ोरम के बारे में पूछने से पता चलता है उन हज़ारों डेवलपर से अपने सवाल का जवाब दें जिन्हें शायद इस समस्या का सामना करना पड़ा हो समस्या.

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

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

समस्या को हल करना

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

शेयर करने के बारे में सोचें

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

अगले चरण

अब जब आपने यह समस्या हल कर ली है, तो क्या आपने अपने से बचने के लिए कहें?

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