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

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

এই নির্দেশিকাটি গুগল অ্যাডস এপিআই (Google Ads API) গঠনকারী প্রধান উপাদানগুলোর সাথে পরিচয় করিয়ে দেয়। গুগল অ্যাডস এপিআই রিসোর্স (resources) এবং সার্ভিস (services) নিয়ে গঠিত। একটি রিসোর্স একটি গুগল অ্যাডস এনটিটি (Google Ads entity)-কে প্রতিনিধিত্ব করে, অপরদিকে সার্ভিসগুলো গুগল অ্যাডস এনটিটিগুলো পুনরুদ্ধার এবং পরিচালনা করে।

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

একটি গুগল অ্যাডস অ্যাকাউন্টকে বিভিন্ন অবজেক্টের একটি স্তরক্রম হিসেবে দেখা যেতে পারে।

প্রচারণার মডেল

  • একটি অ্যাকাউন্টের সর্বোচ্চ স্তরের সম্পদ হলো গ্রাহক

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

  • প্রতিটি ক্যাম্পেইনে এক বা একাধিক অ্যাড গ্রুপ থাকে, যা আপনার বিজ্ঞাপনগুলোকে যৌক্তিক সংগ্রহে ভাগ করতে ব্যবহৃত হয়।

  • একটি অ্যাড গ্রুপ অ্যাড আপনার চালানো বিজ্ঞাপনকে বোঝায়। অ্যাপ ক্যাম্পেইন ছাড়া, যেখানে প্রতিটি অ্যাড গ্রুপে কেবল একটি অ্যাড গ্রুপ অ্যাড থাকতে পারে, প্রতিটি অ্যাড গ্রুপে এক বা একাধিক অ্যাড গ্রুপ অ্যাড থাকে।

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

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

অবশেষে, আপনি অ্যাকাউন্ট, ক্যাম্পেইন বা অ্যাড গ্রুপ লেভেলে অ্যাসেট সংযুক্ত করতে পারেন। অ্যাসেটের মাধ্যমে আপনি আপনার বিজ্ঞাপনে অতিরিক্ত তথ্য যোগ করতে পারেন, যেমন ফোন নম্বর, রাস্তার ঠিকানা বা প্রোমোশন। অ্যাসেট ওভারভিউ দেখুন।

সম্পদ

রিসোর্স বলতে আপনার গুগল অ্যাডস অ্যাকাউন্টের অন্তর্ভুক্ত উপাদানগুলোকে বোঝায়। Campaign এবং AdGroup হলো রিসোর্সের দুটি উদাহরণ।

বস্তু আইডি

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

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

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

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

সম্পদের নাম

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

customers/customer_id/campaigns/campaign_id

সুতরাং, গ্রাহক আইডি 1234567 এর Google Ads অ্যাকাউন্টে আইডি 987654 যুক্ত ক্যাম্পেইনটির জন্য resource_name হবে:

customers/1234567/campaigns/987654

পরিষেবা

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

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

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

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

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

যুগপৎ পরিবর্তন

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

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

অ্যাসিঙ্ক্রোনাস বনাম সিঙ্ক্রোনাস পরিবর্তন

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

এর একটি বিকল্প পদ্ধতি হলো 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 দ্বারা ফেরত দেওয়া তথ্য ফিল্ড রেফারেন্স ডকুমেন্টেশনেও পাওয়া যায়।