Aktywuj element zamówienia

Wszystkie elementy zamówienia utworzone przy użyciu interfejsu Display & Video 360 API są początkowo tworzone w wersji roboczej. W wersji roboczej elementy zamówienia nie wyświetlają reklam, więc możesz dostosowywać ustawienia i kierowanie, nie wpływając na bieżące wyświetlanie reklam. Na tej stronie opisujemy, jak sprawdzić, czy element zamówienia jest gotowy do wyświetlania reklam, oraz jak zmienić jego stan na aktywny.

Co zrobić przed aktywacją

Elementy zamówienia to sposób, w jaki Twoje przychody z reklam są wydawane na zakup i wyświetlanie reklam, dlatego ważne jest, by po aktywowaniu elementu zamówienia wyświetlały się reklamy zgodnie z oczekiwaniami. Zanim aktywujesz element zamówienia, pamiętaj o kilku kwestiach:

  • Sprawdź, czy ustawienia wyświetlania są prawidłowe: sprawdź w polu flight elementu zamówienia, czy okres wyświetlania tego elementu jest ustawiony poprawnie. Okno wyświetlania elementu zamówienia może być niestandardowe lub dziedziczone przez nadrzędne zamówienie reklamowe.
  • Sprawdź, czy nie ma ostrzeżeń blokujących realizację elementu zamówienia: Użyj advertisers.lineItems.get, aby pobrać zasób elementu zamówienia, i sprawdź w polu warningMessages, czy element zamówienia nie zawiera ostrzeżeń, które mogłyby utrudniać jego realizację. Wyliczenie LineItemWarningMessage zwraca uwagę na wpływ poszczególnych ostrzeżeń.
  • Upewnij się, że wszystkie zasoby nadrzędne też są aktywne: aktywny element zamówienia nie zacznie wyświetlać reklam, jeśli jego nadrzędny reklamodawca, kampania lub zamówienie reklamowe nie będą aktywne. Pobierz te zasoby za pomocą metod GET w usługach Reklamodawcy, Kampanie i Zamówienia reklamowe.

Aktywowanie elementu zamówienia

Aby aktywować element zamówienia, zmień jego pole entityStatus na ENTITY_STATUS_ACTIVE. Możesz zaktualizować to pole dla pojedynczego elementu zamówienia, korzystając z metody advertisers.lineItems.patch, oraz w przypadku wielu elementów zamówienia danego reklamodawcy, korzystając z advertisers.lineItems.bulkUpdate.

Oto przykład użycia metody bulkUpdate do aktywowania wielu elementów zamówienia:

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