GoogleAdsService سرویس یکپارچه بازیابی و گزارشدهی
شیء Google Ads API است. این سرویس روشهایی دارد که:
- مشخصههای خاصی از اشیا را بازیابی کنید.
- سنجههای عملکرد را برای اشیا براساس محدوده تاریخ بازیابی کنید.
- اشیا را براساس مشخصههایشان مرتب کنید.
- از شرایط برای نشان دادن اینکه کدام اشیا را میخواهید در پاسخ برگردانده شود استفاده کنید.
- تعداد اشیای برگرداندهشده را محدود کنید.
GoogleAdsService میتواند نتایج را به دو روش برگرداند:
GoogleAdsService.SearchStreamهمه ردیفها را در یک پاسخ جاریسازی برمیگرداند که برای مجموعههای نتایج بزرگ (بیشتر از ۱۰٬۰۰۰ ردیف) کارآمدتر است. اگر برنامه شما مجموعههای نتایج کامل را بارگیری میکند یا ردیفها را بهصورت جاریسازی پردازش میکند، این روش توصیه میشود.GoogleAdsService.Searchپاسخهای طولانی را به صفحههای نتایج قابلمدیریت تقسیم میکند. این کار زمانی مفید است که برنامه تعاملی شما هر بار صفحهای از نتایج را نمایش دهد.
درباره صفحهبندی در مقابل جاریسازی بیشتر بدانید.
درخواست دادن
GoogleAdsService.SearchStream
SearchGoogleAdsStreamRequest
و GoogleAdsService.Search
SearchGoogleAdsRequest را انتظار دارد. هر دو نوع درخواست شامل موارد زیر است:
-
customer_id - «زبان پُرسمان Google Ads»
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»، راهنمای «زبان پُرسمان Google Ads» را بررسی کنید.
پردازش پاسخ
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 میتواند ویژگیها و سنجههای متفاوتی از ردیف دیگر در همان مجموعه نتایج داشته باشد؛ بنابراین ردیفها باید بهعنوان شیء درنظر گرفته شوند نه ردیفهای ثابت جدول.
انواع شمارشی UNKNOWN و UNSPECIFIED
منابعی که با مقدار شمارشی UNKNOWN برگردانده میشوند در آن نسخه API بهطور کامل پشتیبانی نمیشوند، درحالیکه UNSPECIFIED نشان میدهد که فیلد شمارشی تنظیم نشده است یا در بند 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.