مصانع

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 = client.wrapper.string(
    "Interplanetary Budget #{(Time.new.to_f * 1000).to_i}",
  )

  cb.delivery_method = :STANDARD
  cb.amount_micros = client.wrapper.int64(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 = client.wrapper.string(
    "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 = client.wrapper.bool(true)
  ns.target_search_network = client.wrapper.bool(true)
  ns.target_content_network = client.wrapper.bool(false)
  ns.target_partner_search_network = client.wrapper.bool(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.v16.[entity]
client.operation.v16.[operation]
client.service.v16.[service]
client.enum.v16.[enum]