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.v22.[entity]
client.operation.v22.[operation]
client.service.v22.[service]
client.enum.v22.[enum]