GoogleAdsService হলো Google Ads API-এর সমন্বিত অবজেক্ট পুনরুদ্ধার এবং রিপোর্টিং পরিষেবা। এই পরিষেবাটিতে এমন কিছু মেথড রয়েছে যা:
- অবজেক্টের নির্দিষ্ট বৈশিষ্ট্যগুলো পুনরুদ্ধার করুন।
- একটি নির্দিষ্ট তারিখের পরিসরের উপর ভিত্তি করে অবজেক্টগুলোর পারফরম্যান্স মেট্রিক্স সংগ্রহ করুন।
- তাদের অ্যাট্রিবিউটের ভিত্তিতে অবজেক্টগুলোকে সাজান।
- রেসপন্সে আপনি কোন অবজেক্টগুলো ফেরত চান, তা নির্দেশ করতে শর্ত ব্যবহার করুন।
- ফেরত আসা অবজেক্টের সংখ্যা সীমিত করুন।
GoogleAdsService দুইভাবে ফলাফল প্রদান করতে পারে:
-
GoogleAdsService.SearchStreamএকটি একক স্ট্রিমিং রেসপন্সে সমস্ত সারি ফেরত দেয়, যা বড় (১০,০০০-এর বেশি সারি) রেজাল্ট সেটের জন্য অধিক কার্যকর। আপনার ব্যাচ অ্যাপ্লিকেশনটি যদি যত দ্রুত সম্ভব সর্বাধিক ডেটা ডাউনলোড করতে চায়, তবে এটি আরও উপযুক্ত হতে পারে। -
GoogleAdsService.Searchবড় আকারের রেসপন্সকে পরিচালনাযোগ্য ফলাফলের পেজে ভাগ করে। আপনার ইন্টারেক্টিভ অ্যাপ্লিকেশনটি যদি একবারে এক পেজ ফলাফল প্রদর্শন করে, তবে এটি আরও বেশি উপযুক্ত হতে পারে।
পেজিং বনাম স্ট্রিমিং সম্পর্কে আরও জানুন।
একটি অনুরোধ করুন
সার্চ পদ্ধতির জন্য একটি SearchGoogleAdsRequest প্রয়োজন, যা নিম্নলিখিত অ্যাট্রিবিউটগুলো নিয়ে গঠিত:
- একজন
customer_id - একটি গুগল অ্যাডস কোয়েরি ল্যাঙ্গুয়েজ
queryযা নির্দেশ করে কোন রিসোর্স থেকে তথ্য কোয়েরি করতে হবে, কোন অ্যাট্রিবিউট, সেগমেন্ট ও মেট্রিক্স পুনরুদ্ধার করতে হবে, এবং কোন অবজেক্টগুলো ফেরত আসবে তা সীমাবদ্ধ করার জন্য কোন শর্তাবলী ব্যবহার করতে হবে। - (শুধুমাত্র
GoogleAdsService.Searchজন্য) পেজিং ব্যবহার করার সময় পরবর্তী ফলাফলের ব্যাচ পুনরুদ্ধার করার জন্য একটি ঐচ্ছিকpage_token।
গুগল অ্যাডস কোয়েরি ল্যাঙ্গুয়েজ সম্পর্কে আরও তথ্যের জন্য, গুগল অ্যাডস কোয়েরি ল্যাঙ্গুয়েজ গাইডটি দেখুন।
একটি প্রতিক্রিয়া প্রক্রিয়া করুন
GoogleAdsService GoogleAdsRow অবজেক্টগুলোর একটি তালিকা ফেরত দেয়।
প্রতিটি GoogleAdsRow একটি কোয়েরি দ্বারা ফেরত আসা অবজেক্টকে প্রতিনিধিত্ব করে এবং এটি একগুচ্ছ অ্যাট্রিবিউট নিয়ে গঠিত, যা SELECT ক্লজে অনুরোধ করা ফিল্ডগুলোর উপর ভিত্তি করে পূরণ করা হয়। যে অ্যাট্রিবিউটগুলো SELECT ক্লজে অন্তর্ভুক্ত নয়, সেগুলো রেসপন্সের GoogleAdsRow অবজেক্টগুলোতে পূরণ করা হয় না।
উদাহরণস্বরূপ, যদিও একটি ad_group_criterion একটি status অ্যাট্রিবিউট থাকে, তবুও এমন কোনো কোয়েরির রেসপন্সে রো-এর ad_group_criterion অ্যাট্রিবিউটের status ফিল্ডটি পূরণ করা হয় না, যেখানে SELECT ক্লজে ad_group_criterion.status অন্তর্ভুক্ত থাকে না। একইভাবে, যদি SELECT ক্লজে campaign রিসোর্সের কোনো ফিল্ড অন্তর্ভুক্ত না থাকে, তাহলে রো-এর campaign অ্যাট্রিবিউটটিও পূরণ করা হয় না।
একই ফলাফল সেটের মধ্যে থাকা প্রতিটি GoogleAdsRow অ্যাট্রিবিউট ও মেট্রিক্স অন্য সারি থেকে ভিন্ন হতে পারে; তাই সারিগুলোকে একটি টেবিলের স্থির সারি হিসেবে না দেখে অবজেক্ট হিসেবে দেখা উচিত।
অজানা এনাম প্রকার
যে রিসোর্সগুলো UNKNOWN টাইপ হিসেবে ফেরত আসে, সেগুলো সেই API ভার্সনে সম্পূর্ণরূপে সমর্থিত নয়। এই রিসোর্সগুলো Google Ads UI-এর মতো অন্যান্য ইন্টারফেসের মাধ্যমে তৈরি করা হয়ে থাকতে পারে। যখন কোনো রিসোর্সের টাইপ UNKNOWN হয়, তখন আপনি মেট্রিক নির্বাচন করতে পারেন, কিন্তু API-এর মাধ্যমে রিসোর্সটি পরিবর্তন করতে পারবেন না। এর একটি উদাহরণ হতে পারে UI-তে একটি নতুন ক্যাম্পেইন বা বিজ্ঞাপন চালু করা, কিন্তু আপনি যে API ভার্সনটি ব্যবহার করছেন তাতে এটি সমর্থিত নয়।
এখানে কিছু বিষয় মনে রাখতে হবে:
-
UNKNOWNটাইপের কোনো রিসোর্স পরবর্তীতে সমর্থিত হতে পারে অথবা অনির্দিষ্টকালের জন্যUNKNOWNথেকে যেতে পারে। -
UNKNOWNটাইপের নতুন অবজেক্ট যেকোনো সময় দেখা যেতে পারে। এই অবজেক্টগুলো ব্যাকওয়ার্ড কম্প্যাটিবল, কারণ enum ভ্যালুটি আগে থেকেই উপলব্ধ থাকে। এই পরিবর্তনের সাথে রিসোর্সগুলো উপলব্ধ হওয়ার সাথে সাথেই যুক্ত করা হয়, যাতে আপনি আপনার অ্যাকাউন্টের একটি সঠিক চিত্র পান। আপনার অ্যাকাউন্টে অন্যান্য ইন্টারফেসের মাধ্যমে নতুন কার্যকলাপের কারণে, অথবা যখন কোনো রিসোর্স আর সমর্থিত থাকে না, তখনUNKNOWNরিসোর্সটি দেখা যেতে পারে। -
UNKNOWNরিসোর্সগুলোর সাথে বিস্তারিত মেট্রিক সংযুক্ত থাকতে পারে, যেগুলো কোয়েরি করা যায়। -
UNKNOWNরিসোর্সগুলো সাধারণত গুগল অ্যাডস UI-তে সম্পূর্ণরূপে দৃশ্যমান থাকে। -
UNKNOWNসম্পদ সাধারণত পরিবর্তন করা যায় না।
বিভাজন
প্রতিক্রিয়াটিতে নিম্নলিখিত প্রতিটি সংমিশ্রণের জন্য একটি করে GoogleAdsRow থাকবে:
-
FROMক্লজে উল্লেখিত প্রধান রিসোর্সের ইনস্ট্যান্স - প্রতিটি নির্বাচিত
segmentফিল্ডের মান
উদাহরণস্বরূপ, এমন একটি কোয়েরির রেসপন্সে, যেখানে FROM campaign সিলেক্ট করা হয় এবং SELECT ক্লজে segments.ad_network_type ও segments.date থাকে, সেখানে নিম্নলিখিত প্রতিটি কম্বিনেশনের জন্য একটি করে রো থাকবে:
-
campaign -
segments.ad_network_type -
segments.date
ফলাফলগুলি নির্বাচিত স্বতন্ত্র ফিল্ডগুলির মান দ্বারা নয়, বরং মূল রিসোর্সের প্রতিটি দৃষ্টান্ত দ্বারা পরোক্ষভাবে বিভক্ত হয়। উদাহরণস্বরূপ,
SELECT campaign.status, metrics.impressions
FROM campaign
WHERE segments.date DURING LAST_14_DAYS
এর ফলে প্রতিটি ক্যাম্পেইনের জন্য একটি করে সারি তৈরি হয়, campaign.status ফিল্ডের প্রতিটি স্বতন্ত্র মানের জন্য আলাদা সারি নয়।