এপিআই স্ট্রাকচার

ভিডিও: ২০১৯ কর্মশালার পরিষেবা এবং সম্পদ আলোচনা দেখুন

এই নির্দেশিকাটি Google Ads API তৈরির প্রাথমিক উপাদানগুলির সাথে পরিচয় করিয়ে দেয়। Google Ads API-তে রিসোর্স এবং পরিষেবা থাকে। একটি রিসোর্স একটি Google Ads সত্তাকে প্রতিনিধিত্ব করে, যখন পরিষেবাগুলি Google Ads সত্তাগুলিকে পুনরুদ্ধার এবং পরিচালনা করে।

বস্তুর শ্রেণিবিন্যাস

একটি Google বিজ্ঞাপন অ্যাকাউন্টকে বস্তুর শ্রেণিবিন্যাস হিসেবে দেখা যেতে পারে।

প্রচারাভিযানের মডেল

  • একটি অ্যাকাউন্টের শীর্ষ স্তরের সম্পদ হল গ্রাহক

  • প্রতিটি গ্রাহকের এক বা একাধিক সক্রিয় প্রচারণা থাকে।

  • প্রতিটি প্রচারণায় এক বা একাধিক বিজ্ঞাপন গোষ্ঠী থাকে, যা আপনার বিজ্ঞাপনগুলিকে যৌক্তিক সংগ্রহে গোষ্ঠীবদ্ধ করতে ব্যবহৃত হয়।

  • একটি বিজ্ঞাপন গ্রুপ বিজ্ঞাপন হল এমন একটি বিজ্ঞাপন যা আপনি চালাচ্ছেন। প্রতিটি বিজ্ঞাপন গ্রুপে শুধুমাত্র একটি বিজ্ঞাপন গ্রুপ বিজ্ঞাপন থাকতে পারে এমন অ্যাপ প্রচারাভিযান ব্যতীত, প্রতিটি বিজ্ঞাপন গ্রুপে এক বা একাধিক বিজ্ঞাপন গ্রুপ বিজ্ঞাপন থাকে।

আপনি একটি বিজ্ঞাপন গ্রুপ বা প্রচারণার সাথে এক বা একাধিক AdGroupCriterion বা CampaignCriterion সংযুক্ত করতে পারেন। এগুলি এমন মানদণ্ড উপস্থাপন করে যা বিজ্ঞাপনগুলি কীভাবে ট্রিগার করা হয় তা নির্ধারণ করে।

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

অবশেষে, আপনি অ্যাকাউন্ট, প্রচারণা, অথবা বিজ্ঞাপন গোষ্ঠী স্তরে এক্সটেনশন সংযুক্ত করতে পারেন। এক্সটেনশনগুলি আপনাকে আপনার বিজ্ঞাপনগুলিতে অতিরিক্ত তথ্য প্রদান করতে দেয়, যেমন ফোন নম্বর, রাস্তার ঠিকানা, অথবা প্রচার।

রিসোর্স

রিসোর্সগুলি আপনার Google বিজ্ঞাপন অ্যাকাউন্টের মধ্যে থাকা সত্তাগুলিকে প্রতিনিধিত্ব করে। Campaign এবং AdGroup হল রিসোর্সের দুটি উদাহরণ।

অবজেক্ট আইডি

গুগল বিজ্ঞাপনের প্রতিটি বস্তু তার নিজস্ব আইডি দ্বারা চিহ্নিত করা হয়। এই আইডিগুলির মধ্যে কিছু সমস্ত গুগল বিজ্ঞাপন অ্যাকাউন্টের জন্য বিশ্বব্যাপী অনন্য, আবার অন্যগুলি কেবল একটি সীমিত পরিসরের মধ্যে অনন্য।

অবজেক্ট আইডি অনন্যতার পরিধি বিশ্বব্যাপী অনন্য?
বাজেট আইডি বিশ্বব্যাপী হাঁ
ক্যাম্পেইন আইডি বিশ্বব্যাপী হাঁ
বিজ্ঞাপনগ্রুপ আইডি বিশ্বব্যাপী হাঁ
বিজ্ঞাপন আইডি বিজ্ঞাপন গোষ্ঠী না, কিন্তু ( AdGroupId , AdId ) জোড়া বিশ্বব্যাপী অনন্য
বিজ্ঞাপনগ্রুপের মানদণ্ড আইডি বিজ্ঞাপন গোষ্ঠী না, কিন্তু ( AdGroupId , CriterionId ) জোড়া বিশ্বব্যাপী অনন্য
ক্যাম্পেইন ক্রাইটেরিয়ন আইডি প্রচারণা না, কিন্তু ( CampaignId , CriterionId ) জোড়া বিশ্বব্যাপী অনন্য
বিজ্ঞাপন এক্সটেনশন প্রচারণা না, কিন্তু ( CampaignId , AdExtensionId ) জোড়া বিশ্বব্যাপী অনন্য
লেবেল আইডি বিশ্বব্যাপী হাঁ
ব্যবহারকারীর তালিকা আইডি বিশ্বব্যাপী হাঁ
সম্পদ আইডি বিশ্বব্যাপী হাঁ

