Werbebuchung aktivieren

Alle Werbebuchungen, die mit der Display & Video 360 API erstellt werden, haben anfangs den Status „Entwurf“. In diesem Entwurfsstatus werden über die Werbebuchungen keine Anzeigen ausgeliefert. Sie können also Einstellungen und Targeting anpassen, ohne dass sich diese Änderungen auf die aktuelle Anzeigenbereitstellung auswirken. Auf dieser Seite wird beschrieben, wie Sie prüfen können, ob Ihr Werbebuchungsposition für die Anzeigenbereitstellung bereit ist, und wie Sie den Status in „Aktiv“ ändern.

Vor der Aktivierung

Da Werbebuchungen die Art und Weise sind, wie Ihre Werbeeinnahmen durch Anzeigenkauf und -bereitstellung ausgegeben werden, ist es wichtig, dass Anzeigen bei Aktivierung wie beabsichtigt ausgeliefert werden. Bevor Sie die Werbebuchung aktivieren, sollten Sie Folgendes beachten:

  • Überprüfen Sie die Auslieferungseinstellungen:Sehen Sie im Feld flight der Werbebuchung nach, ob das Auslieferungszeitraum für die Werbebuchung richtig festgelegt ist. Das Laufzeitfenster einer Werbebuchung kann benutzerdefiniert für die Werbebuchung sein oder vom übergeordneten Anzeigenauftrag übernommen werden.
  • Prüfen, ob keine Warnungen die Auslieferung der Werbebuchung blockieren:Verwenden Sie advertisers.lineItems.get, um eine Werbebuchungsressource abzurufen, und prüfen Sie im Feld warningMessages, ob für die Werbebuchung keine Warnungen vorliegen, die die Auslieferung beeinträchtigen könnten. Die Aufzählung LineItemWarningMessage gibt die Auswirkungen der einzelnen Warnungen an.
  • Prüfen Sie, ob alle übergeordneten Ressourcen ebenfalls aktiv sind:Bei einer aktiven Werbebuchung werden keine Anzeigen ausgeliefert, wenn der übergeordnete Werbetreibende, die übergeordnete Kampagne oder der übergeordnete Anzeigenauftrag nicht aktiv ist. Rufen Sie diese Ressourcen mithilfe der GET-Methoden in den Diensten Werbetreibende, Kampagnen und Insertion Orders ab.

Werbebuchung aktivieren

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

Hier ein Beispiel für die Verwendung von bulkUpdate zum Aktivieren mehrerer Werbebuchungen:

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