מפעלים

factories מספק ממשק ברמה גבוהה ליצירת פעולות ומשאבים לספריית הלקוח.

שיטות גורמים נוצרים באופן אוטומטי לכל המשאבים, טיפוסים בני מנייה (enum) התפעולי וסוגי השירותים שמסופקים על ידי 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

טיפוסים בני מנייה (enum)

מומלץ להשתמש בתחביר הסמלים להגדרה סטטית של שדות 'טיפוסים בני מנייה (enum)' (למשל campaign.status = :PAUSED). אבל, אם רוצים למנות את כל של טיפוסים בני מנייה (enum), אנחנו גם מספקים שיטות לעשות זאת:

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]