مصانع

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