หน้านี้สรุปวิธีทำงานด้านการดูแลการแสดงโฆษณาที่ใช้บ่อยที่สุดโดยใช้ API การรายงานและการดูแลการแสดงโฆษณา DCM/DFA
เคล็ดลับทั่วไปในการเขียนโค้ด
- พร็อพเพอร์ตี้และพารามิเตอร์ที่จำเป็นและไม่บังคับ - ดูเอกสารอ้างอิงเพื่อดูว่าต้องมีพร็อพเพอร์ตี้หรือพารามิเตอร์สำหรับการเรียก API หรือไม่
- การค้นหาชื่อไวลด์การ์ด - คุณสามารถใช้ไวลด์การ์ดดอกจัน (*) เมื่อค้นหาชื่อออบเจ็กต์ เครื่องหมายดอกจันจะจับคู่กับอักขระใดก็ได้ตั้งแต่ 0 ขึ้นไป นอกจากนี้ API ยังสนับสนุนการค้นหาสตริงย่อยโดยนัย ดังนั้นการค้นหา "abc" จะค้นหาคำว่า "*abc*" โดยนัย
- การอัปเดตกับการแพตช์ - หากต้องการแก้ไขออบเจ็กต์ที่มีอยู่ คุณมี 2 ตัวเลือกดังนี้
- กำลังอัปเดต - เมื่ออัปเดตออบเจ็กต์ ช่องทั้งหมดจะถูกเขียนทับเมื่อแทรก สิ่งสำคัญคือการโหลดออบเจ็กต์ที่ต้องการอัปเดตและทำการเปลี่ยนแปลงกับออบเจ็กต์นั้น ไม่เช่นนั้น ระบบจะยกเลิกการตั้งค่าช่องที่ไม่ได้อยู่ในคำขออัปเดต
- การแพตช์ - เมื่อแพตช์ ระบบจะเขียนทับเฉพาะช่องที่ระบุเมื่อแทรก ในกรณีนี้ คุณสามารถสร้างออบเจ็กต์ใหม่ กำหนดรหัสเดียวกับออบเจ็กต์ที่จะอัปเดต ตั้งค่าช่องให้อัปเดต และดำเนินการกับคำขอแพตช์ได้
- ขนาด - ขนาดจริงจะแสดงด้วยออบเจ็กต์
Size
ที่กำหนดโดยบริการขนาด บัญชีมีชุดขนาดมาตรฐาน และคุณเพิ่มขนาดที่กำหนดเองลงในรายการนี้ได้ - วันที่และเวลา - คุณสามารถบันทึกวันที่/เวลาในรูปแบบ RFC 3339 โดยใช้เขตเวลาท้องถิ่นได้ ค่าทั้งหมดที่ API แสดงผลอยู่ในเขตเวลา UTC ซึ่งแตกต่างจากเว็บไซต์ที่แสดงวันที่และเวลาในเขตเวลาที่คุณตั้งค่าไว้ (โดยค่าเริ่มต้น เวลาอเมริกา/นิวยอร์ก)
สร้างผู้ลงโฆษณา
C#
-
สร้างออบเจ็กต์
Advertiser
และตั้งค่าพร็อพเพอร์ตี้ name และ status ที่จำเป็น// Create the advertiser structure. Advertiser advertiser = new Advertiser(); advertiser.Name = advertiserName; advertiser.Status = "APPROVED";
-
โทรหา
advertisers.insert()
เพื่อบันทึกผู้ลงโฆษณา// Create the advertiser. Advertiser result = service.Advertisers.Insert(advertiser, profileId).Execute();
Java
-
สร้างออบเจ็กต์
Advertiser
และตั้งค่าพร็อพเพอร์ตี้ name และ status ที่จำเป็น// Create the advertiser structure. Advertiser advertiser = new Advertiser(); advertiser.setName(advertiserName); advertiser.setStatus("APPROVED");
-
โทรหา
advertisers.insert()
เพื่อบันทึกผู้ลงโฆษณา// Create the advertiser. Advertiser result = reporting.advertisers().insert(profileId, advertiser).execute();
PHP
-
สร้างออบเจ็กต์
Advertiser
และตั้งค่าพร็อพเพอร์ตี้ name และ status ที่จำเป็น$advertiser = new Google_Service_Dfareporting_Advertiser(); $advertiser->setName($values['advertiser_name']); $advertiser->setStatus('APPROVED');
-
โทรหา
advertisers.insert()
เพื่อบันทึกผู้ลงโฆษณา$result = $this->service->advertisers->insert( $values['user_profile_id'], $advertiser );
Python
-
สร้างออบเจ็กต์
Advertiser
และตั้งค่าพร็อพเพอร์ตี้ name และ status ที่จำเป็น# Construct and save advertiser. advertiser = { 'name': 'Test Advertiser', 'status': 'APPROVED' }
-
โทรหา
advertisers.insert()
เพื่อบันทึกผู้ลงโฆษณาrequest = service.advertisers().insert( profileId=profile_id, body=advertiser) # Execute request and print response. response = request.execute()
Ruby
-
สร้างออบเจ็กต์
Advertiser
และตั้งค่าพร็อพเพอร์ตี้ name และ status ที่จำเป็น# Create a new advertiser resource to insert. advertiser = DfareportingUtils::API_NAMESPACE::Advertiser.new( name: format('Example Advertiser #%s', SecureRandom.hex(3)), status: 'APPROVED' )
-
โทรหา
advertisers.insert()
เพื่อบันทึกผู้ลงโฆษณา# Insert the advertiser. result = service.insert_advertiser(profile_id, advertiser)
สร้างแคมเปญ
C#
สร้างออบเจ็กต์
Campaign
และตั้งค่าพร็อพเพอร์ตี้ที่จำเป็น-
advertiserId
- ผู้ลงโฆษณาที่จะเชื่อมโยงแคมเปญนี้ -
name
- ชื่อนี้ต้องไม่ซ้ำกันในทุกแคมเปญสำหรับผู้ลงโฆษณารายนี้ -
defaultLandingPageId
- หน้า Landing Page ที่ระบบจะนำผู้ใช้ไปเมื่อคลิกโฆษณาในแคมเปญนี้ หากยังไม่ได้กำหนดหน้าให้กับโฆษณานั้น คุณค้นหาหน้า Landing Page ที่มีอยู่ได้โดยโทรไปที่advertiserLandingPages.list
หรือสร้างหน้า Landing Page ใหม่โดยโทรไปที่หมายเลขadvertiserLandingPages.insert
- วันที่เริ่มต้นและสิ้นสุด - ต้องเป็นวันที่ในอนาคต และสามารถจำกัดให้ถึงวันนั้นได้ ดูหัวข้อย่อยวันที่และเวลาในข้อมูลการเขียนโค้ดทั่วไปสำหรับรายละเอียดเพิ่มเติม วันที่โฆษณาเดี่ยวอาจเกินวันที่สิ้นสุดได้ เพื่อให้ผู้เผยแพร่โฆษณาสามารถพยายามทำตามสัญญาสำหรับจำนวนการดำเนินการที่ระบุได้ หากวันที่ดังกล่าวไม่เสร็จภายในวันที่สิ้นสุดแคมเปญที่กำหนด
// Locate an advertiser landing page to use as a default. LandingPage defaultLandingPage = getAdvertiserLandingPage(service, profileId, advertiserId); // Create the campaign structure. Campaign campaign = new Campaign(); campaign.Name = campaignName; campaign.AdvertiserId = advertiserId; campaign.Archived = false; campaign.DefaultLandingPageId = defaultLandingPage.Id; // Set the campaign start date. This example uses today's date. campaign.StartDate = DfaReportingDateConverterUtil.convertToDateString(DateTime.Now); // Set the campaign end date. This example uses one month from today's date. campaign.EndDate = DfaReportingDateConverterUtil.convertToDateString(DateTime.Now.AddMonths(1));
-
โปรดโทรติดต่อ
campaigns.insert()
เพื่อบันทึกแคมเปญ// Insert the campaign. Campaign result = service.Campaigns.Insert(campaign, profileId).Execute();
Java
สร้างออบเจ็กต์
Campaign
และตั้งค่าพร็อพเพอร์ตี้ที่จำเป็น-
advertiserId
- ผู้ลงโฆษณาที่จะเชื่อมโยงแคมเปญนี้ -
name
- ชื่อนี้ต้องไม่ซ้ำกันในทุกแคมเปญสำหรับผู้ลงโฆษณารายนี้ -
defaultLandingPageId
- หน้า Landing Page ที่ระบบจะนำผู้ใช้ไปเมื่อคลิกโฆษณาในแคมเปญนี้ หากยังไม่ได้กำหนดหน้าให้กับโฆษณานั้น คุณค้นหาหน้า Landing Page ที่มีอยู่ได้โดยโทรไปที่advertiserLandingPages.list
หรือสร้างหน้า Landing Page ใหม่โดยโทรไปที่หมายเลขadvertiserLandingPages.insert
- วันที่เริ่มต้นและสิ้นสุด - ต้องเป็นวันที่ในอนาคต และสามารถจำกัดให้ถึงวันนั้นได้ ดูหัวข้อย่อยวันที่และเวลาในข้อมูลการเขียนโค้ดทั่วไปสำหรับรายละเอียดเพิ่มเติม วันที่โฆษณาเดี่ยวอาจเกินวันที่สิ้นสุดได้ เพื่อให้ผู้เผยแพร่โฆษณาสามารถพยายามทำตามสัญญาสำหรับจำนวนการดำเนินการที่ระบุได้ หากวันที่ดังกล่าวไม่เสร็จภายในวันที่สิ้นสุดแคมเปญที่กำหนด
// Locate an advertiser landing page to use as a default. LandingPage defaultLandingPage = getAdvertiserLandingPage(reporting, profileId, advertiserId); // Create the campaign structure. Campaign campaign = new Campaign(); campaign.setName(campaignName); campaign.setAdvertiserId(advertiserId); campaign.setArchived(false); campaign.setDefaultLandingPageId(defaultLandingPage.getId()); // Set the campaign start date. This example uses today's date. Calendar today = Calendar.getInstance(); DateTime startDate = new DateTime(true, today.getTimeInMillis(), null); campaign.setStartDate(startDate); // Set the campaign end date. This example uses one month from today's date. Calendar nextMonth = Calendar.getInstance(); nextMonth.add(Calendar.MONTH, 1); DateTime endDate = new DateTime(true, nextMonth.getTimeInMillis(), null); campaign.setEndDate(endDate);
-
โปรดโทรติดต่อ
campaigns.insert()
เพื่อบันทึกแคมเปญ// Insert the campaign. Campaign result = reporting.campaigns().insert(profileId, campaign).execute();
PHP
สร้างออบเจ็กต์
Campaign
และตั้งค่าพร็อพเพอร์ตี้ที่จำเป็น-
advertiserId
- ผู้ลงโฆษณาที่จะเชื่อมโยงแคมเปญนี้ -
name
- ชื่อนี้ต้องไม่ซ้ำกันในทุกแคมเปญสำหรับผู้ลงโฆษณารายนี้ -
defaultLandingPageId
- หน้า Landing Page ที่ระบบจะนำผู้ใช้ไปเมื่อคลิกโฆษณาในแคมเปญนี้ หากยังไม่ได้กำหนดหน้าให้กับโฆษณานั้น คุณสามารถค้นหาหน้า Landing Page ที่มีอยู่ได้โดยโทรไปที่advertiserLandingPages.list
หรือสร้างหน้าใหม่โดยโทรไปที่advertiserLandingPages.insert
- วันที่เริ่มต้นและสิ้นสุด - ต้องเป็นวันที่ในอนาคต และสามารถจำกัดให้ถึงวันนั้นได้ ดูหัวข้อย่อยวันที่และเวลาในข้อมูลการเขียนโค้ดทั่วไปสำหรับรายละเอียดเพิ่มเติม วันที่โฆษณาเดี่ยวอาจเกินวันที่สิ้นสุดได้ เพื่อให้ผู้เผยแพร่โฆษณาสามารถพยายามทำตามสัญญาสำหรับจำนวนการดำเนินการที่ระบุได้ หากวันที่ดังกล่าวไม่เสร็จภายในวันที่สิ้นสุดแคมเปญที่กำหนด
$startDate = new DateTime('today'); $endDate = new DateTime('+1 month'); $campaign = new Google_Service_Dfareporting_Campaign(); $campaign->setAdvertiserId($values['advertiser_id']); $campaign->setDefaultLandingPageId($values['default_landing_page_id']); $campaign->setName($values['campaign_name']); $campaign->setStartDate($startDate->format('Y-m-d')); $campaign->setEndDate($endDate->format('Y-m-d'));
-
โปรดโทรติดต่อ
campaigns.insert()
เพื่อบันทึกแคมเปญ$result = $this->service->campaigns->insert( $values['user_profile_id'], $campaign );
Python
สร้างออบเจ็กต์
Campaign
และตั้งค่าพร็อพเพอร์ตี้ที่จำเป็น-
advertiserId
- ผู้ลงโฆษณาที่จะเชื่อมโยงแคมเปญนี้ -
name
- ชื่อนี้ต้องไม่ซ้ำกันในทุกแคมเปญสำหรับผู้ลงโฆษณารายนี้ -
defaultLandingPageId
- หน้า Landing Page ที่ระบบจะนำผู้ใช้ไปเมื่อคลิกโฆษณาในแคมเปญนี้ หากยังไม่ได้กำหนดหน้าให้กับโฆษณานั้น คุณค้นหาหน้า Landing Page ที่มีอยู่ได้โดยโทรไปที่advertiserLandingPages.list
หรือสร้างหน้า Landing Page ใหม่โดยโทรไปที่หมายเลขadvertiserLandingPages.insert
- วันที่เริ่มต้นและสิ้นสุด - ต้องเป็นวันที่ในอนาคต และสามารถจำกัดให้ถึงวันนั้นได้ ดูหัวข้อย่อยวันที่และเวลาในข้อมูลการเขียนโค้ดทั่วไปสำหรับรายละเอียดเพิ่มเติม วันที่โฆษณาเดี่ยวอาจเกินวันที่สิ้นสุดได้ เพื่อให้ผู้เผยแพร่โฆษณาสามารถพยายามทำตามสัญญาสำหรับจำนวนการดำเนินการที่ระบุได้ หากวันที่ดังกล่าวไม่เสร็จภายในวันที่สิ้นสุดแคมเปญที่กำหนด
# Locate an advertiser landing page to use as a default. default_landing_page = get_advertiser_landing_page(service, profile_id, advertiser_id) # Construct and save campaign. campaign = { 'name': 'Test Campaign #%s' % uuid.uuid4(), 'advertiserId': advertiser_id, 'archived': 'false', 'defaultLandingPageId': default_landing_page['id'], 'startDate': '2015-01-01', 'endDate': '2020-01-01' }
-
โปรดโทรติดต่อ
campaigns.insert()
เพื่อบันทึกแคมเปญrequest = service.campaigns().insert(profileId=profile_id, body=campaign) # Execute request and print response. response = request.execute()
Ruby
สร้างออบเจ็กต์
Campaign
และตั้งค่าพร็อพเพอร์ตี้ที่จำเป็น-
advertiserId
- ผู้ลงโฆษณาที่จะเชื่อมโยงแคมเปญนี้ -
name
- ชื่อนี้ต้องไม่ซ้ำกันในทุกแคมเปญสำหรับผู้ลงโฆษณารายนี้ -
defaultLandingPageId
- หน้า Landing Page ที่ระบบจะนำผู้ใช้ไปเมื่อคลิกโฆษณาในแคมเปญนี้ หากยังไม่ได้กำหนดหน้าให้กับโฆษณานั้น คุณค้นหาหน้า Landing Page ที่มีอยู่ได้โดยโทรไปที่advertiserLandingPages.list
หรือสร้างหน้า Landing Page ใหม่โดยโทรไปที่หมายเลขadvertiserLandingPages.insert
- วันที่เริ่มต้นและสิ้นสุด - ต้องเป็นวันที่ในอนาคต และสามารถจำกัดให้ถึงวันนั้นได้ ดูหัวข้อย่อยวันที่และเวลาในข้อมูลการเขียนโค้ดทั่วไปสำหรับรายละเอียดเพิ่มเติม วันที่โฆษณาเดี่ยวอาจเกินวันที่สิ้นสุดได้ เพื่อให้ผู้เผยแพร่โฆษณาสามารถพยายามทำตามสัญญาสำหรับจำนวนการดำเนินการที่ระบุได้ หากวันที่ดังกล่าวไม่เสร็จภายในวันที่สิ้นสุดแคมเปญที่กำหนด
# Locate an advertiser landing page to use as a default. default_landing_page = get_advertiser_landing_page(service, profile_id, advertiser_id) # Create a new campaign resource to insert. campaign = DfareportingUtils::API_NAMESPACE::Campaign.new( advertiser_id: advertiser_id, archived: false, default_landing_page_id: default_landing_page.id, name: format('Example Campaign #%s', SecureRandom.hex(3)), start_date: '2014-01-01', end_date: '2020-01-01' )
-
โปรดโทรติดต่อ
campaigns.insert()
เพื่อบันทึกแคมเปญ# Insert the campaign. result = service.insert_campaign(profile_id, campaign)
สร้างตำแหน่ง
C#
-
สร้างออบเจ็กต์
Placement
และตั้งค่าพร็อพเพอร์ตี้ของตำแหน่งที่จำเป็น (รวมถึงcampaignId
และsiteId
) นอกจากนี้ อย่าลืมกำหนดประเภทและขนาดตำแหน่งให้ถูกต้องสำหรับตำแหน่งที่คุณได้เจรจาไว้กับเว็บไซต์ของคุณ// Create the placement. Placement placement = new Placement(); placement.Name = placementName; placement.CampaignId = campaignId; placement.Compatibility = "DISPLAY"; placement.PaymentSource = "PLACEMENT_AGENCY_PAID"; placement.SiteId = dfaSiteId; placement.TagFormats = new List<string>() { "PLACEMENT_TAG_STANDARD" }; // Set the size of the placement. Size size = new Size(); size.Id = sizeId; placement.Size = size;
-
สร้างออบเจ็กต์
PricingSchedule
ใหม่เพื่อกำหนดตำแหน่ง// Set the pricing schedule for the placement. PricingSchedule pricingSchedule = new PricingSchedule(); pricingSchedule.EndDate = campaign.EndDate; pricingSchedule.PricingType = "PRICING_TYPE_CPM"; pricingSchedule.StartDate = campaign.StartDate; placement.PricingSchedule = pricingSchedule;
-
บันทึกออบเจ็กต์
Placement
โดยเรียกใช้placements.insert()
อย่าลืมจัดเก็บรหัสที่ส่งกลับหากต้องการใช้รหัสดังกล่าวเพื่อกำหนดให้กับโฆษณาหรือครีเอทีฟโฆษณา// Insert the placement. Placement result = service.Placements.Insert(placement, profileId).Execute();
Java
-
สร้างออบเจ็กต์
Placement
และตั้งค่าพร็อพเพอร์ตี้ของตำแหน่งที่จำเป็น (รวมถึงcampaignId
และsiteId
) นอกจากนี้ อย่าลืมกำหนดประเภทและขนาดตำแหน่งให้ถูกต้องสำหรับตำแหน่งที่คุณได้เจรจาไว้กับเว็บไซต์ของคุณ// Create the placement. Placement placement = new Placement(); placement.setName(placementName); placement.setCampaignId(campaignId); placement.setCompatibility("DISPLAY"); placement.setPaymentSource("PLACEMENT_AGENCY_PAID"); placement.setSiteId(dfaSiteId); placement.setTagFormats(ImmutableList.of("PLACEMENT_TAG_STANDARD")); // Set the size of the placement. Size size = new Size(); size.setId(sizeId); placement.setSize(size);
-
สร้างออบเจ็กต์
PricingSchedule
ใหม่เพื่อกำหนดตำแหน่ง// Set the pricing schedule for the placement. PricingSchedule pricingSchedule = new PricingSchedule(); pricingSchedule.setEndDate(campaign.getEndDate()); pricingSchedule.setPricingType("PRICING_TYPE_CPM"); pricingSchedule.setStartDate(campaign.getStartDate()); placement.setPricingSchedule(pricingSchedule);
-
บันทึกออบเจ็กต์
Placement
โดยเรียกใช้placements.insert()
อย่าลืมจัดเก็บรหัสที่ส่งกลับหากต้องการใช้รหัสดังกล่าวเพื่อกำหนดให้กับโฆษณาหรือครีเอทีฟโฆษณา// Insert the placement. Placement result = reporting.placements().insert(profileId, placement).execute();
PHP
-
สร้างออบเจ็กต์
Placement
และตั้งค่าพร็อพเพอร์ตี้ของตำแหน่งที่จำเป็น (รวมถึงcampaignId
และsiteId
) นอกจากนี้ อย่าลืมกำหนดประเภทและขนาดตำแหน่งให้ถูกต้องสำหรับตำแหน่งที่คุณได้เจรจาไว้กับเว็บไซต์ของคุณ$placement = new Google_Service_Dfareporting_Placement(); $placement->setCampaignId($values['campaign_id']); $placement->setCompatibility('DISPLAY'); $placement->setName($values['placement_name']); $placement->setPaymentSource('PLACEMENT_AGENCY_PAID'); $placement->setSiteId($values['site_id']); $placement->setTagFormats(['PLACEMENT_TAG_STANDARD']); // Set the size of the placement. $size = new Google_Service_Dfareporting_Size(); $size->setId($values['size_id']); $placement->setSize($size);
-
สร้างออบเจ็กต์
PricingSchedule
ใหม่เพื่อกำหนดตำแหน่ง// Set the pricing schedule for the placement. $pricingSchedule = new Google_Service_Dfareporting_PricingSchedule(); $pricingSchedule->setEndDate($campaign->getEndDate()); $pricingSchedule->setPricingType('PRICING_TYPE_CPM'); $pricingSchedule->setStartDate($campaign->getStartDate()); $placement->setPricingSchedule($pricingSchedule);
-
บันทึกออบเจ็กต์
Placement
โดยเรียกใช้placements.insert()
อย่าลืมจัดเก็บรหัสที่ส่งกลับหากต้องการใช้รหัสดังกล่าวเพื่อกำหนดให้กับโฆษณาหรือครีเอทีฟโฆษณา// Insert the placement. $result = $this->service->placements->insert( $values['user_profile_id'], $placement );
Python
-
สร้างออบเจ็กต์
Placement
และตั้งค่าพร็อพเพอร์ตี้ของตำแหน่งที่จำเป็น (รวมถึงcampaignId
และsiteId
) นอกจากนี้ อย่าลืมกำหนดประเภทและขนาดตำแหน่งให้ถูกต้องสำหรับตำแหน่งที่คุณได้เจรจาไว้กับเว็บไซต์ของคุณ# Construct and save placement. placement = { 'name': 'Test Placement', 'campaignId': campaign_id, 'compatibility': 'DISPLAY', 'siteId': site_id, 'size': { 'height': '1', 'width': '1' }, 'paymentSource': 'PLACEMENT_AGENCY_PAID', 'tagFormats': ['PLACEMENT_TAG_STANDARD'] }
-
สร้างออบเจ็กต์
PricingSchedule
ใหม่เพื่อกำหนดตำแหน่ง# Set the pricing schedule for the placement. placement['pricingSchedule'] = { 'startDate': campaign['startDate'], 'endDate': campaign['endDate'], 'pricingType': 'PRICING_TYPE_CPM' }
-
บันทึกออบเจ็กต์
Placement
โดยเรียกใช้placements.insert()
อย่าลืมจัดเก็บรหัสที่ส่งกลับหากต้องการใช้รหัสดังกล่าวเพื่อกำหนดให้กับโฆษณาหรือครีเอทีฟโฆษณาrequest = service.placements().insert(profileId=profile_id, body=placement) # Execute request and print response. response = request.execute()
Ruby
-
สร้างออบเจ็กต์
Placement
และตั้งค่าพร็อพเพอร์ตี้ของตำแหน่งที่จำเป็น (รวมถึงcampaignId
และsiteId
) นอกจากนี้ อย่าลืมกำหนดประเภทและขนาดตำแหน่งให้ถูกต้องสำหรับตำแหน่งที่คุณได้เจรจาไว้กับเว็บไซต์ของคุณ# Create a new placement resource to insert. placement = DfareportingUtils::API_NAMESPACE::Placement.new( campaign_id: campaign_id, compatibility: 'DISPLAY', name: 'Example Placement', payment_source: 'PLACEMENT_AGENCY_PAID', site_id: site_id, size: DfareportingUtils::API_NAMESPACE::Size.new( height: 1, width: 1 ), tag_formats: ['PLACEMENT_TAG_STANDARD'] )
-
สร้างออบเจ็กต์
PricingSchedule
ใหม่เพื่อกำหนดตำแหน่ง# Set the pricing schedule for the placement. placement.pricing_schedule = DfareportingUtils::API_NAMESPACE::PricingSchedule.new( end_date: campaign.end_date, pricing_type: 'PRICING_TYPE_CPM', start_date: campaign.start_date )
-
บันทึกออบเจ็กต์
Placement
โดยเรียกใช้placements.insert()
อย่าลืมจัดเก็บรหัสที่ส่งกลับหากต้องการใช้รหัสดังกล่าวเพื่อกำหนดให้กับโฆษณาหรือครีเอทีฟโฆษณา# Insert the placement strategy. result = service.insert_placement(profile_id, placement)
อัปโหลดเนื้อหา
คุณอัปโหลดเนื้อหาได้หลายประเภทผ่านกระบวนการที่เรียกว่าการอัปโหลดสื่อ แม้ว่าขั้นตอนนี้จะคล้ายคลึงกันสำหรับโฆษณาทุกประเภท แต่บางประเภทอาจกำหนดให้ต้องส่งพร็อพเพอร์ตี้เฉพาะเป็นข้อมูลเมตาเพื่อให้ใช้ได้อย่างถูกต้อง
C#
สร้างออบเจ็กต์
assetIdentifier
และตั้งค่าพร็อพเพอร์ตี้ที่จำเป็น ชิ้นงานทั้งหมดไม่ว่าจะในประเภทใดก็ตามหรือวิธีการใดก็ตามต้องระบุassetIdentifier
เมื่อกำหนดชิ้นงานให้กับครีเอทีฟโฆษณา ออบเจ็กต์นี้จะใช้เพื่ออ้างอิงกลับไปยังชิ้นงาน ต้องมีพร็อพเพอร์ตี้ต่อไปนี้-
พร็อพเพอร์ตี้
name
ซึ่งจะเป็นชื่อของเนื้อหาในเซิร์ฟเวอร์ ชื่อนี้ต้องมีส่วนขยายที่ระบุประเภทไฟล์ เช่น .png หรือ .gif และจะแสดงต่อเบราว์เซอร์เป็นชื่อเนื้อหา แต่ไม่จำเป็นต้องเหมือนกับชื่อไฟล์ดั้งเดิม โปรดทราบว่า Campaign Manager 360 อาจเปลี่ยนชื่อนี้เพื่อให้ไม่เหมือนใครในเซิร์ฟเวอร์ ให้ตรวจสอบมูลค่าการแสดงผลเพื่อดูว่ามีการเปลี่ยนแปลงหรือไม่ -
พร็อพเพอร์ตี้
type
ซึ่งระบุประเภทของเนื้อหา พร็อพเพอร์ตี้นี้จะเป็นตัวกำหนดประเภทของครีเอทีฟโฆษณาที่เชื่อมโยงกับเนื้อหานี้
// Create the creative asset ID and Metadata. CreativeAssetId assetId = new CreativeAssetId(); assetId.Name = Path.GetFileName(assetFile); assetId.Type = assetType;
-
พร็อพเพอร์ตี้
อัปโหลดไฟล์โดยโทรหา
creativeAssets.insert()
ทำการอัปโหลดหลายส่วนโดยส่งทั้งassetIdentifier
และเนื้อหาไฟล์เป็นส่วนหนึ่งของคำขอเดียวกัน หากสำเร็จ ระบบจะแสดงผลทรัพยากรCreativeAsset
พร้อมกับassetIdentifier
ที่คุณจะใช้กำหนดชิ้นงานนี้ให้กับครีเอทีฟโฆษณา// Prepare an input stream. FileStream assetContent = new FileStream(assetFile, FileMode.Open, FileAccess.Read); CreativeAssetMetadata metaData = new CreativeAssetMetadata(); metaData.AssetIdentifier = assetId; // Insert the creative. String mimeType = determineMimeType(assetFile, assetType); CreativeAssetsResource.InsertMediaUpload request = Service.CreativeAssets.Insert(metaData, ProfileId, AdvertiserId, assetContent, mimeType); IUploadProgress progress = request.Upload(); if (UploadStatus.Failed.Equals(progress.Status)) { throw progress.Exception; }
Java
สร้างออบเจ็กต์
assetIdentifier
และตั้งค่าพร็อพเพอร์ตี้ที่จำเป็น ชิ้นงานทั้งหมดไม่ว่าจะในประเภทใดก็ตามหรือวิธีการใดก็ตามต้องระบุassetIdentifier
เมื่อกำหนดชิ้นงานให้กับครีเอทีฟโฆษณา ออบเจ็กต์นี้จะใช้เพื่ออ้างอิงกลับไปยังชิ้นงาน ต้องมีพร็อพเพอร์ตี้ต่อไปนี้-
พร็อพเพอร์ตี้
name
ซึ่งจะเป็นชื่อของเนื้อหาในเซิร์ฟเวอร์ ชื่อนี้ต้องมีส่วนขยายที่ระบุประเภทไฟล์ เช่น .png หรือ .gif และจะแสดงต่อเบราว์เซอร์เป็นชื่อเนื้อหา แต่ไม่จำเป็นต้องเหมือนกับชื่อไฟล์ดั้งเดิม โปรดทราบว่า Campaign Manager 360 อาจเปลี่ยนชื่อนี้เพื่อให้ไม่เหมือนใครในเซิร์ฟเวอร์ ให้ตรวจสอบมูลค่าการแสดงผลเพื่อดูว่ามีการเปลี่ยนแปลงหรือไม่ -
พร็อพเพอร์ตี้
type
ซึ่งระบุประเภทของเนื้อหา พร็อพเพอร์ตี้นี้จะเป็นตัวกำหนดประเภทของครีเอทีฟโฆษณาที่เชื่อมโยงกับเนื้อหานี้
// Create the creative asset ID and Metadata. CreativeAssetId assetId = new CreativeAssetId(); assetId.setName(assetName); assetId.setType(assetType);
-
พร็อพเพอร์ตี้
อัปโหลดไฟล์โดยโทรหา
creativeAssets.insert()
ทำการอัปโหลดหลายส่วนโดยส่งทั้งassetIdentifier
และเนื้อหาไฟล์เป็นส่วนหนึ่งของคำขอเดียวกัน หากสำเร็จ ระบบจะแสดงผลทรัพยากรCreativeAsset
พร้อมกับassetIdentifier
ที่คุณจะใช้กำหนดชิ้นงานนี้ให้กับครีเอทีฟโฆษณา// Open the asset file. File file = new File(assetFile); // Prepare an input stream. String contentType = getMimeType(assetFile); InputStreamContent assetContent = new InputStreamContent(contentType, new BufferedInputStream(new FileInputStream(file))); assetContent.setLength(file.length()); CreativeAssetMetadata metaData = new CreativeAssetMetadata(); metaData.setAssetIdentifier(assetId); // Insert the creative. CreativeAssetMetadata result = reporting.creativeAssets() .insert(profileId, advertiserId, metaData, assetContent).execute();
PHP
สร้างออบเจ็กต์
assetIdentifier
และตั้งค่าพร็อพเพอร์ตี้ที่จำเป็น ชิ้นงานทั้งหมดไม่ว่าจะในประเภทใดก็ตามหรือวิธีการใดก็ตามต้องระบุassetIdentifier
เมื่อกำหนดชิ้นงานให้กับครีเอทีฟโฆษณา ออบเจ็กต์นี้จะใช้เพื่ออ้างอิงกลับไปยังชิ้นงาน ต้องมีพร็อพเพอร์ตี้ต่อไปนี้-
พร็อพเพอร์ตี้
name
ซึ่งจะเป็นชื่อของเนื้อหาในเซิร์ฟเวอร์ ชื่อนี้ต้องมีส่วนขยายที่ระบุประเภทไฟล์ เช่น .png หรือ .gif และจะแสดงต่อเบราว์เซอร์เป็นชื่อเนื้อหา แต่ไม่จำเป็นต้องเหมือนกับชื่อไฟล์ดั้งเดิม โปรดทราบว่า Campaign Manager 360 อาจเปลี่ยนชื่อนี้เพื่อให้ไม่เหมือนใครในเซิร์ฟเวอร์ ให้ตรวจสอบมูลค่าการแสดงผลเพื่อดูว่ามีการเปลี่ยนแปลงหรือไม่ -
พร็อพเพอร์ตี้
type
ซึ่งระบุประเภทของเนื้อหา พร็อพเพอร์ตี้นี้จะเป็นตัวกำหนดประเภทของครีเอทีฟโฆษณาที่เชื่อมโยงกับเนื้อหานี้
$assetId = new Google_Service_Dfareporting_CreativeAssetId(); $assetId->setName($asset['name']); $assetId->setType($type);
-
พร็อพเพอร์ตี้
อัปโหลดไฟล์โดยโทรหา
creativeAssets.insert()
ทำการอัปโหลดหลายส่วนโดยส่งทั้งassetIdentifier
และเนื้อหาไฟล์เป็นส่วนหนึ่งของคำขอเดียวกัน หากสำเร็จ ระบบจะแสดงผลทรัพยากรCreativeAsset
พร้อมกับassetIdentifier
ที่คุณจะใช้กำหนดชิ้นงานนี้ให้กับครีเอทีฟโฆษณา$metadata = new Google_Service_Dfareporting_CreativeAssetMetadata(); $metadata->setAssetIdentifier($assetId); $result = $service->creativeAssets->insert( $userProfileId, $advertiserId, $metadata, ['data' => file_get_contents($asset['tmp_name']), 'mimeType' => $asset['type'], 'uploadType' => 'multipart'] );
Python
สร้างออบเจ็กต์
assetIdentifier
และตั้งค่าพร็อพเพอร์ตี้ที่จำเป็น ชิ้นงานทั้งหมดไม่ว่าจะในประเภทใดก็ตามหรือวิธีการใดก็ตามต้องระบุassetIdentifier
เมื่อกำหนดชิ้นงานให้กับครีเอทีฟโฆษณา ออบเจ็กต์นี้จะใช้เพื่ออ้างอิงกลับไปยังชิ้นงาน ต้องมีพร็อพเพอร์ตี้ต่อไปนี้-
พร็อพเพอร์ตี้
name
ซึ่งจะเป็นชื่อของเนื้อหาในเซิร์ฟเวอร์ ชื่อนี้ต้องมีส่วนขยายที่ระบุประเภทไฟล์ เช่น .png หรือ .gif และจะแสดงต่อเบราว์เซอร์เป็นชื่อเนื้อหา แต่ไม่จำเป็นต้องเหมือนกับชื่อไฟล์ดั้งเดิม โปรดทราบว่า Campaign Manager 360 อาจเปลี่ยนชื่อนี้เพื่อให้ไม่เหมือนใครในเซิร์ฟเวอร์ ให้ตรวจสอบมูลค่าการแสดงผลเพื่อดูว่ามีการเปลี่ยนแปลงหรือไม่ -
พร็อพเพอร์ตี้
type
ซึ่งระบุประเภทของเนื้อหา พร็อพเพอร์ตี้นี้จะเป็นตัวกำหนดประเภทของครีเอทีฟโฆษณาที่เชื่อมโยงกับเนื้อหานี้
# Construct the creative asset metadata creative_asset = {'assetIdentifier': {'name': asset_name, 'type': asset_type}}
-
พร็อพเพอร์ตี้
อัปโหลดไฟล์โดยโทรหา
creativeAssets.insert()
ทำการอัปโหลดหลายส่วนโดยส่งทั้งassetIdentifier
และเนื้อหาไฟล์เป็นส่วนหนึ่งของคำขอเดียวกัน หากสำเร็จ ระบบจะแสดงผลทรัพยากรCreativeAsset
พร้อมกับassetIdentifier
ที่คุณจะใช้กำหนดชิ้นงานนี้ให้กับครีเอทีฟโฆษณาmedia = MediaFileUpload(path_to_asset_file) if not media.mimetype(): media = MediaFileUpload(path_to_asset_file, 'application/octet-stream') response = service.creativeAssets().insert( advertiserId=advertiser_id, profileId=profile_id, media_body=media, body=creative_asset).execute()
Ruby
สร้างออบเจ็กต์
assetIdentifier
และตั้งค่าพร็อพเพอร์ตี้ที่จำเป็น ชิ้นงานทั้งหมดไม่ว่าจะในประเภทใดก็ตามหรือวิธีการใดก็ตามต้องระบุassetIdentifier
เมื่อกำหนดชิ้นงานให้กับครีเอทีฟโฆษณา ออบเจ็กต์นี้จะใช้เพื่ออ้างอิงกลับไปยังชิ้นงาน ต้องมีพร็อพเพอร์ตี้ต่อไปนี้-
พร็อพเพอร์ตี้
name
ซึ่งจะเป็นชื่อของเนื้อหาในเซิร์ฟเวอร์ ชื่อนี้ต้องมีส่วนขยายที่ระบุประเภทไฟล์ เช่น .png หรือ .gif และจะแสดงต่อเบราว์เซอร์เป็นชื่อเนื้อหา แต่ไม่จำเป็นต้องเหมือนกับชื่อไฟล์ดั้งเดิม โปรดทราบว่า Campaign Manager 360 อาจเปลี่ยนชื่อนี้เพื่อให้ไม่เหมือนใครในเซิร์ฟเวอร์ ให้ตรวจสอบมูลค่าการแสดงผลเพื่อดูว่ามีการเปลี่ยนแปลงหรือไม่ -
พร็อพเพอร์ตี้
type
ซึ่งระบุประเภทของเนื้อหา พร็อพเพอร์ตี้นี้จะเป็นตัวกำหนดประเภทของครีเอทีฟโฆษณาที่เชื่อมโยงกับเนื้อหานี้
# Construct the creative asset metadata creative_asset = DfareportingUtils::API_NAMESPACE::CreativeAsset.new( asset_identifier: DfareportingUtils::API_NAMESPACE::CreativeAssetId.new( name: asset_name, type: asset_type ) )
-
พร็อพเพอร์ตี้
อัปโหลดไฟล์โดยโทรหา
creativeAssets.insert()
ทำการอัปโหลดหลายส่วนโดยส่งทั้งassetIdentifier
และเนื้อหาไฟล์เป็นส่วนหนึ่งของคำขอเดียวกัน หากสำเร็จ ระบบจะแสดงผลทรัพยากรCreativeAsset
พร้อมกับassetIdentifier
ที่คุณจะใช้กำหนดชิ้นงานนี้ให้กับครีเอทีฟโฆษณา# Upload the asset. mime_type = determine_mime_type(path_to_asset_file, asset_type) result = @service.insert_creative_asset( @profile_id, advertiser_id, creative_asset, content_type: mime_type, upload_source: path_to_asset_file )
สร้างโฆษณา
ออบเจ็กต์ Creative
รวมเนื้อหาที่มีอยู่ คุณสร้างออบเจ็กต์ Creative
จากครีเอทีฟโฆษณาประเภทต่างๆ ได้ ทั้งนี้ขึ้นอยู่กับวิธีที่คุณจะใช้ครีเอทีฟโฆษณาในหน้าโฮสต์ โปรดดูเอกสารอ้างอิงเพื่อพิจารณาว่าประเภทใดเหมาะกับคุณ
ตัวอย่างต่อไปนี้แสดงวิธีการสร้างครีเอทีฟโฆษณา Display แบบ HTML5 ใหม่
C#
-
อัปโหลดชิ้นงาน ครีเอทีฟโฆษณาที่แตกต่างกันต้องใช้ประเภทและจำนวนชิ้นงานที่แตกต่างกัน ดูรายละเอียดได้ที่อัปโหลดชิ้นงาน ทุกครั้งที่อัปโหลดเนื้อหาสำเร็จ คุณจะได้รับ
assetIdenfitier
ในการตอบกลับ คุณจะใช้ชื่อและประเภทไฟล์ที่จัดเก็บไว้เพื่ออ้างอิงเนื้อหาเหล่านี้ในครีเอทีฟโฆษณาแทนรหัสแบบเดิม -
สร้างครีเอทีฟโฆษณาและกำหนดค่าที่เหมาะสม สร้างอินสแตนซ์
Creative
และตั้งค่าtype
ที่เหมาะสม คุณไม่สามารถเปลี่ยนประเภทออบเจ็กต์Creative
หลังจากที่บันทึกแล้ว ระบุเนื้อหาตามAssetIdentifier
และrole
// Locate an advertiser landing page to use as a default. LandingPage defaultLandingPage = getAdvertiserLandingPage(service, profileId, advertiserId); // Create the creative structure. Creative creative = new Creative(); creative.AdvertiserId = advertiserId; creative.Name = "Test HTML5 display creative"; creative.Size = new Size() { Id = sizeId }; creative.Type = "DISPLAY"; // Upload the HTML5 asset. CreativeAssetUtils assetUtils = new CreativeAssetUtils(service, profileId, advertiserId); CreativeAssetId html5AssetId = assetUtils.uploadAsset(pathToHtml5AssetFile, "HTML").AssetIdentifier; CreativeAsset html5Asset = new CreativeAsset(); html5Asset.AssetIdentifier = html5AssetId; html5Asset.Role = "PRIMARY"; // Upload the backup image asset. CreativeAssetId imageAssetId = assetUtils.uploadAsset(pathToImageAssetFile, "HTML_IMAGE").AssetIdentifier; CreativeAsset imageAsset = new CreativeAsset(); imageAsset.AssetIdentifier = imageAssetId; imageAsset.Role = "BACKUP_IMAGE"; // Add the creative assets. creative.CreativeAssets = new List<CreativeAsset>() { html5Asset, imageAsset }; // Configure the bacup image. creative.BackupImageClickThroughUrl = new CreativeClickThroughUrl() { LandingPageId = defaultLandingPage.Id }; creative.BackupImageReportingLabel = "backup"; creative.BackupImageTargetWindow = new TargetWindow() { TargetWindowOption = "NEW_WINDOW" }; // Add a click tag. ClickTag clickTag = new ClickTag(); clickTag.Name = "clickTag"; clickTag.EventName = "exit"; clickTag.ClickThroughUrl = new CreativeClickThroughUrl() { LandingPageId = defaultLandingPage.Id }; creative.ClickTags = new List<ClickTag>() { clickTag };
-
บันทึกครีเอทีฟโฆษณา โดยโทรไปที่
creatives.insert()
คุณต้องระบุรหัสผู้ลงโฆษณาที่จะเชื่อมโยงครีเอทีฟโฆษณานี้Creative result = service.Creatives.Insert(creative, profileId).Execute();
-
(ไม่บังคับ) เชื่อมโยงครีเอทีฟโฆษณากับแคมเปญ ซึ่งทำได้ด้วยการเรียกใช้
campaignCreativeAssociations.insert()
แล้วส่งผ่านแคมเปญและรหัสครีเอทีฟโฆษณา// Create the campaign creative association structure. CampaignCreativeAssociation association = new CampaignCreativeAssociation(); association.CreativeId = creativeId; // Insert the association. CampaignCreativeAssociation result = service.CampaignCreativeAssociations.Insert(association, profileId, campaignId).Execute();
Java
-
อัปโหลดชิ้นงาน ครีเอทีฟโฆษณาที่แตกต่างกันต้องใช้ประเภทและจำนวนชิ้นงานที่แตกต่างกัน ดูรายละเอียดได้ที่อัปโหลดชิ้นงาน ทุกครั้งที่อัปโหลดเนื้อหาสำเร็จ คุณจะได้รับ
assetIdenfitier
ในการตอบกลับ คุณจะใช้ชื่อและประเภทไฟล์ที่จัดเก็บไว้เพื่ออ้างอิงเนื้อหาเหล่านี้ในครีเอทีฟโฆษณาแทนรหัสแบบเดิม -
สร้างครีเอทีฟโฆษณาและกำหนดค่าที่เหมาะสม สร้างอินสแตนซ์
Creative
และตั้งค่าtype
ที่เหมาะสม คุณไม่สามารถเปลี่ยนประเภทออบเจ็กต์Creative
หลังจากที่บันทึกแล้ว ระบุเนื้อหาตามAssetIdentifier
และrole
// Locate an advertiser landing page to use as a default. LandingPage defaultLandingPage = getAdvertiserLandingPage(reporting, profileId, advertiserId); // Create the creative structure. Creative creative = new Creative(); creative.setAdvertiserId(advertiserId); creative.setName("Test HTML5 display creative"); creative.setSize(new Size().setId(sizeId)); creative.setType("DISPLAY"); // Upload the HTML5 asset. CreativeAssetId html5AssetId = CreativeAssetUtils.uploadAsset(reporting, profileId, advertiserId, HTML5_ASSET_NAME, PATH_TO_HTML5_ASSET_FILE, "HTML").getAssetIdentifier(); CreativeAsset html5Asset = new CreativeAsset().setAssetIdentifier(html5AssetId).setRole("PRIMARY"); // Upload the backup image asset (note: asset type must be set to HTML_IMAGE). CreativeAssetId imageAssetId = CreativeAssetUtils.uploadAsset(reporting, profileId, advertiserId, IMAGE_ASSET_NAME, PATH_TO_IMAGE_ASSET_FILE, "HTML_IMAGE") .getAssetIdentifier(); CreativeAsset backupImageAsset = new CreativeAsset().setAssetIdentifier(imageAssetId).setRole("BACKUP_IMAGE"); // Add the creative assets. creative.setCreativeAssets(ImmutableList.of(html5Asset, backupImageAsset)); // Configure the backup image. creative.setBackupImageClickThroughUrl( new CreativeClickThroughUrl().setLandingPageId(defaultLandingPage.getId())); creative.setBackupImageReportingLabel("backup"); creative.setBackupImageTargetWindow(new TargetWindow().setTargetWindowOption("NEW_WINDOW")); // Add a click tag. ClickTag clickTag = new ClickTag().setName("clickTag").setEventName("exit").setClickThroughUrl( new CreativeClickThroughUrl().setLandingPageId(defaultLandingPage.getId())); creative.setClickTags(ImmutableList.of(clickTag));
-
บันทึกครีเอทีฟโฆษณา โดยโทรไปที่
creatives.insert()
คุณต้องระบุรหัสผู้ลงโฆษณาที่จะเชื่อมโยงครีเอทีฟโฆษณานี้Creative result = reporting.creatives().insert(profileId, creative).execute();
-
(ไม่บังคับ) เชื่อมโยงครีเอทีฟโฆษณากับแคมเปญ ซึ่งทำได้ด้วยการเรียกใช้
campaignCreativeAssociations.insert()
แล้วส่งผ่านแคมเปญและรหัสครีเอทีฟโฆษณา// Create the campaign creative association structure. CampaignCreativeAssociation association = new CampaignCreativeAssociation(); association.setCreativeId(creativeId); // Insert the association. CampaignCreativeAssociation result = reporting .campaignCreativeAssociations().insert(profileId, campaignId, association) .execute();
PHP
-
อัปโหลดชิ้นงาน ครีเอทีฟโฆษณาที่แตกต่างกันต้องใช้ประเภทและจำนวนชิ้นงานที่แตกต่างกัน ดูรายละเอียดได้ที่อัปโหลดชิ้นงาน ทุกครั้งที่อัปโหลดเนื้อหาสำเร็จ คุณจะได้รับ
assetIdenfitier
ในการตอบกลับ คุณจะใช้ชื่อและประเภทไฟล์ที่จัดเก็บไว้เพื่ออ้างอิงเนื้อหาเหล่านี้ในครีเอทีฟโฆษณาแทนรหัสแบบเดิม -
สร้างครีเอทีฟโฆษณาและกำหนดค่าที่เหมาะสม สร้างอินสแตนซ์
Creative
และตั้งค่าtype
ที่เหมาะสม คุณไม่สามารถเปลี่ยนประเภทออบเจ็กต์Creative
หลังจากที่บันทึกแล้ว ระบุเนื้อหาตามAssetIdentifier
และrole
$creative = new Google_Service_Dfareporting_Creative(); $creative->setAdvertiserId($values['advertiser_id']); $creative->setAutoAdvanceImages(true); $creative->setName('Test HTML5 display creative'); $creative->setType('DISPLAY'); $size = new Google_Service_Dfareporting_Size(); $size->setId($values['size_id']); $creative->setSize($size); // Upload the HTML5 asset. $html = uploadAsset( $this->service, $values['user_profile_id'], $values['advertiser_id'], $values['html_asset_file'], 'HTML' ); $htmlAsset = new Google_Service_Dfareporting_CreativeAsset(); $htmlAsset->setAssetIdentifier($html->getAssetIdentifier()); $htmlAsset->setRole('PRIMARY'); // Upload the backup image asset. $image = uploadAsset( $this->service, $values['user_profile_id'], $values['advertiser_id'], $values['image_asset_file'], 'HTML_IMAGE' ); $imageAsset = new Google_Service_Dfareporting_CreativeAsset(); $imageAsset->setAssetIdentifier($image->getAssetIdentifier()); $imageAsset->setRole('BACKUP_IMAGE'); // Add the creative assets. $creative->setCreativeAssets([$htmlAsset, $imageAsset]); // Configure the default click-through URL. $clickThroughUrl = new Google_Service_Dfareporting_CreativeClickThroughUrl(); $clickThroughUrl->setLandingPageId($values['landing_page_id']); // Configure the backup image. $creative->setBackupImageClickThroughUrl($clickThroughUrl); $creative->setBackupImageReportingLabel('backup'); $targetWindow = new Google_Service_Dfareporting_TargetWindow(); $targetWindow->setTargetWindowOption('NEW_WINDOW'); $creative->setBackupImageTargetWindow($targetWindow); // Add a click tag. $clickTag = new Google_Service_Dfareporting_ClickTag(); $clickTag->setName('clickTag'); $clickTag->setEventName('exit'); $clickTag->setClickThroughUrl($clickThroughUrl); $creative->setClickTags([$clickTag]);
-
บันทึกครีเอทีฟโฆษณา โดยโทรไปที่
creatives.insert()
คุณต้องระบุรหัสผู้ลงโฆษณาที่จะเชื่อมโยงครีเอทีฟโฆษณานี้$result = $this->service->creatives->insert( $values['user_profile_id'], $creative );
-
(ไม่บังคับ) เชื่อมโยงครีเอทีฟโฆษณากับแคมเปญ ซึ่งทำได้ด้วยการเรียกใช้
campaignCreativeAssociations.insert()
แล้วส่งผ่านแคมเปญและรหัสครีเอทีฟโฆษณา$association = new Google_Service_Dfareporting_CampaignCreativeAssociation(); $association->setCreativeId($values['creative_id']); $result = $this->service->campaignCreativeAssociations->insert( $values['user_profile_id'], $values['campaign_id'], $association );
Python
-
อัปโหลดชิ้นงาน ครีเอทีฟโฆษณาที่แตกต่างกันต้องใช้ประเภทและจำนวนชิ้นงานที่แตกต่างกัน ดูรายละเอียดได้ที่อัปโหลดชิ้นงาน ทุกครั้งที่อัปโหลดเนื้อหาสำเร็จ คุณจะได้รับ
assetIdenfitier
ในการตอบกลับ คุณจะใช้ชื่อและประเภทไฟล์ที่จัดเก็บไว้เพื่ออ้างอิงเนื้อหาเหล่านี้ในครีเอทีฟโฆษณาแทนรหัสแบบเดิม -
สร้างครีเอทีฟโฆษณาและกำหนดค่าที่เหมาะสม สร้างอินสแตนซ์
Creative
และตั้งค่าtype
ที่เหมาะสม คุณไม่สามารถเปลี่ยนประเภทออบเจ็กต์Creative
หลังจากที่บันทึกแล้ว ระบุเนื้อหาตามAssetIdentifier
และrole
# Locate an advertiser landing page to use as a default. default_landing_page = get_advertiser_landing_page(service, profile_id, advertiser_id) # Upload the HTML5 asset html5_asset_id = upload_creative_asset(service, profile_id, advertiser_id, html5_asset_name, path_to_html5_asset_file, 'HTML') # Upload the backup image asset backup_image_asset_id = upload_creative_asset( service, profile_id, advertiser_id, backup_image_name, path_to_backup_image_file, 'HTML_IMAGE') # Construct the creative structure. creative = { 'advertiserId': advertiser_id, 'backupImageClickThroughUrl': { 'landingPageId': default_landing_page['id'] }, 'backupImageReportingLabel': 'backup_image_exit', 'backupImageTargetWindow': {'targetWindowOption': 'NEW_WINDOW'}, 'clickTags': [{ 'eventName': 'exit', 'name': 'click_tag', 'clickThroughUrl': {'landingPageId': default_landing_page['id']} }], 'creativeAssets': [ {'assetIdentifier': html5_asset_id, 'role': 'PRIMARY'}, {'assetIdentifier': backup_image_asset_id, 'role': 'BACKUP_IMAGE'} ], 'name': 'Test HTML5 display creative', 'size': {'id': size_id}, 'type': 'DISPLAY' }
-
บันทึกครีเอทีฟโฆษณา โดยโทรไปที่
creatives.insert()
คุณต้องระบุรหัสผู้ลงโฆษณาที่จะเชื่อมโยงครีเอทีฟโฆษณานี้request = service.creatives().insert(profileId=profile_id, body=creative) # Execute request and print response. response = request.execute()
-
(ไม่บังคับ) เชื่อมโยงครีเอทีฟโฆษณากับแคมเปญ ซึ่งทำได้ด้วยการเรียกใช้
campaignCreativeAssociations.insert()
แล้วส่งผ่านแคมเปญและรหัสครีเอทีฟโฆษณา# Construct the request. association = { 'creativeId': creative_id } request = service.campaignCreativeAssociations().insert( profileId=profile_id, campaignId=campaign_id, body=association) # Execute request and print response. response = request.execute()
Ruby
-
อัปโหลดชิ้นงาน ครีเอทีฟโฆษณาที่แตกต่างกันต้องใช้ประเภทและจำนวนชิ้นงานที่แตกต่างกัน ดูรายละเอียดได้ที่อัปโหลดชิ้นงาน ทุกครั้งที่อัปโหลดเนื้อหาสำเร็จ คุณจะได้รับ
assetIdenfitier
ในการตอบกลับ คุณจะใช้ชื่อและประเภทไฟล์ที่จัดเก็บไว้เพื่ออ้างอิงเนื้อหาเหล่านี้ในครีเอทีฟโฆษณาแทนรหัสแบบเดิม -
สร้างครีเอทีฟโฆษณาและกำหนดค่าที่เหมาะสม สร้างอินสแตนซ์
Creative
และตั้งค่าtype
ที่เหมาะสม คุณไม่สามารถเปลี่ยนประเภทออบเจ็กต์Creative
หลังจากที่บันทึกแล้ว ระบุเนื้อหาตามAssetIdentifier
และrole
# Locate an advertiser landing page to use as a default. default_landing_page = get_advertiser_landing_page(service, profile_id, advertiser_id) # Upload the HTML5 asset. html5_asset_id = util.upload_asset(advertiser_id, path_to_html5_asset_file, 'HTML').asset_identifier # Upload the backup image asset. backup_image_asset_id = util.upload_asset(advertiser_id, path_to_backup_image_file, 'HTML_IMAGE').asset_identifier # Construct the creative structure. creative = DfareportingUtils::API_NAMESPACE::Creative.new( advertiser_id: advertiser_id, backup_image_click_through_url: DfareportingUtils::API_NAMESPACE::CreativeClickThroughUrl.new( landing_page_id: default_landing_page.id ), backup_image_reporting_label: 'backup', backup_image_target_window: DfareportingUtils::API_NAMESPACE::TargetWindow.new( target_window_option: 'NEW_WINDOW' ), click_tags: [ DfareportingUtils::API_NAMESPACE::ClickTag.new( event_name: 'exit', name: 'click_tag', click_through_url: DfareportingUtils::API_NAMESPACE::CreativeClickThroughUrl.new( landing_page_id: default_landing_page.id ) ) ], creative_assets: [ DfareportingUtils::API_NAMESPACE::CreativeAsset.new( asset_identifier: html5_asset_id, role: 'PRIMARY' ), DfareportingUtils::API_NAMESPACE::CreativeAsset.new( asset_identifier: backup_image_asset_id, role: 'BACKUP_IMAGE' ) ], name: 'Example HTML5 display creative', size: DfareportingUtils::API_NAMESPACE::Size.new(id: size_id), type: 'DISPLAY' )
-
บันทึกครีเอทีฟโฆษณา โดยโทรไปที่
creatives.insert()
คุณต้องระบุรหัสผู้ลงโฆษณาที่จะเชื่อมโยงครีเอทีฟโฆษณานี้# Insert the creative. result = service.insert_creative(profile_id, creative)
-
(ไม่บังคับ) เชื่อมโยงครีเอทีฟโฆษณากับแคมเปญ ซึ่งทำได้ด้วยการเรียกใช้
campaignCreativeAssociations.insert()
แล้วส่งผ่านแคมเปญและรหัสครีเอทีฟโฆษณา# Create a new creative-campaign association to insert association = DfareportingUtils::API_NAMESPACE::CampaignCreativeAssociation.new( creative_id: creative_id ) # Insert the advertiser group. result = service.insert_campaign_creative_association(profile_id, campaign_id, association)
สร้างโฆษณา
Ad
คือลิงก์ระหว่าง Creative
กับ Placement
Ad
จะลิงก์กับตำแหน่งโฆษณาได้อย่างน้อย 1 ตำแหน่ง และใส่ครีเอทีฟโฆษณาได้อย่างน้อย 1 รายการ
คุณจะสร้าง Ad
อย่างชัดแจ้งหรือโดยนัยก็ได้
ชัดเจน
C#
-
สร้างออบเจ็กต์
CreativeAssignment
สำหรับครีเอทีฟโฆษณาแต่ละรายการที่ควรเชื่อมโยงโฆษณานี้ ตรวจสอบว่าได้ตั้งค่าช่องCreativeAssignment.active
เป็น "จริง"// Create a click-through URL. ClickThroughUrl clickThroughUrl = new ClickThroughUrl(); clickThroughUrl.DefaultLandingPage = true; // Create a creative assignment. CreativeAssignment creativeAssignment = new CreativeAssignment(); creativeAssignment.Active = true; creativeAssignment.CreativeId = creativeId; creativeAssignment.ClickThroughUrl = clickThroughUrl;
-
สร้างออบเจ็กต์
CreativeRotation
เพื่อจัดเก็บCreativeAssignment
หากสร้างกลุ่มการหมุนเวียน โปรดตรวจสอบว่าได้ตั้งค่าฟิลด์การหมุนเวียนโฆษณาที่จำเป็นอื่นๆ ไว้แล้ว// Create a creative rotation. CreativeRotation creativeRotation = new CreativeRotation(); creativeRotation.CreativeAssignments = new List<CreativeAssignment>() { creativeAssignment };
-
สร้างออบเจ็กต์
PlacementAssignment
สำหรับแต่ละตำแหน่งโฆษณาที่ควรเชื่อมโยงกับโฆษณานี้ ตรวจสอบว่าได้ตั้งค่าช่องPlacementAssignment.active
เป็น "จริง"// Create a placement assignment. PlacementAssignment placementAssignment = new PlacementAssignment(); placementAssignment.Active = true; placementAssignment.PlacementId = placementId;
-
สร้างออบเจ็กต์
Ad
ตั้งค่าcreativeRotation ลงในช่องcreativeRotation
ของออบเจ็กต์Ad
และ placementAssignments ในอาร์เรย์placementAssignments
ของออบเจ็กต์Ad
// Create a delivery schedule. DeliverySchedule deliverySchedule = new DeliverySchedule(); deliverySchedule.ImpressionRatio = 1; deliverySchedule.Priority = "AD_PRIORITY_01"; DateTime startDate = DateTime.Now; DateTime endDate = Convert.ToDateTime(campaign.EndDate); // Create a rotation group. Ad rotationGroup = new Ad(); rotationGroup.Active = true; rotationGroup.CampaignId = campaignId; rotationGroup.CreativeRotation = creativeRotation; rotationGroup.DeliverySchedule = deliverySchedule; rotationGroup.StartTime = startDate; rotationGroup.EndTime = endDate; rotationGroup.Name = adName; rotationGroup.PlacementAssignments = new List<PlacementAssignment>() { placementAssignment }; rotationGroup.Type = "AD_SERVING_STANDARD_AD";
-
บันทึกโฆษณาโดยโทรไปที่
ads.insert()
// Insert the rotation group. Ad result = service.Ads.Insert(rotationGroup, profileId).Execute();
Java
-
สร้างออบเจ็กต์
CreativeAssignment
สำหรับครีเอทีฟโฆษณาแต่ละรายการที่ควรเชื่อมโยงโฆษณานี้ ตรวจสอบว่าได้ตั้งค่าช่องCreativeAssignment.active
เป็น "จริง"// Create a click-through URL. ClickThroughUrl clickThroughUrl = new ClickThroughUrl(); clickThroughUrl.setDefaultLandingPage(true); // Create a creative assignment. CreativeAssignment creativeAssignment = new CreativeAssignment(); creativeAssignment.setActive(true); creativeAssignment.setCreativeId(creativeId); creativeAssignment.setClickThroughUrl(clickThroughUrl);
-
สร้างออบเจ็กต์
CreativeRotation
เพื่อจัดเก็บCreativeAssignment
หากสร้างกลุ่มการหมุนเวียน โปรดตรวจสอบว่าได้ตั้งค่าฟิลด์การหมุนเวียนโฆษณาที่จำเป็นอื่นๆ ไว้แล้ว// Create a creative rotation. CreativeRotation creativeRotation = new CreativeRotation(); creativeRotation.setCreativeAssignments(ImmutableList.of(creativeAssignment));
-
สร้างออบเจ็กต์
PlacementAssignment
สำหรับแต่ละตำแหน่งโฆษณาที่ควรเชื่อมโยงกับโฆษณานี้ ตรวจสอบว่าได้ตั้งค่าช่องPlacementAssignment.active
เป็น "จริง"// Create a placement assignment. PlacementAssignment placementAssignment = new PlacementAssignment(); placementAssignment.setActive(true); placementAssignment.setPlacementId(placementId);
-
สร้างออบเจ็กต์
Ad
ตั้งค่าcreativeRotation ลงในช่องcreativeRotation
ของออบเจ็กต์Ad
และ placementAssignments ในอาร์เรย์placementAssignments
ของออบเจ็กต์Ad
// Create a delivery schedule. DeliverySchedule deliverySchedule = new DeliverySchedule(); deliverySchedule.setImpressionRatio(1L); deliverySchedule.setPriority("AD_PRIORITY_01"); DateTime startDate = new DateTime(new Date()); DateTime endDate = new DateTime(campaign.getEndDate().getValue()); // Create a rotation group. Ad rotationGroup = new Ad(); rotationGroup.setActive(true); rotationGroup.setCampaignId(campaignId); rotationGroup.setCreativeRotation(creativeRotation); rotationGroup.setDeliverySchedule(deliverySchedule); rotationGroup.setStartTime(startDate); rotationGroup.setEndTime(endDate); rotationGroup.setName(adName); rotationGroup.setPlacementAssignments(ImmutableList.of(placementAssignment)); rotationGroup.setType("AD_SERVING_STANDARD_AD");
-
บันทึกโฆษณาโดยโทรไปที่
ads.insert()
// Insert the rotation group. Ad result = reporting.ads().insert(profileId, rotationGroup).execute();
PHP
-
สร้างออบเจ็กต์
CreativeAssignment
สำหรับครีเอทีฟโฆษณาแต่ละรายการที่ควรเชื่อมโยงโฆษณานี้ ตรวจสอบว่าได้ตั้งค่าช่องCreativeAssignment.active
เป็น "จริง"// Create a click-through URL. $url = new Google_Service_Dfareporting_ClickThroughUrl(); $url->setDefaultLandingPage(true); // Create a creative assignment. $creativeAssignment = new Google_Service_Dfareporting_CreativeAssignment(); $creativeAssignment->setActive(true); $creativeAssignment->setCreativeId($values['creative_id']); $creativeAssignment->setClickThroughUrl($url);
-
สร้างออบเจ็กต์
CreativeRotation
เพื่อจัดเก็บCreativeAssignment
หากสร้างกลุ่มการหมุนเวียน โปรดตรวจสอบว่าได้ตั้งค่าฟิลด์การหมุนเวียนโฆษณาที่จำเป็นอื่นๆ ไว้แล้ว// Create a creative rotation. $creativeRotation = new Google_Service_Dfareporting_CreativeRotation(); $creativeRotation->setCreativeAssignments([$creativeAssignment]);
-
สร้างออบเจ็กต์
PlacementAssignment
สำหรับแต่ละตำแหน่งโฆษณาที่ควรเชื่อมโยงกับโฆษณานี้ ตรวจสอบว่าได้ตั้งค่าช่องPlacementAssignment.active
เป็น "จริง"// Create a placement assignment. $placementAssignment = new Google_Service_Dfareporting_PlacementAssignment(); $placementAssignment->setActive(true); $placementAssignment->setPlacementId($values['placement_id']);
-
สร้างออบเจ็กต์
Ad
ตั้งค่าcreativeRotation ลงในช่องcreativeRotation
ของออบเจ็กต์Ad
และ placementAssignments ในอาร์เรย์placementAssignments
ของออบเจ็กต์Ad
// Create a delivery schedule. $deliverySchedule = new Google_Service_Dfareporting_DeliverySchedule(); $deliverySchedule->setImpressionRatio(1); $deliverySchedule->SetPriority('AD_PRIORITY_01'); $startDate = new DateTime('today'); $endDate = new DateTime($campaign->getEndDate()); // Create a rotation group. $ad = new Google_Service_Dfareporting_Ad(); $ad->setActive(true); $ad->setCampaignId($values['campaign_id']); $ad->setCreativeRotation($creativeRotation); $ad->setDeliverySchedule($deliverySchedule); $ad->setStartTime($startDate->format('Y-m-d') . 'T23:59:59Z'); $ad->setEndTime($endDate->format('Y-m-d') . 'T00:00:00Z'); $ad->setName($values['ad_name']); $ad->setPlacementAssignments([$placementAssignment]); $ad->setType('AD_SERVING_STANDARD_AD');
-
บันทึกโฆษณาโดยโทรไปที่
ads.insert()
$result = $this->service->ads->insert($values['user_profile_id'], $ad);
Python
-
สร้างออบเจ็กต์
CreativeAssignment
สำหรับครีเอทีฟโฆษณาแต่ละรายการที่ควรเชื่อมโยงโฆษณานี้ ตรวจสอบว่าได้ตั้งค่าช่องCreativeAssignment.active
เป็น "จริง"# Construct creative assignment. creative_assignment = { 'active': 'true', 'creativeId': creative_id, 'clickThroughUrl': { 'defaultLandingPage': 'true' } }
-
สร้างออบเจ็กต์
CreativeRotation
เพื่อจัดเก็บCreativeAssignment
หากสร้างกลุ่มการหมุนเวียน โปรดตรวจสอบว่าได้ตั้งค่าฟิลด์การหมุนเวียนโฆษณาที่จำเป็นอื่นๆ ไว้แล้ว# Construct creative rotation. creative_rotation = { 'creativeAssignments': [creative_assignment], 'type': 'CREATIVE_ROTATION_TYPE_RANDOM', 'weightCalculationStrategy': 'WEIGHT_STRATEGY_OPTIMIZED' }
-
สร้างออบเจ็กต์
PlacementAssignment
สำหรับแต่ละตำแหน่งโฆษณาที่ควรเชื่อมโยงกับโฆษณานี้ ตรวจสอบว่าได้ตั้งค่าช่องPlacementAssignment.active
เป็น "จริง"# Construct placement assignment. placement_assignment = { 'active': 'true', 'placementId': placement_id, }
-
สร้างออบเจ็กต์
Ad
ตั้งค่าcreativeRotation ลงในช่องcreativeRotation
ของออบเจ็กต์Ad
และ placementAssignments ในอาร์เรย์placementAssignments
ของออบเจ็กต์Ad
# Construct delivery schedule. delivery_schedule = { 'impressionRatio': '1', 'priority': 'AD_PRIORITY_01' } # Construct and save ad. ad = { 'active': 'true', 'campaignId': campaign_id, 'creativeRotation': creative_rotation, 'deliverySchedule': delivery_schedule, 'endTime': '%sT00:00:00Z' % campaign['endDate'], 'name': 'Test Rotation Group', 'placementAssignments': [placement_assignment], 'startTime': '%sT23:59:59Z' % time.strftime('%Y-%m-%d'), 'type': 'AD_SERVING_STANDARD_AD' }
-
บันทึกโฆษณาโดยโทรไปที่
ads.insert()
request = service.ads().insert(profileId=profile_id, body=ad) # Execute request and print response. response = request.execute()
Ruby
-
สร้างออบเจ็กต์
CreativeAssignment
สำหรับครีเอทีฟโฆษณาแต่ละรายการที่ควรเชื่อมโยงโฆษณานี้ ตรวจสอบว่าได้ตั้งค่าช่องCreativeAssignment.active
เป็น "จริง"# Construct creative assignment. creative_assignment = DfareportingUtils::API_NAMESPACE::CreativeAssignment.new( active: true, creative_id: creative_id, click_through_url: DfareportingUtils::API_NAMESPACE::ClickThroughUrl.new( default_landing_page: true ) )
-
สร้างออบเจ็กต์
CreativeRotation
เพื่อจัดเก็บCreativeAssignment
หากสร้างกลุ่มการหมุนเวียน โปรดตรวจสอบว่าได้ตั้งค่าฟิลด์การหมุนเวียนโฆษณาที่จำเป็นอื่นๆ ไว้แล้ว# Construct creative rotation. creative_rotation = DfareportingUtils::API_NAMESPACE::CreativeRotation.new( creative_assignments: [creative_assignment], type: 'CREATIVE_ROTATION_TYPE_RANDOM', weight_calculation_strategy: 'WEIGHT_STRATEGY_OPTIMIZED' )
-
สร้างออบเจ็กต์
PlacementAssignment
สำหรับแต่ละตำแหน่งโฆษณาที่ควรเชื่อมโยงกับโฆษณานี้ ตรวจสอบว่าได้ตั้งค่าช่องPlacementAssignment.active
เป็น "จริง"# Construct placement assignment. placement_assignment = DfareportingUtils::API_NAMESPACE::PlacementAssignment.new( active: true, placement_id: placement_id )
-
สร้างออบเจ็กต์
Ad
ตั้งค่าcreativeRotation ลงในช่องcreativeRotation
ของออบเจ็กต์Ad
และ placementAssignments ในอาร์เรย์placementAssignments
ของออบเจ็กต์Ad
# Construct delivery schedule. delivery_schedule = DfareportingUtils::API_NAMESPACE::DeliverySchedule.new( impression_ratio: 1, priority: 'AD_PRIORITY_01' ) # Construct and save ad. ad = DfareportingUtils::API_NAMESPACE::Ad.new( active: true, campaign_id: campaign_id, creative_rotation: creative_rotation, delivery_schedule: delivery_schedule, end_time: format('%sT00:00:00Z', campaign.end_date), name: 'Example Rotation Group', placement_assignments: [placement_assignment], start_time: format('%sT23:59:59Z', Time.now.strftime('%Y-%m-%d')), type: 'AD_SERVING_STANDARD_AD' )
-
บันทึกโฆษณาโดยโทรไปที่
ads.insert()
result = service.insert_ad(profile_id, ad)
โดยนัย
C#
-
สร้างและบันทึก
Placement
-
สร้างและบันทึก
Creative
-
เชื่อมโยง
Creative
กับCampaign
เดียวกับที่ใช้สำหรับPlacement
โดยการเรียกใช้campaignCreativeAssociations.insert()
(ดูขั้นตอนที่ 4 ในส่วนการสร้างครีเอทีฟโฆษณา) ซึ่งจะสร้างโฆษณาเริ่มต้นที่เชื่อมโยงกับทั้งครีเอทีฟโฆษณาและตำแหน่ง// Create the campaign creative association structure. CampaignCreativeAssociation association = new CampaignCreativeAssociation(); association.CreativeId = creativeId; // Insert the association. CampaignCreativeAssociation result = service.CampaignCreativeAssociations.Insert(association, profileId, campaignId).Execute();
Java
-
สร้างและบันทึก
Placement
-
สร้างและบันทึก
Creative
-
เชื่อมโยง
Creative
กับCampaign
เดียวกับที่ใช้สำหรับPlacement
โดยการเรียกใช้campaignCreativeAssociations.insert()
(ดูขั้นตอนที่ 4 ในส่วนการสร้างครีเอทีฟโฆษณา) ซึ่งจะสร้างโฆษณาเริ่มต้นที่เชื่อมโยงกับทั้งครีเอทีฟโฆษณาและตำแหน่ง// Create the campaign creative association structure. CampaignCreativeAssociation association = new CampaignCreativeAssociation(); association.setCreativeId(creativeId); // Insert the association. CampaignCreativeAssociation result = reporting .campaignCreativeAssociations().insert(profileId, campaignId, association) .execute();
PHP
-
สร้างและบันทึก
Placement
-
สร้างและบันทึก
Creative
-
เชื่อมโยง
Creative
กับCampaign
เดียวกับที่ใช้สำหรับPlacement
โดยการเรียกใช้campaignCreativeAssociations.insert()
(ดูขั้นตอนที่ 4 ในส่วนการสร้างครีเอทีฟโฆษณา) ซึ่งจะสร้างโฆษณาเริ่มต้นที่เชื่อมโยงกับทั้งครีเอทีฟโฆษณาและตำแหน่ง$association = new Google_Service_Dfareporting_CampaignCreativeAssociation(); $association->setCreativeId($values['creative_id']); $result = $this->service->campaignCreativeAssociations->insert( $values['user_profile_id'], $values['campaign_id'], $association );
Python
-
สร้างและบันทึก
Placement
-
สร้างและบันทึก
Creative
-
เชื่อมโยง
Creative
กับCampaign
เดียวกับที่ใช้สำหรับPlacement
โดยการเรียกใช้campaignCreativeAssociations.insert()
(ดูขั้นตอนที่ 4 ในส่วนการสร้างครีเอทีฟโฆษณา) ซึ่งจะสร้างโฆษณาเริ่มต้นที่เชื่อมโยงกับทั้งครีเอทีฟโฆษณาและตำแหน่ง# Construct the request. association = { 'creativeId': creative_id } request = service.campaignCreativeAssociations().insert( profileId=profile_id, campaignId=campaign_id, body=association) # Execute request and print response. response = request.execute()
Ruby
-
สร้างและบันทึก
Placement
-
สร้างและบันทึก
Creative
-
เชื่อมโยง
Creative
กับCampaign
เดียวกับที่ใช้สำหรับPlacement
โดยการเรียกใช้campaignCreativeAssociations.insert()
(ดูขั้นตอนที่ 4 ในส่วนการสร้างครีเอทีฟโฆษณา) ซึ่งจะสร้างโฆษณาเริ่มต้นที่เชื่อมโยงกับทั้งครีเอทีฟโฆษณาและตำแหน่ง# Create a new creative-campaign association to insert association = DfareportingUtils::API_NAMESPACE::CampaignCreativeAssociation.new( creative_id: creative_id ) # Insert the advertiser group. result = service.insert_campaign_creative_association(profile_id, campaign_id, association)
การสร้างโฆษณาโดยนัยจะบันทึกขั้นตอนเพิ่มเติมในการสร้าง Ad
ได้ โปรดทราบว่าวิธีนี้จะสามารถทำได้เฉพาะในกรณีที่ไม่มีโฆษณาเริ่มต้นของขนาดที่ระบุภายในแคมเปญของคุณอยู่แล้ว
ค้นหาวัตถุ
คุณค้นหาออบเจ็กต์ได้โดยเรียกใช้การดำเนินการ list()
ที่บริการเปิดเผยโดยบริการที่กำหนดออบเจ็กต์ที่จะค้นหา โดยระบุเกณฑ์ที่ไม่บังคับที่เหมาะกับประเภทออบเจ็กต์นั้น ตัวอย่างเช่น หากต้องการค้นหาออบเจ็กต์โฆษณา คุณจะต้องเรียก ads.list()
เกณฑ์ที่ไม่บังคับจะแสดงชุดพร็อพเพอร์ตี้ที่เหมาะสำหรับออบเจ็กต์นั้น จะกรอกข้อมูลที่พักได้มากเท่าที่ต้องการค้นหา การค้นหาจะแสดงเฉพาะออบเจ็กต์ที่ตรงกับเกณฑ์ทั้งหมด คุณจะไม่สามารถค้นหาที่ตรงกับเกณฑ์ใดๆ ได้ สตริงรองรับไวลด์การ์ด * ไม่คำนึงถึงตัวพิมพ์เล็กหรือใหญ่ และจับคู่ภายในสตริงที่ใหญ่กว่า
คุณขอคำตอบบางส่วนได้โดยใช้พารามิเตอร์ fields
เพื่อปรับปรุงประสิทธิภาพ วิธีนี้จะทำให้เซิร์ฟเวอร์แสดงผลเฉพาะช่องที่คุณระบุ แทนที่จะแสดงผลทรัพยากรแบบเต็ม ดูข้อมูลเพิ่มเติมเกี่ยวกับหัวข้อนี้ได้ในคู่มือเคล็ดลับประสิทธิภาพ
การแบ่งหน้า
บางครั้งคุณไม่ควรเรียกผลลัพธ์ทั้งหมดสำหรับคำขอ list()
ตัวอย่างเช่น คุณอาจสนใจโฆษณาใหม่ล่าสุด 10 รายการจากกลุ่มนับพันรายการเท่านั้น เพื่อเป็นการช่วยในเรื่องนี้ เมธอด list()
มากมายช่วยให้คุณขอผลลัพธ์น้อยลงผ่านกระบวนการที่เรียกว่าการแบ่งหน้าได้
เมธอดที่รองรับการแบ่งหน้าจะแสดงผลชุดย่อยของผลลัพธ์ในกลุ่มที่เรียกว่า pages จำนวนผลลัพธ์สูงสุดต่อหน้าคือ 1,000 รายการ (ค่าเริ่มต้น) คุณเปลี่ยนจำนวนผลลัพธ์ต่อหน้าได้โดยตั้งค่า maxResults
และสามารถทำซ้ำผ่านหน้าต่างๆ โดยใช้ nextPageToken
ที่แสดงในคำตอบ ดังนี้
C#
// Limit the fields returned. String fields = "nextPageToken,ads(advertiserId,id,name)"; AdsListResponse result; String nextPageToken = null; do { // Create and execute the ad list request. AdsResource.ListRequest request = service.Ads.List(profileId); request.Active = true; request.Fields = fields; request.PageToken = nextPageToken; result = request.Execute(); foreach (Ad ad in result.Ads) { Console.WriteLine( "Ad with ID {0} and name \"{1}\" is associated with advertiser" + " ID {2}.", ad.Id, ad.Name, ad.AdvertiserId); } // Update the next page token. nextPageToken = result.NextPageToken; } while (result.Ads.Any() && !String.IsNullOrEmpty(nextPageToken));
Java
// Limit the fields returned. String fields = "nextPageToken,ads(advertiserId,id,name)"; AdsListResponse result; String nextPageToken = null; do { // Create and execute the ad list request. result = reporting.ads().list(profileId).setActive(true).setFields(fields) .setPageToken(nextPageToken).execute(); for (Ad ad : result.getAds()) { System.out.printf( "Ad with ID %d and name \"%s\" is associated with advertiser ID %d.%n", ad.getId(), ad.getName(), ad.getAdvertiserId()); } // Update the next page token. nextPageToken = result.getNextPageToken(); } while (!result.getAds().isEmpty() && !Strings.isNullOrEmpty(nextPageToken));
PHP
$response = null; $pageToken = null; do { // Create and execute the ads list request. $response = $this->service->ads->listAds( $values['user_profile_id'], ['active' => true, 'pageToken' => $pageToken] ); foreach ($response->getAds() as $ads) { $this->printResultsTableRow($ads); } // Update the next page token. $pageToken = $response->getNextPageToken(); } while (!empty($response->getAds()) && !empty($pageToken));
Python
# Construct the request. request = service.ads().list(profileId=profile_id, active=True) while True: # Execute request and print response. response = request.execute() for ad in response['ads']: print 'Found ad with ID %s and name "%s".' % (ad['id'], ad['name']) if response['ads'] and response['nextPageToken']: request = service.ads().list_next(request, response) else: break
Ruby
token = nil loop do result = service.list_ads(profile_id, page_token: token, fields: 'nextPageToken,ads(id,name)') # Display results. if result.ads.any? result.ads.each do |ad| puts format('Found ad with ID %d and name "%s".', ad.id, ad.name) end token = result.next_page_token else # Stop paging if there are no more results. token = nil end break if token.to_s.empty? end
สร้างแท็ก Floodlight
แท็ก Floodlight เป็นแท็ก HTML ที่ฝังอยู่ในหน้าเว็บ ซึ่งใช้เพื่อติดตามการกระทำของผู้ใช้ (เช่น การซื้อ) ภายในเว็บไซต์ คุณต้องมี FloodlightActivity
จึงจะสร้างแท็ก Floodlight
ที่เป็นของ FloodlightActivityGroup
:
C#
-
สร้างกลุ่มกิจกรรม Floodlight ใหม่โดยการส่งค่าสำหรับ
name
,type
และfloodlightConfigurationId
// Create the floodlight activity group. FloodlightActivityGroup floodlightActivityGroup = new FloodlightActivityGroup(); floodlightActivityGroup.Name = groupName; floodlightActivityGroup.FloodlightConfigurationId = floodlightConfigurationId; floodlightActivityGroup.Type = "COUNTER";
-
บันทึกกลุ่มกิจกรรม Floodlight โดยการเรียกใช้
floodlightActivityGroups.insert()
ซึ่งจะเป็นการแสดงรหัสของกลุ่มใหม่// Insert the activity group. FloodlightActivityGroup result = service.FloodlightActivityGroups.Insert(floodlightActivityGroup, profileId).Execute();
-
สร้างกิจกรรม Floodlight ใหม่และกำหนดรหัสของกลุ่มกิจกรรม Floodlight ที่คุณเพิ่งสร้าง รวมถึงช่องอื่นๆ ที่จำเป็น
// Set floodlight activity structure. FloodlightActivity activity = new FloodlightActivity(); activity.CountingMethod = "STANDARD_COUNTING"; activity.Name = activityName; activity.FloodlightActivityGroupId = activityGroupId; activity.FloodlightTagType = "GLOBAL_SITE_TAG"; activity.ExpectedUrl = url;
-
บันทึกกิจกรรมใหม่โดยการเรียกใช้
floodlightActivities.insert()
ซึ่งจะแสดงผลรหัสของกิจกรรมใหม่// Create the floodlight tag activity. FloodlightActivity result = service.FloodlightActivities.Insert(activity, profileId).Execute();
-
สร้างแท็กโดยเรียกใช้
floodlightActivities.generatetag()
พร้อมfloodlightActivityId
ของกิจกรรมใหม่ ส่งแท็กไปให้ผู้ดูแลเว็บที่เว็บไซต์ของผู้ลงโฆษณา// Generate the floodlight activity tag. FloodlightActivitiesResource.GeneratetagRequest request = service.FloodlightActivities.Generatetag(profileId); request.FloodlightActivityId = activityId; FloodlightActivitiesGenerateTagResponse response = request.Execute();
Java
-
สร้างกลุ่มกิจกรรม Floodlight ใหม่โดยการส่งค่าสำหรับ
name
,type
และfloodlightConfigurationId
// Create the floodlight activity group. FloodlightActivityGroup floodlightActivityGroup = new FloodlightActivityGroup(); floodlightActivityGroup.setName(groupName); floodlightActivityGroup.setFloodlightConfigurationId(floodlightConfigurationId); floodlightActivityGroup.setType("COUNTER");
-
บันทึกกลุ่มกิจกรรม Floodlight โดยการเรียกใช้
floodlightActivityGroups.insert()
ซึ่งจะเป็นการแสดงรหัสของกลุ่มใหม่// Insert the activity group. FloodlightActivityGroup result = reporting.floodlightActivityGroups().insert(profileId, floodlightActivityGroup).execute();
-
สร้างกิจกรรม Floodlight ใหม่และกำหนดรหัสของกลุ่มกิจกรรม Floodlight ที่คุณเพิ่งสร้าง รวมถึงช่องอื่นๆ ที่จำเป็น
// Set floodlight activity structure. FloodlightActivity activity = new FloodlightActivity(); activity.setName(activityName); activity.setCountingMethod("STANDARD_COUNTING"); activity.setExpectedUrl(url); activity.setFloodlightActivityGroupId(activityGroupId); activity.setFloodlightTagType("GLOBAL_SITE_TAG");
-
บันทึกกิจกรรมใหม่โดยการเรียกใช้
floodlightActivities.insert()
ซึ่งจะแสดงผลรหัสของกิจกรรมใหม่// Create the floodlight tag activity. FloodlightActivity result = reporting.floodlightActivities().insert(profileId, activity).execute();
-
สร้างแท็กโดยเรียกใช้
floodlightActivities.generatetag()
พร้อมfloodlightActivityId
ของกิจกรรมใหม่ ส่งแท็กไปให้ผู้ดูแลเว็บที่เว็บไซต์ของผู้ลงโฆษณา// Generate the floodlight activity tag. Generatetag request = reporting.floodlightActivities().generatetag(profileId); request.setFloodlightActivityId(activityId); FloodlightActivitiesGenerateTagResponse response = request.execute();
PHP
-
สร้างกลุ่มกิจกรรม Floodlight ใหม่โดยการส่งค่าสำหรับ
name
,type
และfloodlightConfigurationId
$group = new Google_Service_Dfareporting_FloodlightActivityGroup(); $group->setFloodlightConfigurationId($values['configuration_id']); $group->setName($values['group_name']); $group->setType('COUNTER');
-
บันทึกกลุ่มกิจกรรม Floodlight โดยการเรียกใช้
floodlightActivityGroups.insert()
ซึ่งจะเป็นการแสดงผลรหัสของกลุ่มใหม่$result = $this->service->floodlightActivityGroups->insert( $values['user_profile_id'], $group );
-
สร้างกิจกรรม Floodlight ใหม่และกำหนดรหัสของกลุ่มกิจกรรม Floodlight ที่คุณเพิ่งสร้าง รวมถึงช่องอื่นๆ ที่จำเป็น
$activity = new Google_Service_Dfareporting_FloodlightActivity(); $activity->setCountingMethod('STANDARD_COUNTING'); $activity->setExpectedUrl($values['url']); $activity->setFloodlightActivityGroupId($values['activity_group_id']); $activity->setFloodlightTagType('GLOBAL_SITE_TAG'); $activity->setName($values['activity_name']);
-
บันทึกกิจกรรมใหม่โดยการเรียกใช้
floodlightActivities.insert()
ซึ่งจะแสดงรหัสของกิจกรรมใหม่$result = $this->service->floodlightActivities->insert( $values['user_profile_id'], $activity );
-
สร้างแท็กโดยเรียกใช้
floodlightActivities.generatetag()
พร้อมfloodlightActivityId
ของกิจกรรมใหม่ ส่งแท็กไปให้ผู้ดูแลเว็บที่เว็บไซต์ของผู้ลงโฆษณา$result = $this->service->floodlightActivities->generatetag( $values['user_profile_id'], ['floodlightActivityId' => $values['activity_id']] );
Python
-
สร้างกลุ่มกิจกรรม Floodlight ใหม่โดยการส่งค่าสำหรับ
name
,type
และfloodlightConfigurationId
# Construct and save floodlight activity group. activity_group = { 'name': 'Test Floodlight Activity Group', 'floodlightConfigurationId': floodlight_config_id, 'type': 'COUNTER' }
-
บันทึกกลุ่มกิจกรรม Floodlight โดยการเรียกใช้
floodlightActivityGroups.insert()
ซึ่งจะเป็นการแสดงรหัสของกลุ่มใหม่request = service.floodlightActivityGroups().insert( profileId=profile_id, body=activity_group)
-
สร้างกิจกรรม Floodlight ใหม่และกำหนดรหัสของกลุ่มกิจกรรม Floodlight ที่คุณเพิ่งสร้าง รวมถึงช่องอื่นๆ ที่จำเป็น
# Construct and save floodlight activity. floodlight_activity = { 'countingMethod': 'STANDARD_COUNTING', 'expectedUrl': 'http://www.google.com', 'floodlightActivityGroupId': activity_group_id, 'floodlightTagType': 'GLOBAL_SITE_TAG', 'name': 'Test Floodlight Activity' }
-
บันทึกกิจกรรมใหม่โดยการเรียกใช้
floodlightActivities.insert()
ซึ่งจะแสดงผลรหัสของกิจกรรมใหม่request = service.floodlightActivities().insert( profileId=profile_id, body=floodlight_activity)
-
สร้างแท็กโดยเรียกใช้
floodlightActivities.generatetag()
พร้อมfloodlightActivityId
ของกิจกรรมใหม่ ส่งแท็กไปให้ผู้ดูแลเว็บที่เว็บไซต์ของผู้ลงโฆษณา# Construct the request. request = service.floodlightActivities().generatetag( profileId=profile_id, floodlightActivityId=activity_id) # Execute request and print response. response = request.execute()
Ruby
-
สร้างกลุ่มกิจกรรม Floodlight ใหม่โดยการส่งค่าสำหรับ
name
,type
และfloodlightConfigurationId
# Create a new floodlight activity group resource to insert. activity_group = DfareportingUtils::API_NAMESPACE::FloodlightActivityGroup.new( floodlight_configuration_id: floodlight_config_id, name: format('Example Floodlight Activity Group #%s', SecureRandom.hex(3)), type: 'COUNTER' )
-
บันทึกกลุ่มกิจกรรม Floodlight โดยการเรียกใช้
floodlightActivityGroups.insert()
ซึ่งจะเป็นการแสดงผลรหัสของกลุ่มใหม่# Insert the floodlight activity group. result = service.insert_floodlight_activity_group(profile_id, activity_group)
-
สร้างกิจกรรม Floodlight ใหม่และกำหนดรหัสของกลุ่มกิจกรรม Floodlight ที่คุณเพิ่งสร้าง รวมถึงช่องอื่นๆ ที่จำเป็น
# Create a new floodlight activity resource to insert. activity = DfareportingUtils::API_NAMESPACE::FloodlightActivity.new( counting_method: 'STANDARD_COUNTING', expected_url: 'http://www.google.com', floodlight_activity_group_id: activity_group_id, floodlight_tag_type: 'GLOBAL_SITE_TAG', name: format('Example Floodlight Activity #%s', SecureRandom.hex(3)) )
-
บันทึกกิจกรรมใหม่โดยการเรียกใช้
floodlightActivities.insert()
ซึ่งจะแสดงผลรหัสของกิจกรรมใหม่# Insert the floodlight activity. result = service.insert_floodlight_activity(profile_id, activity)
-
สร้างแท็กโดยเรียกใช้
floodlightActivities.generatetag()
พร้อมfloodlightActivityId
ของกิจกรรมใหม่ ส่งแท็กไปให้ผู้ดูแลเว็บที่เว็บไซต์ของผู้ลงโฆษณา# Construct the request. result = service.generatetag_floodlight_activity(profile_id, floodlight_activity_id: activity_id)
สร้างแท็กตำแหน่ง
ขั้นตอนสุดท้ายคือการสร้างแท็ก HTML เพื่อส่งไปยังผู้เผยแพร่โฆษณาเพื่อแสดงโฆษณาของคุณ หากต้องการสร้างแท็กผ่าน API ให้ส่งคำขอไปยัง placements.generatetags()
โดยระบุชุด placementIds
และ tagFormats
C#
// Generate the placement activity tags. PlacementsResource.GeneratetagsRequest request = service.Placements.Generatetags(profileId); request.CampaignId = campaignId; request.TagFormats = PlacementsResource.GeneratetagsRequest.TagFormatsEnum.PLACEMENTTAGIFRAMEJAVASCRIPT; request.PlacementIds = placementId.ToString(); PlacementsGenerateTagsResponse response = request.Execute();
Java
// Generate the placement activity tags. Generatetags request = reporting.placements().generatetags(profileId); request.setCampaignId(campaignId); request.setTagFormats(tagFormats); request.setPlacementIds(ImmutableList.of(placementId)); PlacementsGenerateTagsResponse response = request.execute();
PHP
$placementTags = $this->service->placements->generatetags( $values['user_profile_id'], ['campaignId' => $values['campaign_id'], 'placementIds' => [$values['placement_id']], 'tagFormats' => ['PLACEMENT_TAG_STANDARD', 'PLACEMENT_TAG_IFRAME_JAVASCRIPT', 'PLACEMENT_TAG_INTERNAL_REDIRECT'] ] );
Python
# Construct the request. request = service.placements().generatetags( profileId=profile_id, campaignId=campaign_id, placementIds=[placement_id]) # Execute request and print response. response = request.execute()
Ruby
# Construct the request. result = service.generate_placement_tags(profile_id, campaign_id: campaign_id, placement_ids: [placement_id])