সমস্যা সমাধান

Display & Video 360 API-এর সাথে কাজ করার সময় অনেকগুলি পরিস্থিতি রয়েছে যেখানে আপনি ত্রুটির সম্মুখীন হতে পারেন। এগুলি আপনার কোডের একটি বাগ, অবৈধ ব্যবহারকারীর ইনপুট বা এমনকি API এর সাথে একটি সমস্যার সাথে সম্পর্কিত হতে পারে। কারণ যাই হোক না কেন, ত্রুটিগুলি কীভাবে সমাধান করতে হয় তা জানা উন্নয়ন প্রক্রিয়ার একটি গুরুত্বপূর্ণ অংশ। এই গাইড আপনাকে শুরু করার জন্য কিছু সেরা অনুশীলন টিপস প্রদান করবে।

মৌলিক পর্যালোচনা

  1. পূর্বশর্ত নির্দেশিকা পর্যালোচনা করুন. আপনার ডিসপ্লে এবং ভিডিও 360 এবং একটি সঠিকভাবে কনফিগার করা API প্রকল্পে অ্যাক্সেস আছে তা নিশ্চিত করুন।
  2. যদি আপনার প্রতিক্রিয়াতে HTTP ত্রুটি থাকে তবে নিশ্চিত করুন যে আপনি এগুলি সাবধানে পর্যালোচনা করেছেন এবং নিশ্চিত করুন যে অনুরোধটি সঠিক API এবং পরিষেবাতে করা হচ্ছে।
  3. অনুমোদন নির্দেশিকা পর্যালোচনা করুন. আপনার অনুরোধে প্রয়োজনীয় OAuth 2.0 শংসাপত্র রয়েছে তা নিশ্চিত করুন।
  4. আপনি সঠিক শংসাপত্র ব্যবহার করছেন তা যাচাই করুন। প্রমাণীকরণ শংসাপত্র তৈরি করার বিষয়ে বিস্তারিত জানার জন্য আপনার অ্যাপ্লিকেশন নির্দেশিকা সেট আপ করুন। আপনি Google OAuth2 API-এর টোকেনইনফো এন্ডপয়েন্টে আপনার অ্যাক্সেস টোকেনটিও পাঠাতে পারেন যে এটি সঠিক API প্রকল্পে জারি করা হয়েছে এবং সঠিক সুযোগ(গুলি) এর জন্য অনুমোদিত:

    POST https://www.googleapis.com/oauth2/v2/tokeninfo?access_token={YOUR_ACCESS_TOKEN}
    
    200 OK
    
    {
     "issued_to": "{API_PROJECT_CLIENT_ID}",
     "audience": "...",
     "scope": "{API_SCOPES}",
     "expires_in": ...
    }
    

ভুল বোঝার

যখন API একটি ত্রুটির সম্মুখীন হয়, তখন এটি সাধারণত একটি error অবজেক্ট ধারণকারী JSON প্রতিক্রিয়া প্রদান করে। এই বস্তুটি যে নির্দিষ্ট ত্রুটির সম্মুখীন হয়েছিল সে সম্পর্কে অতিরিক্ত প্রসঙ্গ প্রদান করে।

{
 "error": {
  "code": 404,
  "message": "Resource type LINE_ITEM does not exist: advertisers/1/lineItems/1",
  "status": "NOT_FOUND"
 }
}

সাধারণত error অবজেক্টের বিষয়বস্তুতে যথেষ্ট তথ্য থাকবে যা আপনাকে কী ভুল হয়েছে তা শনাক্ত করতে সাহায্য করবে। যদি তা না হয়, তাহলে ত্রুটির অর্থ কী তা বের করতে আপনাকে কিছু অতিরিক্ত গবেষণা করতে হতে পারে।

গবেষণা ত্রুটি

  1. সাধারণ ত্রুটিগুলির বিভাগটি পড়ুন, যা প্রায়শই সম্মুখীন হওয়া কিছু ত্রুটির বিবরণ প্রদান করে৷

  2. যদি ত্রুটিটি সাধারণ ত্রুটি বিভাগে আচ্ছাদিত না হয়, তাহলে রেফারেন্স ডকুমেন্টেশন পড়ুন এবং ত্রুটি কোড, স্থিতি এবং বার্তা অনুসন্ধান করার চেষ্টা করুন।

  3. আপনি যদি এমন কোনো ত্রুটির সম্মুখীন হন যা নথিভুক্ত নয়, অনুগ্রহ করে আমাদের জানান।

মূল কারণ চিহ্নিত করা

এই মুহুর্তে আপনি ত্রুটিটি চিহ্নিত করেছেন এবং এর অর্থ কী তা বুঝতে পেরেছেন। যদি তা না হয়, তাহলে ত্রুটিগুলি বোঝার দিকে ফিরে যান বা সাহায্য পাওয়ার জন্য এগিয়ে যান যদি আপনি বিশ্বাস করেন যে আপনি API-এ একটি ত্রুটির সম্মুখীন হয়েছেন যা আপনি নিজে ঠিক করতে পারবেন না৷

আপনি ত্রুটিটি ঠিক করার আগে, এটির কারণ কী তা আপনাকে সনাক্ত করতে হবে৷ প্রায়শই এটি আপনার কোডে একটি বাগ বা একটি অবৈধ ইনপুট মান হবে।

