使用 Display &Video 360 创建的所有订单项Video 360 API 最初是以草稿形式创建的 状态。在草稿状态下,订单项不投放广告 调整设置和定位,而这些更改不会影响任何当前广告 。本页介绍了您应采取哪些步骤来确认 项是否可以开始投放广告,以及如何将其状态更新为有效状态。
启用前需要执行的操作
由于订单项是您的广告收入支出方式, 进行广告购买和投放时,请务必确保相应订单项 处于启用状态时按预期投放广告。添加之前,您需要考虑以下事项 启用订单项的步骤:
- 确保排期设置正确无误:检查订单项的
flight
字段中,确保 是否正确。订单项的排期窗口可以自定义为 订单项或者父级广告订单继承的订单项。 - 验证是否没有阻止订单项投放的警告:
使用
advertisers.lineItems.get
检索订单项资源 然后检查warningMessages
字段 订单项没有可能会阻碍该订单项投放的警告。通过LineItemWarningMessage
枚举会注明每项 警告。 - 确认所有父级资源也处于有效状态:有效的订单项
如果其父级广告客户、广告系列或
订单未启用。使用
GET
广告客户、广告系列和 广告订单服务。
启用订单项
将订单项的 entityStatus
字段更新为
ENTITY_STATUS_ACTIVE
。您可以为单个订单项更新此字段
使用 advertisers.lineItems.patch
方法,对于多行
指定广告客户内的多个产品
advertisers.lineItems.bulkUpdate
。
以下示例展示了如何使用 bulkUpdate
来启用
多个订单项:
Java
// Create the line item structure. LineItem targetLineItem = new LineItem(); targetLineItem.setEntityStatus("ENTITY_STATUS_ACTIVE"); // Create the bulk update request body. BulkUpdateLineItemsRequest requestBody = new BulkUpdateLineItemsRequest(); requestBody.setLineItemIds(line-item-ids); requestBody.setTargetLineItem(targetLineItem); requestBody.setUpdateMask("entityStatus"); // Configure the bulk update request. LineItems.BulkUpdate request = service.advertisers().lineItems() .bulkUpdate(advertiser-id, requestBody); // Update the line items. BulkUpdateLineItemsResponse response = request.execute(); // Display the line items that were updated, failed, and skipped. if (response.getUpdatedLineItemIds() != null) { System.out.printf( "The following line item IDs were successfully updated: %s.\n", Arrays.toString(response.getUpdatedLineItemIds().toArray())); } if (response.getFailedLineItemIds() != null) { System.out.printf("The following line item IDs failed to update: %s.\n", Arrays.toString(response.getFailedLineItemIds().toArray())); if (response.getErrors() != null) { System.out.printf( "The failed updates were caused by the following errors: %s.\n", Arrays.toString(response.getErrors().toArray())); } } if (response.getSkippedLineItemIds() != null) { System.out.printf( "The following line items IDs were skipped in the update: %s.\n", Arrays.toString(response.getSkippedLineItemIds().toArray())); }
Python
# Create a line item object with only updated entity status. line_item_obj = { 'entityStatus': 'ENTITY_STATUS_ACTIVE' } # Build the bulk update request. bulk_update_request = { 'lineItemIds': line-item-ids, 'targetLineItem': line_item_obj, 'updateMask': "entityStatus" } # Update the line items. response = service.advertisers().lineItems().bulkUpdate( advertiserId=advertiser-id, body=bulk_update_request ).execute() # Display the line items that were updated, failed, and skipped. if 'updatedLineItemIds' in response: print("The following line item IDs were updated: %s" % response['updatedLineItemIds']) if 'failedLineItemIds' in response: print("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"])) if 'skippedLineItemIds' in response: print("The following line items IDs were skipped in the update:: %s" % response['skippedLineItemIds'])
PHP
// Create request body. $body = new Google_Service_DisplayVideo_BulkUpdateLineItemsRequest(); $body->setLineItemIds(line-item-ids); // Create target line item with updated fields. $lineItem = new Google_Service_DisplayVideo_LineItem(); $lineItem->setEntityStatus('ENTITY_STATUS_ACTIVE'); $body->setTargetLineItem($lineItem); // Set update mask in request body. $body->setUpdateMask("entityStatus"); // Call the API, updating the entity status for the identified line item. $response = $service->advertisers_lineItems->bulkUpdate( advertiser-id, $body ); // Display the line items that were updated, failed, and skipped. if (!empty($response->getUpdatedLineItemIds())) { printf('The following line item IDs were updated:\n'); foreach ($response->getUpdatedLineItemIds() as $id) { printf('%s\n', $id); } } if (!empty($response->getFailedLineItemIds())) { print('The following line item IDs failed to update:\n'); foreach ($response->getFailedLineItemIds() as $id) { printf('%s\n', $id); } if (!empty($response->getErrors())) { 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() ); } } } if (!empty($response->getSkippedLineItemIds())) { print('The following line item IDs were skipped in the update:\n'); foreach ($response->getSkippedLineItemIds() as $id) { printf('%s\n', $id); } }