يوفّر factories
واجهة عالية المستوى لإنشاء العمليات والموارد
باستخدام مكتبة العميل.
يتم إنشاء طرق المصانع تلقائيًا لجميع الموارد والعناصر المُدرَجة في القائمة والعمليات وأنواع الخدمات التي تقدّمها Google Ads API.
العمليات
توفّر المكتبة طرقًا سهلة الاستخدام هي client.operation.create_resource.<resource_type>
وclient.operation.update_resource.<resource_type>
وclient.operation.remove_resource.<resource_type>
لإنشاء عمليات بسهولة للعمل مع Google Ads API.
في ما يلي مثال على إنشاء مورد:
campaign_budget_operation = client.operation.create_resource.campaign_budget do |cb|
cb.name = "Interplanetary Budget #{(Time.new.to_f * 1000).to_i}"
cb.delivery_method = :STANDARD
cb.amount_micros = 500000
end
return_budget = client.service.campaign_budget.mutate_campaign_budgets(
customer_id,
[campaign_budget_operation]
)
يُرجى العِلم أنّ العنصر الذي تم إرجاعه إلى العنصر cb
هو مثيل جديد من
CampaignBudget
يمكنك تغييره بعد ذلك، ويتم عرض عملية الإنشاء المناسبة لمحاولة
CampaignBudgetService
.
وبالمثل، نوفّر طرقًا سهلة لإجراء التعديلات التالية:
# if you only have a resource name
update_operation = client.operation.update_resource.campaign(campaign_resource_name) do |camp|
camp.status = :PAUSED
end
campaign_service.mutate_campaigns(customer_id, [update_operation])
# if you have a full resource proto
update_operation = client.operation.update_resource.campaign(campaign) do
campaign.name = "A different interplanetary Cruise #{(Time.new.to_f * 1000).to_i}"
end
campaign_service.mutate_campaigns(customer_id, [update_operation])
تعرض هذه الطلبات عملية تعديل منسَّقة بشكل جيد، مع قناع حقل مملوء مسبقًا لتحديث المورد في Google Ads API.
في ما يلي مثال على إزالة مورد باستخدام مسار مورد:
remove_operation = client.operation.remove_resource.campaign(campaign_resource_name)
campaign_service.mutate_campaigns(customer_id, [remove_operation])
إذا كنت تفضّل العمل على العملية بنفسك، يمكنك الحصول على عملية أولية ثم تعبئة الحقول يدويًا.
operation = client.operation.campaign
الموارد
توفّر المكتبة client.resource.<resource_type>
كطريقة ملائمة ل
تهيئة عناصر الموارد:
campaign.network_settings = client.resource.network_settings do |ns|
ns.target_google_search = true
ns.target_search_network = true
ns.target_content_network = false
ns.target_partner_search_network = false
end
يتم إنشاء مثيل جديد لنوع المورد المطلوب وإرساله إلى الكتلة التي تم تمريرها لتحديد الحقول.
الخدمات
توفّر المكتبة client.service.<service_name>
كطريقة ملائمة للحصول على مثيلات الخدمات:
campaign_service = client.service.campaign
عمليات التعداد
ننصحك باستخدام بنية الرموز لضبط حقول التعدادات بشكل ثابت
(على سبيل المثال، campaign.status = :PAUSED
). ومع ذلك، إذا كنت تريد إدراج كل
القيم الصالحة لتعداد معيّن، نوفّر أيضًا طرقًا لذلك:
client.enum.ad_type.each { |x| p x }
:SHOPPING_PRODUCT_AD
:GMAIL_AD
:UNKNOWN
:UNSPECIFIED
:CALL_ONLY_AD
:VIDEO_AD
:IMAGE_AD
:EXPANDED_DYNAMIC_SEARCH_AD
:RESPONSIVE_DISPLAY_AD
:TEXT_AD
:LEGACY_RESPONSIVE_DISPLAY_AD
:LEGACY_APP_INSTALL_AD
:APP_AD
:SHOPPING_SMART_AD
:EXPANDED_TEXT_AD
:HOTEL_AD
:RESPONSIVE_SEARCH_AD
ضبط إصدارات Google Ads API صراحةً
يمكنك أيضًا ضبط إصدار صراحةً:
client.resource.v19.[entity]
client.operation.v19.[operation]
client.service.v19.[service]
client.enum.v19.[enum]