আপনার Google Ads অবজেক্টের জন্য স্থানীয় স্টোরেজ ডিজাইন করার সময় এই আইডি নিয়মগুলি কার্যকর হতে পারে।

কিছু অবজেক্ট একাধিক এন্টিটি টাইপের জন্য ব্যবহার করা যেতে পারে। এই ধরনের ক্ষেত্রে, অবজেক্টটিতে একটি type ফিল্ড থাকে যা এর বিষয়বস্তু বর্ণনা করে। উদাহরণস্বরূপ, AdGroupAd একটি টেক্সট বিজ্ঞাপন, হোটেল বিজ্ঞাপন, অথবা স্থানীয় বিজ্ঞাপনের মতো কোনও অবজেক্টকে উল্লেখ করতে পারে। এই মানটি AdGroupAd.ad.type ফিল্ডের মাধ্যমে অ্যাক্সেস করা যেতে পারে এবং AdType enum-এ একটি মান প্রদান করে।

রিসোর্সের নাম

প্রতিটি রিসোর্সকে একটি resource_name স্ট্রিং দ্বারা স্বতন্ত্রভাবে চিহ্নিত করা হয়, যা রিসোর্স এবং এর অভিভাবকদের একটি পাথে সংযুক্ত করে। উদাহরণস্বরূপ, ক্যাম্পেইন রিসোর্সের নামগুলির ফর্ম হল:

customers/customer_id/campaigns/campaign_id

তাহলে 987654 আইডি সহ একটি প্রচারণার জন্য যার Google বিজ্ঞাপন অ্যাকাউন্টে গ্রাহক আইডি 1234567 রয়েছে, resource_name হবে:

customers/1234567/campaigns/987654

সেবা

পরিষেবাগুলি আপনাকে আপনার Google বিজ্ঞাপন সত্তাগুলি পুনরুদ্ধার এবং সংশোধন করতে দেয়। তিন ধরণের পরিষেবা রয়েছে: পরিবর্তন, অবজেক্ট এবং স্ট্যাট পুনরুদ্ধার এবং মেটাডেটা পুনরুদ্ধার পরিষেবা।

বস্তু পরিবর্তন (পরিবর্তন) করুন

এই পরিষেবাগুলি একটি mutate রিকোয়েস্ট ব্যবহার করে একটি সংশ্লিষ্ট রিসোর্স ধরণের ইনস্ট্যান্স পরিবর্তন করে। তারা একটি get রিকোয়েস্টও সরবরাহ করে যা একটি একক রিসোর্স ইনস্ট্যান্স পুনরুদ্ধার করে, যা একটি রিসোর্সের কাঠামো পরীক্ষা করার জন্য কার্যকর হতে পারে।

পরিষেবার উদাহরণ:

প্রতিটি mutate রিকোয়েস্টে সংশ্লিষ্ট operation অবজেক্ট অন্তর্ভুক্ত থাকতে হবে। উদাহরণস্বরূপ, CampaignService.MutateCampaigns পদ্ধতিতে CampaignOperation এর এক বা একাধিক উদাহরণ আশা করা হয়। অপারেশন সম্পর্কে বিস্তারিত আলোচনার জন্য Changing and Inspecting Objects দেখুন।

সমসাময়িক পরিবর্তন ঘটে

একাধিক উৎসের মাধ্যমে একটি Google বিজ্ঞাপন অবজেক্ট একসাথে পরিবর্তন করা যাবে না। যদি আপনার অ্যাপের মাধ্যমে একই অবজেক্ট আপডেট করার জন্য একাধিক ব্যবহারকারী থাকেন, অথবা আপনি যদি একাধিক থ্রেড ব্যবহার করে সমান্তরালভাবে Google বিজ্ঞাপন অবজেক্ট পরিবর্তন করেন, তাহলে এর ফলে সমস্যা দেখা দিতে পারে। এর মধ্যে রয়েছে একই অ্যাপ্লিকেশনের একাধিক থ্রেড থেকে অথবা বিভিন্ন অ্যাপ্লিকেশন থেকে (যেমন, আপনার অ্যাপ এবং একই সাথে একটি Google বিজ্ঞাপন UI সেশন) অবজেক্ট আপডেট করা।

আপডেট করার আগে কোনও অবজেক্ট লক করার কোনও উপায় API প্রদান করে না; যদি দুটি উৎস একই সাথে কোনও অবজেক্টকে মিউটেট করার চেষ্টা করে, তাহলে API একটি DatabaseError.CONCURRENT_MODIFICATION_ERROR উত্থাপন করে।

অ্যাসিঙ্ক্রোনাস বনাম সিঙ্ক্রোনাস মিউটেট

Google Ads API mutate পদ্ধতিগুলি সিঙ্ক্রোনাস। অবজেক্টগুলি mutate করার পরেই API কলগুলি একটি প্রতিক্রিয়া ফেরত দেয়, যার ফলে আপনাকে প্রতিটি অনুরোধের প্রতিক্রিয়ার জন্য অপেক্ষা করতে হয়। যদিও এই পদ্ধতিটি কোডিংয়ের জন্য তুলনামূলকভাবে সহজ, তবে এটি লোড ব্যালেন্সিংয়ে নেতিবাচক প্রভাব ফেলতে পারে এবং প্রক্রিয়াগুলিকে কল সম্পূর্ণ হওয়ার জন্য অপেক্ষা করতে বাধ্য করা হলে সম্পদের অপচয় হতে পারে।

