Werbebuchung aktivieren

Alle mit der Display & Video 360 API erstellten Werbebuchungen werden anfangs im Entwurfsstatus erstellt. In diesem Entwurfsstatus werden für Werbebuchungen keine Anzeigen ausgeliefert. Sie können also die Einstellungen und das Targeting anpassen, ohne dass sich diese Änderungen auf die aktuelle Anzeigenbereitstellung auswirken. Auf dieser Seite wird beschrieben, wie Sie überprüfen können, ob Ihre Werbebuchung für die Auslieferung von Anzeigen bereit ist. Außerdem wird beschrieben, wie Sie den Status in „Aktiv“ ändern.

Vorgehensweise vor der Aktivierung

Da es sich bei Werbebuchungen um die Art und Weise handelt, wie Sie Ihren Werbeumsatz für den Kauf und die Auslieferung von Anzeigen ausgeben, ist es wichtig, dass die Werbebuchung bei Aktivierung wie beabsichtigt ausgeliefert wird. Bevor Sie Ihre Werbebuchung aktivieren, sollten Sie Folgendes beachten:

  • Auf Richtigkeit der Flight-Einstellungen achten: Prüfen Sie im Feld flight der Werbebuchung, ob das Flight-Fenster für die Werbebuchung richtig festgelegt ist. Das Zeitfenster einer Werbebuchung kann benutzerdefiniert für die Werbebuchung sein oder vom übergeordneten Anzeigenauftrag übernommen werden.
  • Es gibt keine Warnungen, die die Auslieferung der Werbebuchung blockieren: Verwenden Sie advertisers.lineItems.get, um eine Werbebuchungsressource abzurufen, und prüfen Sie das Feld warningMessages, um sicherzustellen, dass die Werbebuchung keine Warnungen enthält, die die Auslieferung der Werbebuchung beeinträchtigen könnten. Im Enum LineItemWarningMessage werden die Auswirkungen jeder Warnung erfasst.
  • Prüfen, ob alle übergeordneten Ressourcen ebenfalls aktiv sind:Bei einer aktiven Werbebuchung werden keine Anzeigen ausgeliefert, wenn der übergeordnete Werbetreibende, die übergeordnete Kampagne oder der Anzeigenauftrag nicht aktiv ist. Sie können diese Ressourcen mit den GET-Methoden in den Diensten Werbetreibende, Kampagnen und Anzeigenaufträge abrufen.

Werbebuchung aktivieren

Aktivieren Sie eine Werbebuchung, indem Sie das Feld entityStatus auf ENTITY_STATUS_ACTIVE ändern. Sie können dieses Feld mit der Methode advertisers.lineItems.patch für eine einzelne Werbebuchung und mit advertisers.lineItems.bulkUpdate für mehrere Werbebuchungen innerhalb eines bestimmten Werbetreibenden aktualisieren.

Hier sehen Sie ein Beispiel dafür, wie Sie mit bulkUpdate mehrere Werbebuchungen aktivieren:

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);
    }
}