সমস্যাটি আপনার কোডের একটি বাগের সাথে সম্পর্কিত কিনা তা নির্ধারণ করতে, আপনাকে প্রথমে যাচাই করতে হবে যে আপনার কোডটি উদ্দেশ্য অনুযায়ী কাজ করছে। প্রথম পদক্ষেপ হিসাবে, সুস্পষ্ট সমস্যাগুলি পরীক্ষা করার জন্য ব্যর্থ অনুরোধ করার জন্য দায়ী কোডের বিভাগটি পর্যালোচনা করার কথা বিবেচনা করুন। কিছু ক্ষেত্রে এটি সঠিকভাবে কাজ করছে তা নিশ্চিত করতে কোড লাইন-বাই-লাইন দিয়ে ধাপে ধাপে ডিবাগিং টুল ব্যবহার করার প্রয়োজন হতে পারে।

এইচটিটিপি অনুরোধগুলি পরীক্ষা করা হল সম্ভাব্য বাগ সনাক্ত করার আরেকটি কার্যকর উপায়, সেইসাথে অবৈধ ইনপুটের ক্ষেত্রে। অনেক অফিসিয়াল ক্লায়েন্ট লাইব্রেরি HTTP অনুরোধ এবং প্রতিক্রিয়া লগ করার জন্য কনফিগার করা যেতে পারে; আরো বিস্তারিত জানার জন্য আপনার পছন্দের লাইব্রেরির ডকুমেন্টেশন পর্যালোচনা করুন। চার্লস , স্কুইড বা ফিডলারের মতো একটি HTTP প্রক্সিও অনুরোধ এবং প্রতিক্রিয়া লগ ক্যাপচার করতে ব্যবহার করা যেতে পারে। একবার আপনি এই লগগুলি পেয়ে গেলে, আপনার অ্যাপ্লিকেশন দ্বারা সরবরাহ করা অনুরোধের প্যারামিটার মানগুলি সঠিক এবং আপনি যা আশা করেন তার সাথে মেলে তা নিশ্চিত করতে সেগুলি পর্যালোচনা করুন৷

একবার আপনি ত্রুটি সৃষ্টির জন্য দায়ী বাগ বা অবৈধ ইনপুট সনাক্ত করলে, সমাধান আশা করা যায় সুস্পষ্ট হবে। আপনি যদি আটকে থাকেন বা সমস্যাটি কীভাবে সমাধান করবেন তা নিশ্চিত না হন, তবে, সাহায্য পাওয়ার সময় আপনি এখন পর্যন্ত যে তথ্য সংগ্রহ করেছেন তা ব্যবহার করতে পারেন।

সাহায্য পাচ্ছি

যদি আপনি নিজে কোনো ত্রুটি সমাধান করতে না পারেন, তাহলে আপনি Display & Video 360 সহায়তা কেন্দ্রে অবস্থিত এই ফর্মটির মাধ্যমে আমাদের সহায়তা দলের সাথে যোগাযোগ করতে পারেন।

এই ফর্মটি পূরণ করার সময়, আপনি যে সমস্যার মুখোমুখি হচ্ছেন এবং আপনি ইতিমধ্যে যে সমস্যা সমাধানের পদক্ষেপ নিয়েছেন সে সম্পর্কে যতটা সম্ভব তথ্য অন্তর্ভুক্ত করা উচিত। অন্তর্ভুক্ত করার জন্য দরকারী তথ্য:

  • HTTP অনুরোধ এবং প্রতিক্রিয়া লগ. OAuth 2.0 অ্যাক্সেস টোকেন, ইমেল ঠিকানা ইত্যাদির মতো সংবেদনশীল তথ্য সংশোধন করা নিশ্চিত করুন।
  • কোড স্নিপেট। আপনি যদি কোডের একটি নির্দিষ্ট বিভাগে সমস্যাটিকে আলাদা করতে সক্ষম হন বা সমস্যাটি ভাষা-নির্দিষ্ট বলে সন্দেহ করেন, তাহলে আপনি কী করছেন তা ব্যাখ্যা করার জন্য একটি ছোট স্নিপেট অন্তর্ভুক্ত করুন।
  • অতিরিক্ত তথ্য, যেমন রানটাইম/দোভাষী সংস্করণ এবং প্ল্যাটফর্ম, যা সমস্যাটি পুনরুত্পাদন করার চেষ্টা করা অন্যদের জন্য কার্যকর হতে পারে।

সমস্যা ঠিক করা

একবার আপনি সমস্যার কারণ চিহ্নিত করেছেন এবং একটি সমাধান নিয়ে এসেছেন, এটি একটি সমাধান বাস্তবায়নের সময়। যখনই সম্ভব, একটি নিয়ন্ত্রিত পরিবেশে আপনার ফিক্স পরীক্ষা করুন (যেমন একটি অংশীদার বা বিজ্ঞাপনদাতা পরীক্ষার জন্য বিশেষভাবে কনফিগার করা হয়েছে) ভাল এবং খারাপ উভয় ইনপুটগুলির একটি পরিসরের বিরুদ্ধে উত্পাদনে মোতায়েন করার আগে৷