Class: TheTradeDeskAds::AdCreative
- Defined in:
- lib/the_trade_desk_ads/ad_creative.rb
Overview
Ad ad creative has many ad images and belongs to an ad account. developers.facebook.com/docs/marketing-api/reference/ad-creative
Constant Summary collapse
- FIELDS =
%w[id name object_story_id object_story_spec object_type thumbnail_url run_status].freeze
- CALL_TO_ACTION_TYPES =
%w[SHOP_NOW INSTALL_MOBILE_APP USE_MOBILE_APP SIGN_UP DOWNLOAD BUY_NOW].freeze
Class Method Summary collapse
- .carousel(name:, page_id:, instagram_actor_id: nil, link:, message:, assets:, call_to_action_type:, multi_share_optimized:, multi_share_end_card:) ⇒ Object
- .photo(name:, page_id:, instagram_actor_id: nil, message:, link:, link_title:, image_hash:, call_to_action_type:) ⇒ Object
- .product_set(name:, page_id:, link:, message:, headline:, description:, product_set_id:) ⇒ Object
Methods inherited from Base
auth, delete, #destroy, find, get, paginate, post, #save, #update
Class Method Details
.carousel(name:, page_id:, instagram_actor_id: nil, link:, message:, assets:, call_to_action_type:, multi_share_optimized:, multi_share_end_card:) ⇒ Object
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/the_trade_desk_ads/ad_creative.rb', line 35 def carousel(name:, page_id:, instagram_actor_id: nil, link:, message:, assets:, call_to_action_type:, multi_share_optimized:, multi_share_end_card:) object_story_spec = { 'page_id' => page_id, # 300664329976860 'instagram_actor_id' => instagram_actor_id, # 503391023081924 'link_data' => { 'link' => link, # https://tophatter.com/, https://itunes.apple.com/app/id619460348, http://play.google.com/store/apps/details?id=com.tophatter 'message' => , 'call_to_action' => { 'type' => call_to_action_type }, 'child_attachments' => assets.collect do |asset| { 'link' => link, 'image_hash' => asset[:hash], 'name' => asset[:title], # 'description' => asset[:title], 'call_to_action' => { 'type' => call_to_action_type } # Redundant? } end, 'multi_share_optimized' => multi_share_optimized, 'multi_share_end_card' => multi_share_end_card } } { name: name, object_story_spec: object_story_spec.to_json } end |
.photo(name:, page_id:, instagram_actor_id: nil, message:, link:, link_title:, image_hash:, call_to_action_type:) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/the_trade_desk_ads/ad_creative.rb', line 9 def photo(name:, page_id:, instagram_actor_id: nil, message:, link:, link_title:, image_hash:, call_to_action_type:) object_story_spec = { 'page_id' => page_id, # 300664329976860 'instagram_actor_id' => instagram_actor_id, # 503391023081924 'link_data' => { 'link' => link, # https://tophatter.com/, https://itunes.apple.com/app/id619460348, http://play.google.com/store/apps/details?id=com.tophatter 'message' => , 'image_hash' => image_hash, 'call_to_action' => { 'type' => call_to_action_type, 'value' => { # 'application' =>, 'link' => link, 'link_title' => link_title } } } } { name: name, object_story_spec: object_story_spec.to_json } end |
.product_set(name:, page_id:, link:, message:, headline:, description:, product_set_id:) ⇒ Object
63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
# File 'lib/the_trade_desk_ads/ad_creative.rb', line 63 def product_set(name:, page_id:, link:, message:, headline:, description:, product_set_id:) { name: name, object_story_spec: { page_id: page_id, template_data: { description: description, link: link, message: , name: headline } }, template_url: link, product_set_id: product_set_id } end |