ตัวเลือกการกำหนดเป้าหมาย ตัวเลือกการกำหนดเป้าหมายที่กำหนด และ บริการรายการโฆษณาทั้งหมดจะใช้ร่วมกับการตั้งค่า การกำหนดเป้าหมายรายการโฆษณาในเครือข่ายดิสเพลย์และ API ของวิดีโอ 360 หน้านี้อธิบายและแสดงตัวอย่าง ของวิธีหาตัวเลือกการกำหนดเป้าหมายที่มีอยู่ กำหนดตัวเลือกการกำหนดเป้าหมายให้กับบรรทัด รายการ และดำเนินการแบบกลุ่มกับรายการโฆษณาเพื่อแสดงรายการและแก้ไขที่มอบหมาย ตัวเลือกการกำหนดเป้าหมาย
ค้นหาตัวเลือกการกำหนดเป้าหมายที่มี
ตัวเลือกการกำหนดเป้าหมายใช้ตัวแปรที่ผู้ใช้ระบุ ซึ่งมีอยู่แล้วที่กำหนดเป้าหมายได้ หรือตัวเลือกที่มีอยู่เดิมเพื่อกำหนดผู้ชมเป้าหมายที่ต้องการ ตัวเลือกที่มีอยู่ก่อนแล้วจะถูกระบุโดยใช้ค่า enum หรือตัวเลือกการกำหนดเป้าหมาย ทั้งนี้ขึ้นอยู่กับประเภทการกำหนดเป้าหมาย ระบุเอนทิตีที่กำหนดเป้าหมายได้โดยใช้ รหัสเอนทิตี ดูรหัสตัวเลือกการกำหนดเป้าหมายและรหัสเอนทิตีได้โดยใช้ ดิสเพลย์และ API ของวิดีโอ 360
ใช้ค่า enum ที่ตั้งไว้
ตัวเลือกการกำหนดเป้าหมายสำหรับประเภทการกำหนดเป้าหมายต่อไปนี้จะกำหนดโดยใช้ ประเภท Enum เฉพาะ:
TargetingType |
ค่าแจกแจง |
---|---|
TARGETING_TYPE_AGE_RANGE |
AgeRange |
TARGETING_TYPE_CONTENT_INSTREAM_POSITION |
ContentInstreamPosition |
TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION |
ContentOutstreamPosition |
TARGETING_TYPE_DEVICE_TYPE |
DeviceType |
TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION |
ContentRatingTier |
TARGETING_TYPE_ENVIRONMENT |
Environment |
TARGETING_TYPE_EXCHANGE |
Exchange |
TARGETING_TYPE_GENDER |
Gender |
TARGETING_TYPE_HOUSEHOLD_INCOME |
HouseholdIncome |
TARGETING_TYPE_NATIVE_CONTENT_POSITION |
NativeContentPosition |
TARGETING_TYPE_OMID |
Omid |
TARGETING_TYPE_PARENTAL_STATUS |
ParentalStatus |
TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION |
SensitiveCategory |
TARGETING_TYPE_VIDEO_PLAYER_SIZE |
VideoPlayerSize |
TARGETING_TYPE_VIEWABILITY |
Viewability |
เวอร์ชันสตริงของค่า enum ที่เกี่ยวข้องสามารถใช้เพื่อระบุรายการที่มีอยู่
แหล่งข้อมูล AssignedTargetingOption
รายการจากประเภทการกำหนดเป้าหมายเหล่านี้และ
ที่มีอยู่ในช่อง assignedTargetingOptionIdAlias
คุณสามารถ
ให้ใช้ค่าชื่อแทนนี้แทน assignedTargetingOptionId
เมื่อ
เรียกหรือลบตัวเลือกการกำหนดเป้าหมายที่กำหนด
เรียกดูรหัสตัวเลือกการกำหนดเป้าหมาย
ประเภทการกำหนดเป้าหมายที่ใช้ตัวเลือกที่มีอยู่แล้วจะได้รับการกำหนดโดยใช้ รหัสตัวเลือกการกำหนดเป้าหมาย
เช่น มีตำแหน่งบนหน้าจอที่จำกัด
สามารถกำหนดเป้าหมายโดยใช้ประเภทการกำหนดเป้าหมาย TARGETING_TYPE_ON_SCREEN_POSITION
ได้ ชิ้น
ในตำแหน่งเหล่านี้มีรหัสตัวเลือกการกำหนดเป้าหมายที่เกี่ยวข้อง
รหัสตัวเลือกการกำหนดเป้าหมายเหล่านี้จะดึงมาได้ผ่าน บริการตัวเลือกการกำหนดเป้าหมาย ขึ้นอยู่กับ ประเภทการกำหนดเป้าหมาย การดึงข้อมูลจะทำได้ด้วยวิธีใดวิธีหนึ่งจาก 2 วิธีต่อไปนี้
- การดึงข้อมูลทีละรายการหรือรายการครบถ้วน: การดึงข้อมูลตัวเลือกสำหรับ
ประเภทการกำหนดเป้าหมายส่วนใหญ่สามารถทำได้โดยใช้วิธี
get
และlist
ใช้targetingTypes.targetingOptions.get
เพื่อเรียกดูรายละเอียดของ ตัวเลือกการกำหนดเป้าหมายที่ระบุโดยประเภทการกำหนดเป้าหมายและรหัสตัวเลือกการกำหนดเป้าหมาย ใช้targetingTypes.targetingOptions.list
เพื่อแสดงทั้งหมดที่ใช้ได้ ประเภทการกำหนดเป้าหมายที่ระบุ - การค้นหา: ตัวเลือกสำหรับประเภทการกำหนดเป้าหมายตามสถานที่
(
TARGETING_TYPE_GEO_REGION
,TARGETING_TYPE_POI
และTARGETING_TYPE_BUSINESS_CHAIN
) ต้องดึงข้อมูลโดยใช้เมธอดsearch
ใช้targetingTypes.targetingOptions.search
เพื่อเรียกข้อมูล ตัวเลือกการกำหนดเป้าหมายประเภทหนึ่งๆ ที่ตรงกับสตริงการค้นหาที่ระบุ
นี่คือตัวอย่างวิธีเรียกข้อมูลรายการการกำหนดเป้าหมายที่เป็นไปได้
ตัวเลือกสำหรับประเภทการกำหนดเป้าหมาย TARGETING_TYPE_BROWSER
Java
// Configure the list request. TargetingOptions.List request = service .targetingTypes() .targetingOptions() .list("TARGETING_TYPE_BROWSER") .setAdvertiserId(advertiser-id); // Create the response and nextPageToken variables. ListTargetingOptionsResponse response; String nextPageToken = null; do { // Create and execute the list request. response = request.setPageToken(nextPageToken).execute(); // Check if the response is empty. if (response.isEmpty()) { System.out.print("List request returned no Targeting Options"); break; } // Iterate over retrieved targeting options. for (TargetingOption option : response.getTargetingOptions()) { System.out.printf( "Targeting Option ID: %s, Browser Display Name: '%s'\n", option.getTargetingOptionId(), option.getBrowserDetails().getDisplayName()); } // Update the next page token. nextPageToken = response.getNextPageToken(); } while (!Strings.isNullOrEmpty(nextPageToken));
Python
# Create the page token variable. next_page_token = "" while True: # Request the targeting options list. response = service.targetingTypes() \ .targetingOptions().list( advertiserId=advertiser-id, targetingType="TARGETING_TYPE_BROWSER", pageToken=next_page_token ).execute() # Check if response is empty. if not response: print("List request returned no Targeting Options") break # Iterate over retrieved targeting options. for option in response['targetingOptions']: print("Targeting Option ID: %s, Browser Display Name: %s" % (option['targetingOptionId'], option['browserDetails']['displayName'])) # Break out of loop if there is no next page. if 'nextPageToken' not in response: break # Update the next page token. next_page_token = response['nextPageToken']
PHP
// Create the page token variable. $nextPageToken = null; do { // Build the query parameters object for the request. $optParams = array( 'advertiserId' => advertiser-id, 'pageToken' => $nextPageToken ); // Call the API, getting the browser targeting options for the // identified advertiser. $response = $this ->service ->targetingTypes_targetingOptions ->listTargetingTypesTargetingOptions( 'TARGETING_TYPE_BROWSER', $optParams ); // Print the resulting targeting options. if (!empty($response->getTargetingOptions())) { foreach ($response->getTargetingOptions() as $option) { printf( 'Targeting Option ID: %s, Browser Display Name: %s\n', $option['targetingOptionId'], $option['browserDetails']['displayName'] ); } } else { print('No targeting options returned\n'); } // Update the next page token. $nextPageToken = $response->getNextPageToken(); } while ( !empty($response->getTargetingOptions()) && $nextPageToken );
แสดงรายการเอนทิตีที่กำหนดเป้าหมายได้
ในการกำหนดเป้าหมายรายการโฆษณาโดยใช้เอนทิตีที่กำหนดเป้าหมายได้ที่มีอยู่ คุณต้องมี ของเอนทิตีนั้น เอนทิตีที่กำหนดเป้าหมายได้ เช่น แชแนล กลุ่มเป้าหมายแบบรวม และ กลุ่มแหล่งที่มาของพื้นที่โฆษณาจะดึงข้อมูลผ่าน บริการของตนในโฆษณาแบบดิสเพลย์และ API ของวิดีโอ 360
แต่ละบริการมีเมธอด get
และ list
ของตัวเอง ใช้เมธอด get
เพื่อ
ยืนยันว่าชิ้นงานมีไว้ภายใต้ผู้ลงโฆษณาหนึ่งๆ ใช้ list
เพื่อค้นหาเอนทิตีทั้งหมดของประเภททรัพยากรนั้นที่พร้อมใช้งานสำหรับ
ผู้ลงโฆษณาที่กำหนด ดังนั้นคุณจึงสามารถใช้ในการกำหนดการกำหนดเป้าหมายให้กับ
รายการโฆษณาภายใต้ผู้ลงโฆษณานั้น
นอกจากนี้ ชุดย่อยของเอนทิตีที่กำหนดเป้าหมายได้ยังจัดการผ่าน API ได้อีกด้วย นี่คือ
ดำเนินการผ่านเมธอด create
และ patch
ในบริการที่เกี่ยวข้อง
รวมทั้งบริการสำหรับค่าแต่ละค่าที่แสดงอยู่ในเอนทิตี เช่น
แหล่งที่มาของพื้นที่โฆษณา
คีย์เวิร์ดเชิงลบ และ
สถานที่
รหัสตัวเลือกการกำหนดเป้าหมายจุดที่น่าสนใจ
ตัวเลือกการกำหนดเป้าหมายจุดที่น่าสนใจที่มีชื่อ ภายใต้ TARGETING_TYPE_POI
สามารถ
ดึงข้อมูลมาโดยใช้ targetingTypes.targetingOptions.search
ใน
นอกจากนี้ คุณยังสามารถสร้างรหัสตัวเลือกการกำหนดเป้าหมาย TARGETING_TYPE_POI
ตามความต้องการของลูกค้า
กำหนดเป้าหมายพิกัดละติจูด-ลองจิจูดเฉพาะ
ทำตามขั้นตอนต่อไปนี้เพื่อสร้างรหัสตัวเลือกการกำหนดเป้าหมายจุดที่น่าสนใจ
- ดึงพิกัดละติจูด-ลองจิจูด (เช่น "40.7414691, -74.003387")
- ปัดเศษค่าพิกัดเป็นทศนิยมหกหลัก (เช่น "40.741469, -74.003387")
- นำตำแหน่งทศนิยมออกจากค่าพิกัด (เช่น "40741469, -74003387")
- นำทั้ง 2 ค่ามาเชื่อมต่อเข้าด้วยกันเพื่อสร้างสตริงเดียว โดยคั่นด้วยเครื่องหมายเซมิโคลอน (เช่น "40741469;-74003387")
สตริงที่ได้สามารถใช้เป็น targetingOptionId
เมื่อสร้าง
TARGETING_TYPE_POI
ตัวเลือกการกำหนดเป้าหมายที่กำหนด
เมื่อสร้าง ช่อง targetingOptionId
และ assignedTargetingOptionId
ของ
ระบบจะอัปเดตทรัพยากรตัวเลือกการกำหนดเป้าหมายที่กำหนด โดยใส่เครื่องหมายเซมิโคลอนต่อท้าย
และแฮชแบบตัวอักษรและตัวเลขคละกัน
กำหนดตัวเลือกการกำหนดเป้าหมาย
การกำหนดเป้าหมายที่กำหนดให้กับรายการโฆษณาจะแสดงเป็น ตัวเลือกการกำหนดเป้าหมายที่กำหนด คุณสามารถจัดการเอนทิตีเหล่านี้ได้โดยใช้ บริการตัวเลือกการกำหนดเป้าหมายที่กำหนด การสร้างตัวเลือกการกำหนดเป้าหมายที่กำหนดจะนำรายละเอียดการกำหนดเป้าหมายเหล่านั้นไปใช้กับ รายการโฆษณาหลัก การลบตัวเลือกการกำหนดเป้าหมายที่กำหนดไว้ที่มีอยู่จะเป็นการลบตัวเลือกนั้นออก การกำหนดเป้าหมาย
ใช้
advertisers.lineItems.targetingTypes.assignedTargetingOptions.create
เพื่อสร้างตัวเลือกการกำหนดเป้าหมายที่กำหนด ระบุพารามิเตอร์การกำหนดเป้าหมายใน
ช่อง details
ของทรัพยากรตัวเลือกการกำหนดเป้าหมายที่มอบหมายซึ่ง
สอดคล้องกับประเภทการกำหนดเป้าหมายที่ต้องการ
ตัวอย่างวิธีสร้างตัวเลือกการกำหนดเป้าหมายที่กำหนดมีดังนี้
ของประเภทการกำหนดเป้าหมาย TARGETING_TYPE_BROWSER
:
Java
// Create an AssignedTargetingOption object of the // browser targeting type. AssignedTargetingOption assignedTargetingOption = new AssignedTargetingOption() .setBrowserDetails( new BrowserAssignedTargetingOptionDetails() .setTargetingOptionId(targeting-option-id)); // Configure the create request. AssignedTargetingOptions.Create request = service .advertisers() .lineItems() .targetingTypes() .assignedTargetingOptions() .create( advertiser-id, line-item-id, "TARGETING_TYPE_BROWSER", assignedTargetingOption); // Send the request. AssignedTargetingOption response = request.execute(); // Display the new assigned targeting option. System.out.printf("AssignedTargetingOption %s was created.", response.getName());
Python
# Create a assigned targeting option object. assigned_targeting_option_obj = { 'browserDetails': { 'targetingOptionId': targeting-option-id } } # Create the assigned targeting option. assigned_targeting_option = service.advertisers().lineItems()\ .targetingTypes().assignedTargetingOptions().create( advertiserId=advertiser-id, lineItemId=line-item-id, targetingType="TARGETING_TYPE_BROWSER", body=assigned_targeting_option_obj ).execute() # Display the new assigned targeting option. print("Assigned Targeting Option %s was created." % assigned_targeting_option["name"])
PHP
// Create a assigned targeting option object. $assignedTargetingOption = new Google_Service_DisplayVideo_AssignedTargetingOption(); // Create and set browser details. $details = new Google_Service_DisplayVideo_BrowserAssignedTargetingOptionDetails(); $details->setTargetingOptionId(targeting-option-id); $assignedTargetingOption->setBrowserDetails($details); // Call the API, creating the browser assigned targeting option for the // given line item. $result = $this ->service ->advertisers_lineItems_targetingTypes_assignedTargetingOptions ->create( advertiser-id, line-item-id, 'TARGETING_TYPE_BROWSER', $assignedTargetingOption ); printf( 'Assigned Targeting Option %s was created.\n', $result['name'] );
ข้อผิดพลาด
ข้อผิดพลาดในการกำหนดค่าการกำหนดเป้าหมาย
มีกฎที่ซับซ้อนมากมายเกี่ยวกับ การกำหนดเป้าหมายในเครือข่ายดิสเพลย์และ วิดีโอ 360 มีการบังคับใช้ใน จอแสดงผลและ Video 360 API ผ่านข้อผิดพลาดที่เกิดขึ้นขณะสร้างตัวเลือกการกำหนดเป้าหมายที่กำหนด ข้อผิดพลาดที่ API แสดงผลจะระบุการละเมิด
ข้อผิดพลาดส่วนใหญ่เกิดจากการกำหนดเป้าหมายที่มีอยู่ซึ่งกำหนดให้กับรายการโฆษณา ใช้
advertisers.lineItems.targetingTypes.assignedTargetingOptions.list
เพื่อดึงตัวเลือกการกำหนดเป้าหมายทั้งหมดของประเภทการกำหนดเป้าหมายหนึ่งๆ ที่กำหนดให้กับบรรทัด
ให้ประเมินว่าการกำหนดเป้าหมายที่ต้องการสามารถทำได้ภายใต้ข้อจำกัดหรือไม่
และใช้
advertisers.lineItems.targetingTypes.assignedTargetingOptions.delete
เพื่อลบการกำหนดเป้าหมายที่ไม่ต้องการ ก่อนที่จะพยายามสร้างการกำหนดเป้าหมาย
ตัวเลือกการกำหนดเป้าหมายที่กำหนด
YouTube และ ข้อผิดพลาดในการกำหนดเป้าหมายพาร์ทเนอร์
การกำหนดเป้าหมายเฉพาะสำหรับ YouTube และ ไม่สามารถอัปเดตแคมเปญพาร์ทเนอร์โดยใช้ จอแสดงผลและ Video 360 API และพยายามดำเนินการดังกล่าวจะทำให้เกิดข้อผิดพลาด
YouTube และ การกำหนดเป้าหมายพาร์ทเนอร์ประกอบด้วยการกำหนดเป้าหมายทั้งหมดที่กำหนดให้กับ YouTube และ รายการโฆษณาและกลุ่มโฆษณาของพาร์ทเนอร์ การกำหนดเป้าหมายประเภทใดก็ได้ต่อไปนี้
TARGETING_TYPE_SESSION_POSITION
TARGETING_TYPE_YOUTUBE_CHANNEL
TARGETING_TYPE_YOUTUBE_VIDEO
ข้อผิดพลาดในการเกิดขึ้นพร้อมกัน
พยายามอัปเดตการตั้งค่าหรือการกำหนดเป้าหมายของรายการโฆษณาเดียวโดยใช้ คำขอหลายรายการพร้อมกันจะทำให้เกิดข้อผิดพลาด
หากคุณต้องการเพิ่มหรือนำตัวเลือกการกำหนดเป้าหมายที่กำหนดไว้หลายรายการออกสำหรับรายการเดียว
รายการโฆษณา ในขณะเดียวกัน คุณควรใช้
คำขอแก้ไขแบบเป็นกลุ่ม หากคุณต้องการอัปเดตรายการโฆษณา
การตั้งค่าและการกำหนดเป้าหมาย ให้advertisers.lineItems.patch
และการกำหนดเป้าหมายที่เกี่ยวข้องตามลำดับเพื่อให้
จะไม่มีการส่งคำขอจนกว่าคำขอแรกจะส่งคืนการตอบกลับ
การดำเนินการกำหนดเป้าหมายแบบกลุ่มและแบบทั่วทั้งทรัพยากร
คุณสามารถใช้วิธีการกำหนดเป้าหมายจำนวนมากและทั้งทรัพยากรเพื่อจัดการการมอบหมายได้ ตัวเลือกการกำหนดเป้าหมายในประเภทการกำหนดเป้าหมายต่างๆ ได้แก่
- ใช้วิธีการกำหนดเป้าหมายจำนวนมากเพื่อดึงข้อมูลหรือแก้ไขตัวเลือกการกำหนดเป้าหมายใน
การกำหนดเป้าหมายหลายประเภทและอยู่ภายใต้ทรัพยากรจำนวนมาก คุณสามารถเรียกข้อมูล
การกำหนดค่าการกำหนดเป้าหมายเต็มรูปแบบของรายการโฆษณาหลายรายการที่ใช้
advertisers.lineItems.bulkListAssignedTargetingOptions
หรือทำการอัปเดตแบบเดียวกันกับการกำหนดเป้าหมาย สำหรับรายการโฆษณาหลายรายการโดยใช้advertisers.lineItems.bulkEditAssignedTargetingOptions
ตัวเลือกเหล่านี้มีให้บริการในadvertisers.lineItems
เท่านั้น service. - ใช้วิธีการกำหนดเป้าหมายแบบทั่วทั้งทรัพยากรเพื่อเรียกข้อมูลหรือแก้ไขตัวเลือกการกำหนดเป้าหมาย
ในการกำหนดกลุ่มเป้าหมายหลายประเภทภายใต้แหล่งข้อมูลเดียว ตัวเลือกเหล่านี้พร้อมใช้งาน
ใน
partners
,advertisers
,advertisers.campaigns
และadvertisers.insertionOrders
บริการและตั้งชื่อlistAssignedTargetingOptions
หรือeditAssignedTargetingOptions
หากคุณต้องการดูการกำหนดเป้าหมายปัจจุบันของรายการโฆษณาในมุมมองแบบสมบูรณ์ ให้ใช้ การกำหนดค่าการกำหนดเป้าหมายที่ตั้งไว้ล่วงหน้าให้กับรายการโฆษณา หรือต้องการทำการเปลี่ยนแปลงหลายรายการ ในการกำหนดเป้าหมายของรายการโฆษณา พร้อมกัน ให้พิจารณาใช้การกำหนดเป้าหมายเหล่านี้
การกำหนดเป้าหมายรายการแบบเป็นกลุ่ม
advertisers.lineItems.bulkListAssignedTargetingOptions
เป็นวิธีดูการกำหนดเป้าหมายทั้งหมดที่กำหนดให้กับรายการโฆษณาอย่างน้อย 1 รายการ
ในการกำหนดเป้าหมายประเภทต่างๆ ทำงานคล้ายกับ list
อื่นๆ
คุณสามารถใช้พารามิเตอร์การค้นหา filter
เพื่อกรอง
ผลการค้นหาโดย TargetingType
หรือ
Inheritance
นี่คือตัวอย่างวิธีแสดงตัวเลือกการกำหนดเป้าหมายทั้งหมดที่กำหนดให้กับรายการโฆษณา ที่ได้รับมาจากพาร์ทเนอร์หลักหรือผู้ลงโฆษณา
Java
// Configure the bulk list request. LineItems.BulkListAssignedTargetingOptions request = service.advertisers().lineItems() .bulkListAssignedTargetingOptions(advertiser-id); // Set Line Items to retrieve targeting for. request.setLineItemIds(line-item-ids); // Set filter to only return inherited assigned targeting options. request.setFilter( "inheritance=\"INHERITED_FROM_ADVERTISER\" OR inheritance=\"INHERITED_FROM_PARTNER\""); // Create the response and nextPageToken variables. BulkListAssignedTargetingOptionsResponse response; String nextPageToken = null; do { // Set page token and execute the list request. response = request.setPageToken(nextPageToken).execute(); // Check if the response is empty. if (response.isEmpty()) { System.out.print("Bulk list request returned no Assigned Targeting Options"); break; } // Iterate over retrieved line item assigned targeting option wrapper objects. for (LineItemAssignedTargetingOption lineItemAssignedTargetingOption : response.getLineItemAssignedTargetingOptions()) { System.out.printf( "Assigned Targeting Option %s found\n", lineItemAssignedTargetingOption.getAssignedTargetingOption().getName()); } // Update the next page token. nextPageToken = response.getNextPageToken(); } while (!Strings.isNullOrEmpty(nextPageToken));
Python
# Create the page token variable. next_page_token = "" while True: # Execute the list request. response = service.advertisers().lineItems() \ .bulkListAssignedTargetingOptions( advertiserId=advertiser-id, lineItemIds=line-item-ids, filter="inheritance=\"INHERITED_FROM_ADVERTISER\" OR " "inheritance=\"INHERITED_FROM_PARTNER\"", pageToken=next_page_token ).execute() # Check if response is empty. if not response: print("Bulk list request returned no Assigned Targeting Options") break # Iterate over retrieved assigned targeting options. for lineItemAssignedTargetingOption in response['lineItemAssignedTargetingOptions']: print("Assigned Targeting Option %s found" % (lineItemAssignedTargetingOption['assignedTargetingOption']['name'])) # Break out of loop if there is no next page. if 'nextPageToken' not in response: break # Update the next page token. next_page_token = response['nextPageToken']
PHP
// Create the page token variable. $nextPageToken = null; do { // Build the query parameters object for the request. $optParams = array( 'lineItemIds' => line-item-ids, 'filter' => "inheritance=\"INHERITED_FROM_ADVERTISER\" OR " . "inheritance=\"INHERITED_FROM_PARTNER\"", 'pageToken' => $nextPageToken ); // Call the API, getting all the assigned targeting options for the // identified line item. $response = $service ->advertisers_lineItems ->bulkListAssignedTargetingOptions( advertiser-id, $optParams ); // Print the returned assigned targeting options. if (!empty($response->getLineItemAssignedTargetingOptions())) { foreach ($response->getLineItemAssignedTargetingOptions() as $option) { printf('Assigned Targeting Option %s found\n', $option->getAssignedTargetingOption()['name']); } } else { print('No targeting options returned\n'); } // Update the next page token. $nextPageToken = $response->getNextPageToken(); } while ( !empty($response->getLineItemAssignedTargetingOptions()) && $nextPageToken);
แก้ไขการกำหนดเป้าหมายจำนวนมาก
advertisers.lineItems.bulkEditAssignedTargetingOptions
ให้ตัวเลือกในการเพิ่มและลบตัวเลือกการกำหนดเป้าหมายต่างๆ ของการกำหนดเป้าหมายต่างๆ
ประเภทต่างๆ จากรายการโฆษณา
อย่างน้อย 1 รายการพร้อมกันได้
เมธอดจะใช้รายการ
DeleteAssignedTargetingOptionsRequests
และรายการของ
CreateAssignedTargetingOptionsRequests
คำขอเดียว
สามารถแสดงการลบหรือการสร้างการกำหนดเป้าหมายที่กำหนดให้กับหลายรายการ
ในประเภทการกำหนดเป้าหมายเดียวกัน
หากการพยายามลบหรือการสร้างตัวเลือกการกำหนดเป้าหมายที่กำหนดก่อให้เกิด สำหรับรายการโฆษณา ระบบจะละทิ้งการดำเนินการแบบกลุ่มสำหรับรายการโฆษณานั้น คำขอแสดงผล รายการของบรรทัดที่อัปเดตสำเร็จเรียบร้อยแล้ว รายการ รวมถึงชุดรายการโฆษณาที่ดำเนินการไม่สำเร็จ อัปเดตและฟีเจอร์ที่เกี่ยวข้อง
ต่อไปนี้เป็นตัวอย่างวิธีแก้ไขตัวเลือกการกำหนดเป้าหมายที่มอบหมายแบบเป็นกลุ่มสำหรับ รายการโฆษณาพร้อมรายการของตัวเลือกการกำหนดเป้าหมายที่กำหนดเพื่อลบและกำหนดเป้าหมาย ตัวเลือกในการสร้าง
Java
// Create a bulk edit request. BulkEditAssignedTargetingOptionsRequest requestContent = new BulkEditAssignedTargetingOptionsRequest(); // Set line item IDs in edit request. requestContent.setLineItemIds(line-item-ids); // Build delete request list. ArrayList<DeleteAssignedTargetingOptionsRequest> deleteRequests = new ArrayList<DeleteAssignedTargetingOptionsRequest>(); // Add browser assigned targeting option IDs to delete request list. deleteRequests.add(new DeleteAssignedTargetingOptionsRequest() .setTargetingType("TARGETING_TYPE_BROWSER") .setAssignedTargetingOptionIds(delete-browser-assigned-targeting-ids)); // Add device make or model assigned targeting option IDs to delete request list. deleteRequests.add(new DeleteAssignedTargetingOptionsRequest() .setTargetingType("TARGETING_TYPE_DEVICE_MAKE_MODEL") .setAssignedTargetingOptionIds( delete-device-make-model-assigned-targeting-ids)); // Set delete requests in edit request. requestContent.setDeleteRequests(deleteRequests); // Build create request list. ArrayList<CreateAssignedTargetingOptionsRequest> createRequests = new ArrayList<CreateAssignedTargetingOptionsRequest>(); // Create browser assigned targeting option create request. CreateAssignedTargetingOptionsRequest createBrowserTargetingRequest = new CreateAssignedTargetingOptionsRequest(); createBrowserTargetingRequest.setTargetingType("TARGETING_TYPE_BROWSER"); // Create and set list of browser assigned targeting options. ArrayList<AssignedTargetingOption> createBrowserAssignedTargetingOptions = new ArrayList<AssignedTargetingOption>(); for (String targetingOptionId : create-browser-assigned-targeting-ids) { createBrowserAssignedTargetingOptions.add(new AssignedTargetingOption() .setBrowserDetails( new BrowserAssignedTargetingOptionDetails() .setTargetingOptionId(targetingOptionId))); } createBrowserTargetingRequest .setAssignedTargetingOptions(createBrowserAssignedTargetingOptions); // Add browser assigned targeting options to list of create requests. createRequests.add(createBrowserTargetingRequest); // Set create requests in edit request. requestContent.setCreateRequests(createRequests); // Configure the bulk edit request. LineItems.BulkEditAssignedTargetingOptions request = service.advertisers().lineItems() .bulkEditAssignedTargetingOptions( advertiser-id, requestContent); // Execute bulk edit request. BulkEditAssignedTargetingOptionsResponse response = request.execute(); // Check if any line items updated successfully. if (response.getUpdatedLineItemIds() == null || response.getUpdatedLineItemIds().isEmpty()) { System.out.println("No line items were updated successfully."); } else { System.out.printf( "Targeting configurations for the following line item IDs were updated: %s.\n", Arrays.toString(response.getUpdatedLineItemIds().toArray())); } // Check if any line items failed to update. if (response.getFailedLineItemIds() == null || response.getFailedLineItemIds().isEmpty()) { System.out.println("No line items failed to update."); } else { // Print the line items that failed to update. System.out.printf( "Targeting configurations for the following line item IDs failed to update: %s.\n", Arrays.toString(response.getFailedLineItemIds().toArray())); // Print errors thrown for failed updates. System.out.println("The failed updates were caused by the following errors:"); for (Status error : response.getErrors()) { System.out.printf("Error Code: %s, Message: %s\n", error.getCode(), error.getMessage()); } }
Python
# Build assigned targeting option objects to create. createBrowserAssignedTargetingOptions = [] for targeting_id in create-browser-assigned-targeting-ids: createBrowserAssignedTargetingOptions.append( {'browserDetails': {'targetingOptionId': targeting_id}} ) # Create a bulk edit request. bulk_edit_line_item_request = { 'lineItemIds': line-item-ids, 'deleteRequests': [ { 'targetingType': 'TARGETING_TYPE_BROWSER', 'assignedTargetingOptionIds': delete-browser-assigned-targeting-ids }, { 'targetingType': 'TARGETING_TYPE_DEVICE_MAKE_MODEL', 'assignedTargetingOptionIds': delete-device-make-model-assigned-targeting-ids } ], 'createRequests': [ { 'targetingType': 'TARGETING_TYPE_BROWSER', 'assignedTargetingOptions': createBrowserAssignedTargetingOptions } ] } # Edit the line item targeting. response = service.advertisers().lineItems()\ .bulkEditAssignedTargetingOptions( advertiserId=advertiser-id, body=bulk_edit_line_item_request ).execute() # Print successfully updated line items. if 'updatedLineItemIds' not in response: print("No line items were updated successfully.") else: print("Targeting configurations for the following line item IDs were updated: %s" % response['updatedLineItemIds']) # Print line items that failed to update. if 'failedLineItemIds' not in response: print("No line items failed to update.") else: print("Targeting configurations for the following line item IDs failed to update: %s" % response['failedLineItemIds']) if 'errors' in response: print("The failed updates were caused by the following errors:") for error in response["errors"]: print("Error code: %s, Message: %s" % (error["code"], error["message"]))
PHP
// Create delete request list. $deleteRequests = array(); // Create and add browser assigned targeting option IDs to delete request list. $deleteBrowserTargetingRequest = new Google_Service_DisplayVideo_DeleteAssignedTargetingOptionsRequest(); $deleteBrowserTargetingRequest->setTargetingType( "TARGETING_TYPE_BROWSER" ); $deleteBrowserTargetingRequest->setAssignedTargetingOptionIds( delete-browser-assigned-targeting-ids ); $deleteRequests[] = $deleteBrowserTargetingRequest; // Create and add device assigned targeting option IDs to delete request list. $deleteDeviceTargetingRequest = new Google_Service_DisplayVideo_DeleteAssignedTargetingOptionsRequest(); $deleteDeviceTargetingRequest->setTargetingType( "TARGETING_TYPE_DEVICE_MAKE_MODEL" ); $deleteDeviceTargetingRequest->setAssignedTargetingOptionIds( delete-device-make-model-assigned-targeting-ids ); $deleteRequests[] = $deleteDeviceTargetingRequest; // Create create request list. $createRequests = array(); // Create and populate list of browser assigned targetion options to create. $createBrowserAssignedTargetingOptions = array(); foreach (create-browser-assigned-targeting-ids as $optionId) { $option = new Google_Service_DisplayVideo_AssignedTargetingOption(); $details = new Google_Service_DisplayVideo_BrowserAssignedTargetingOptionDetails(); $details->setTargetingOptionId($optionId); $option->setBrowserDetails($details); $createBrowserAssignedTargetingOptions[] = $option; } // Create and add browser assigned targeting option create request to create // request list. $createBrowserTargetingRequest = new Google_Service_DisplayVideo_CreateAssignedTargetingOptionsRequest(); $createBrowserTargetingRequest->setTargetingType( "TARGETING_TYPE_BROWSER" ); $createBrowserTargetingRequest->setAssignedTargetingOptions( $createBrowserAssignedTargetingOptions ); $createRequests[] = $createBrowserTargetingRequest; // Create a bulk edit request and assign create and delete request lists. $body = new Google_Service_DisplayVideo_BulkEditAssignedTargetingOptionsRequest(); $body->setLineItemIds(line-item-ids); $body->setCreateRequests($createRequests); $body->setDeleteRequests($deleteRequests); // Call the API, editing the assigned targeting options for the identified // line item. $response = $service ->advertisers_lineItems ->bulkEditAssignedTargetingOptions( advertiser-id, $body ); // Print successfully updated line items. if (!empty($response->getUpdatedLineItemIds())) { printf('Targeting configurations for the following line item IDs were updated:\n'); foreach ($response->getUpdatedLineItemIds() as $id) { printf('%s\n', $id); } } else { print('No line items were updated successfully.\n'); } // Print line items that failed to update. if (!empty($response->getFailedLineItemIds())) { print('Targeting configurations for the following line item IDs failed to update:\n'); foreach ($response->getFailedLineItemIds() as $id) { printf('%s\n', $id); } print('The failed updates were caused by the following errors:\n'); foreach ($response->getErrors() as $error) { printf('Error Code: %s, Message: %s\n', $error->getCode(), $error->getMessage()); } } else { print('No line items failed to update.\n'); }