مصانع

يوفّر 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]