GoogleAdsService هي خدمة موحّدة لاسترداد العناصر وإعداد التقارير في Google Ads API. تتضمّن الخدمة طرقًا تتيح لك:
- استرداد سمات محدّدة للعناصر
- استرداد مقاييس الأداء للعناصر استنادًا إلى نطاق زمني
- ترتيب العناصر استنادًا إلى سماتها
- استخدِم الشروط لتحديد العناصر التي تريد عرضها في الردّ.
- تحديد عدد العناصر التي يتم عرضها
يمكن أن تعرض GoogleAdsService النتائج بطريقتَين:
GoogleAdsService.SearchStreamتعرض جميع الصفوف في استجابة واحدة، ما يجعلها أكثر كفاءة لمجموعات النتائج الكبيرة (أكثر من 10,000 صف). ويُنصح بذلك إذا كان تطبيقك ينزّل مجموعات نتائج كاملة أو يعالج الصفوف كبث.- تعمل السمة
GoogleAdsService.Searchعلى تقسيم الردود الكبيرة إلى صفحات نتائج يمكن إدارتها. ويكون هذا الإجراء مفيدًا إذا كان تطبيقك التفاعلي يعرض صفحة من النتائج في كل مرة.
مزيد من المعلومات حول التنقّل بين الصفحات مقابل البث
تقديم طلب
تتوقّع السمة GoogleAdsService.SearchStream
قيمة SearchGoogleAdsStreamRequest،
وتتوقّع السمة GoogleAdsService.Search قيمة
SearchGoogleAdsRequest. يتضمن كلا نوعي الطلبات ما يلي:
customer_id- تمثّل هذه السمة طلب بحث
queryبلغة طلب البحث في "إعلانات Google" يحدّد المورد المطلوب البحث عنه، والسمات والشرائح والمقاييس المطلوب استردادها، والشروط المطلوب استخدامها لتقييد العناصر التي يتم عرضها.
استنادًا إلى الطريقة، يتيح الطلب أيضًا الحقول الخاصة بالطريقة:
SearchGoogleAdsStreamRequest(SearchStreamفقط):- سمة
summary_row_settingاختيارية لطلب صف ملخّص يحتوي على مقاييس مجمّعة
- سمة
SearchGoogleAdsRequest(Searchفقط):-
page_tokenاختياري لاسترداد الدفعة التالية من النتائج عند استخدام التنقّل بين الصفحات (تم تثبيتpage_sizeعند 10,000 صف، ويؤدي ضبطpage_sizeفي الطلب إلى ظهور خطأRequestError.PAGE_SIZE_NOT_SUPPORTED) - رسالة
search_settingsاختيارية لضبطreturn_summary_rowوreturn_total_results_countوomit_results - قيمة منطقية اختيارية للسمة
validate_onlyللتحقّق من صحة طلب البحث بدون تنفيذه
-
لمزيد من المعلومات عن لغة طلب البحث في "إعلانات Google"، اطّلِع على دليل لغة طلب البحث في "إعلانات Google".
معالجة ردّ
تعرض السمة GoogleAdsService قائمة بعناصر
GoogleAdsRow (إما داخل دفعات
SearchGoogleAdsStreamResponse
يتم بثها أو في
SearchGoogleAdsResponse مقسَّمة على صفحات).
يمثّل كل GoogleAdsRow كائنًا يعرضه طلب بحث، ويتألف من مجموعة من السمات التي تتم تعبئتها استنادًا إلى الحقول المطلوبة في عبارة SELECT. لا تتم تعبئة السمات غير المضمّنة في عبارة SELECT في عناصر GoogleAdsRow في الردّ.
على سبيل المثال، على الرغم من أنّ ad_group_criterion يحتوي على سمة status، لا تتم تعبئة حقل status لسمة ad_group_criterion الخاصة بالصف في ردّ على طلب بحث لا تتضمّن فيه عبارة SELECT السمة ad_group_criterion.status. وبالمثل، لا تتم تعبئة السمة campaign للصف إذا لم يتضمّن البند SELECT أي حقول من المورد campaign.
يمكن أن يحتوي كل GoogleAdsRow على سمات ومقاييس مختلفة عن صف آخر في مجموعة النتائج نفسها، لذا يجب عرض الصفوف كعناصر بدلاً من صفوف ثابتة في جدول.
أنواع التعداد UNKNOWN وUNSPECIFIED
إنّ الموارد التي يتم عرضها بقيمة تعداد UNKNOWN لا تكون متوافقة بالكامل مع إصدار واجهة برمجة التطبيقات هذا، في حين تشير القيمة UNSPECIFIED إلى أنّه لم يتم ضبط حقل تعداد أو لم يتم طلبه في عبارة SELECT. يمكن إنشاء الموارد التي تتضمّن قيمة تعداد UNKNOWN من خلال واجهات أخرى، مثل واجهة مستخدم "إعلانات Google". يمكنك اختيار المقاييس عندما يكون للمورد نوع
UNKNOWN، ولكن لا يمكنك تغيير المورد من خلال واجهة برمجة التطبيقات. على سبيل المثال، قد يكون هناك نوع حملة أو نوع إعلان متاح في واجهة المستخدم ولكنه غير متاح في إصدار واجهة برمجة التطبيقات الذي تستعلم عنه.
في ما يلي بعض الاعتبارات التي يجب وضعها في الاعتبار:
- يمكن أن يتوفّر مورد من النوع
UNKNOWNفي إصدار لاحق من واجهة برمجة التطبيقات أو يظلUNKNOWNإلى أجل غير مسمى. - يمكن أن تظهر عناصر جديدة من النوع
UNKNOWNفي أي وقت. هذه العناصر متوافقة مع الأنظمة القديمة لأنّ قيمة التعدادUNKNOWNمتوفّرة في كل تعداد في واجهة برمجة التطبيقات. يتم عرض الموارد معUNKNOWNلكي تتمكّن من الاطّلاع على مقاييس الأداء الإجمالية لحسابك بدقة. - يمكن أن تحتوي موارد
UNKNOWNعلى مقاييس تفصيلية مرفقة بها يمكن الاستعلام عنها. - تكون موارد
UNKNOWNعادةً مرئية بالكامل في واجهة مستخدم "إعلانات Google". - لا يمكن عادةً تغيير موارد
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.