GoogleAdsService سرویس گزارشدهی و بازیابی شیء یکپارچه Google Ads API است. این سرویس روشهایی دارد که:
- مشخصههای خاص اشیاء را بازیابی کنید.
- سنجههای عملکرد را برای اشیاء براساس محدوده تاریخ بازیابی کنید.
- مرتب کردن اشیا براساس مشخصههایشان.
- از شرایط برای نشان دادن اینکه کدام اشیاء را میخواهید در پاسخ برگردانده شوند استفاده کنید.
- تعداد اشیاء برگرداندهشده را محدود میکند.
GoogleAdsService میتواند نتایج را به دو روش برگرداند:
GoogleAdsService.SearchStreamهمه ردیفها را در یک پاسخ جاریسازی برمیگرداند که برای مجموعههای نتیجه بزرگ (بیشتر از ۱۰٬۰۰۰ ردیف) کارآمدتر است. اگر برنامهتان مجموعههای کامل نتایج را بارگیری میکند یا ردیفها را بهصورت جاریسازی پردازش میکند، این گزینه توصیه میشود.GoogleAdsService.Searchپاسخهای بزرگ را به صفحههای نتایج قابلمدیریت تقسیم میکند. این کار زمانی مفید است که برنامه تعاملی شما در هر بار یک صفحه از نتایج را نمایش دهد.
درباره صفحهبندی درمقابل جاریسازی بیشتر بدانید.
درخواست دادن
GoogleAdsService.SearchStream
انتظار
SearchGoogleAdsStreamRequest
دارد، و GoogleAdsService.Search انتظار
SearchGoogleAdsRequest
دارد. هر دو نوع درخواست شامل موارد زیر است:
- یک
customer_id - یک Google Ads Query Language
queryکه نشان میدهد کدام منبع را جستجو کنید، ویژگیها، بخشها، و سنجهها را بازیابی کنید، و شرایطی که باید برای محدود کردن اشیاء برگرداندهشده استفاده شود
بسته به روش، درخواست از فیلدهای مختص روش نیز پشتیبانی میکند:
SearchGoogleAdsStreamRequest(فقطSearchStream):summary_row_settingاختیاری برای درخواست ردیف خلاصه حاوی سنجههای انبوهشی
SearchGoogleAdsRequest(فقطSearch):page_tokenاختیاری برای بازیابی دسته بعدی نتایج هنگام استفاده از صفحهبندی (page_sizeروی ۱۰٬۰۰۰ ردیف ثابت است؛ تنظیمpage_sizeدر درخواست باعث ایجاد خطایRequestError.PAGE_SIZE_NOT_SUPPORTEDمیشود)- پیام اختیاری
search_settingsبرای پیکربندیreturn_summary_row،return_total_results_count، وomit_results - یک بولی
validate_onlyاختیاری برای اعتبارسنجی پُرسمان بدون اجرای آن
برای اطلاعات بیشتر درباره Google Ads Query Language، به راهنمای Google Ads Query Language مراجعه کنید.
پردازش پاسخ
GoogleAdsService فهرستی از اشیاء
GoogleAdsRow (درون دستههای جاریشده
SearchGoogleAdsStreamResponse
یا در
SearchGoogleAdsResponse صفحهبندیشده) را برمیگرداند.
هر GoogleAdsRow نشاندهنده شیئی است که توسط پُرسمان برگردانده شده است و از مجموعهای از مشخصهها تشکیل شده است که براساس فیلدهای درخواستشده در عبارت SELECT پُر شدهاند. مشخصههایی که در عبارت SELECT گنجانده نشدهاند،
در اشیاء GoogleAdsRow در پاسخ پر نمیشوند.
برای مثال، اگرچه ad_group_criterion دارای مشخصه status است، فیلد status مشخصه ad_group_criterion ردیف در پاسخ به پُرسمانی که عبارت SELECT شامل ad_group_criterion.status نیست، پر نمیشود. بهطور مشابه، اگر عبارت SELECT شامل هیچ فیلدی از منبع campaign نباشد، مشخصه campaign ردیف پر نمیشود.
هر GoogleAdsRow میتواند مشخصهها و سنجههای متفاوتی نسبت به ردیف دیگر در همان مجموعه نتایج داشته باشد؛ بنابراین، ردیفها باید بهعنوان اشیاء درنظر گرفته شوند نه ردیفهای ثابت یک جدول.
انواع شمارشی «ناشناخته» و «نامشخص»
منابعی که با مقدار enum UNKNOWN برگردانده میشوند، بهطور کامل در آن نسخه API پشتیبانی نمیشوند، درحالیکه UNSPECIFIED نشان میدهد که فیلد enum تنظیم نشده یا در عبارت SELECT درخواست نشده است. منابعی که مقدار شمارشی UNKNOWN دارند ممکن است ازطریق میاناهای دیگر مثل میانای کاربری Google Ads ایجاد شده باشند. وقتی منبعی از نوع UNKNOWN باشد، میتوانید سنجهها را انتخاب کنید، اما نمیتوانید منبع را ازطریق میانای برنامهسازی کاربردی تغییر دهید. نمونهای از این مورد، نوع آگهی یا پویشی است که در میانای کاربر دردسترس است اما در نسخه API که از آن پُرسمان میکنید پشتیبانی نمیشود.
در اینجا چند نکته برای درنظر گرفتن ارائه شده است:
- منبعی با نوع
UNKNOWNمیتواند در نسخه API جدیدتری پشتیبانی شود یا برای همیشهUNKNOWNباقی بماند. - اشیاء جدید با نوع
UNKNOWNممکن است هرزمانی ظاهر شوند. این اشیاء با نسخههای قدیمی سازگار هستند زیرا مقدار شمارشیUNKNOWNدر هر شمارش در API وجود دارد. منابع باUNKNOWNبرگردانده میشوند تا نمای دقیقی از سنجههای عملکرد کلی حسابتان داشته باشید. UNKNOWNمنابع میتوانند سنجههای دقیقی داشته باشند که به آنها پیوست شده است و قابلپرسوجو هستند.- منابع
UNKNOWNمعمولاً بهطور کامل در میانای کاربری Google Ads قابلمشاهده هستند. - منابع
UNKNOWNمعمولاً نمیتوانند ازطریق میانای برنامهسازی کاربردی تغییر کنند.
تقسیم بندی
پاسخ حاوی یک GoogleAdsRow برای هر ترکیب از موارد زیر است:
- نمونهای از منبع اصلی مشخصشده در عبارت
FROM - مقدار هر فیلد
segmentsانتخابشده
برای مثال، پاسخ برای پرسمانی که FROM campaign را انتخاب میکند و
segments.ad_network_type و segments.date را در عبارت SELECT دارد،
برای هر ترکیب از موارد زیر یک ردیف دارد:
campaignsegments.ad_network_typesegments.date
نتایج بهطور ضمنی براساس هر نمونه از منبع اصلی بخشبندی میشوند، نه براساس مقادیر فیلدهای انتخابشده بهصورت جداگانه. برای مثال،
SELECT campaign.status, metrics.impressions
FROM campaign
WHERE segments.date DURING LAST_14_DAYS
به یک ردیف برای هر پویش منجر میشود، نه یک ردیف برای هر مقدار متمایز از فیلد campaign.status.