একটি বিকল্প পদ্ধতি হল BatchJobService ব্যবহার করে বস্তুগুলিকে অ্যাসিঙ্ক্রোনাসভাবে পরিবর্তন করা, যা একাধিক পরিষেবার উপর তাদের সমাপ্তির জন্য অপেক্ষা না করে ব্যাচগুলি পরিচালনা করে। একবার একটি ব্যাচ কাজ জমা দেওয়ার পরে, Google Ads API সার্ভারগুলি অ্যাসিঙ্ক্রোনাসভাবে ক্রিয়াকলাপ সম্পাদন করে, প্রক্রিয়াগুলিকে অন্যান্য ক্রিয়াকলাপ সম্পাদনের জন্য মুক্ত করে। আপনি পর্যায়ক্রমে কাজের সমাপ্তির স্থিতি পরীক্ষা করতে পারেন।

অ্যাসিঙ্ক্রোনাস প্রক্রিয়াকরণ সম্পর্কে আরও জানতে ব্যাচ প্রক্রিয়াকরণ নির্দেশিকা দেখুন।

মিউটেট ভ্যালিডেশন

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

এই বৈশিষ্ট্যটি ব্যবহার করার জন্য, অনুরোধের ঐচ্ছিক validate_only বুলিয়ান ক্ষেত্রটিকে true তে সেট করুন। এরপর অনুরোধটি সম্পূর্ণরূপে যাচাই করা হবে যেন এটি কার্যকর করা হবে, কিন্তু চূড়ান্ত কার্যকরকরণ এড়িয়ে যাওয়া হবে। যদি কোনও ত্রুটি না পাওয়া যায়, তাহলে একটি খালি প্রতিক্রিয়া ফেরত পাঠানো হবে। যদি বৈধতা ব্যর্থ হয়, তাহলে প্রতিক্রিয়ায় ত্রুটি বার্তাগুলি ব্যর্থতার পয়েন্টগুলি নির্দেশ করবে।

validate_only সাধারণ নীতি লঙ্ঘনের জন্য বিজ্ঞাপন পরীক্ষা করার ক্ষেত্রে বিশেষভাবে কার্যকর। নির্দিষ্ট শব্দ, বিরামচিহ্ন, বড় হাতের অক্ষর বা দৈর্ঘ্যের মতো নীতি লঙ্ঘন করলে বিজ্ঞাপনগুলি স্বয়ংক্রিয়ভাবে প্রত্যাখ্যাত হয়। একটি খারাপ বিজ্ঞাপন পুরো ব্যাচকে ব্যর্থ করতে পারে। validate_only অনুরোধের মধ্যে একটি নতুন বিজ্ঞাপন পরীক্ষা করলে এই ধরনের যেকোনো লঙ্ঘন দেখা যেতে পারে। এটি কার্যকরভাবে দেখতে নীতি লঙ্ঘনের ত্রুটিগুলি পরিচালনা করার কোড উদাহরণটি দেখুন।

অবজেক্ট এবং পারফর্ম্যান্স পরিসংখ্যান পান

GoogleAdsService হল বস্তু এবং কর্মক্ষমতা পরিসংখ্যান পুনরুদ্ধারের জন্য একক, একীভূত পরিষেবা।

GoogleAdsService জন্য সকল Search এবং SearchStream অনুরোধের জন্য একটি কোয়েরির প্রয়োজন হয় যা কোয়েরি করার জন্য রিসোর্স, রিসোর্স অ্যাট্রিবিউট এবং পারফরম্যান্স মেট্রিক্স, রিকোয়েস্ট ফিল্টার করার জন্য ব্যবহারযোগ্য প্রিডিকেট এবং পারফরম্যান্স পরিসংখ্যান আরও ভেঙে ফেলার জন্য ব্যবহারযোগ্য সেগমেন্টগুলি নির্দিষ্ট করে। কোয়েরি ফর্ম্যাট সম্পর্কে আরও তথ্যের জন্য, Google Ads Query Language নির্দেশিকা দেখুন।

মেটাডেটা পুনরুদ্ধার করুন

GoogleAdsFieldService Google Ads API-তে রিসোর্স সম্পর্কে মেটাডেটা পুনরুদ্ধার করে, যেমন রিসোর্সের জন্য উপলব্ধ অ্যাট্রিবিউট এবং এর ডেটা টাইপ।

এই পরিষেবাটি GoogleAdsService এ একটি কোয়েরি তৈরি করার জন্য প্রয়োজনীয় তথ্য সরবরাহ করে। সুবিধার জন্য, GoogleAdsFieldService দ্বারা প্রদত্ত তথ্য রেফারেন্স ডকুমেন্টেশন ক্ষেত্রগুলিতেও পাওয়া যায়।