Aktywuj element zamówienia

Wszystkie elementy zamówienia utworzone za pomocą interfejsu Display & Video 360 API są początkowo tworzone w stanie szkic. W tym stanie roboczym elementy zamówienia nie wyświetlają reklam, więc możesz modyfikować ustawienia i ustawienia kierowania bez wpływu na bieżące wyświetlanie reklam. Na tej stronie znajdziesz instrukcje sprawdzania, czy element wiersza jest gotowy do wyświetlania reklam, oraz aktualizowania jego stanu na „aktywny”.

Co zrobić przed aktywacją

Elementy zamówienia to sposób, w jaki wydawane są Twoje przychody z reklam dzięki kupowaniu i wyświetlaniu reklam. Dlatego ważne jest, aby po aktywacji element zamówienia wyświetlał reklamy zgodnie z zamierzeniami. Oto kilka kwestii, które warto wziąć pod uwagę przed aktywacją elementu zamówienia:

  • Sprawdź, czy ustawienia kampanii są prawidłowe: sprawdź pole flight elementu zamówienia, aby upewnić się, że okno wyświetlania elementu zamówienia jest prawidłowo skonfigurowane. Okres wyświetlania elementu zamówienia może być niestandardowy lub odziedziczony z nadrzędnego zamówienia reklamowego.
  • Sprawdź, czy nie ma ostrzeżeń blokujących wyświetlanie elementu zamówienia: użyj polecenia advertisers.lineItems.get, aby pobrać zasób elementu zamówienia, a potem sprawdź pole warningMessages, aby się upewnić, że element zamówienia nie zawiera ostrzeżeń, które mogą uniemożliwiać jego wyświetlanie. EnumLineItemWarningMessage wskazuje wpływ każdego ostrzeżenia.
  • Sprawdź, czy wszystkie nadrzędne zasoby są też aktywne: aktywny element zamówienia nie zacznie wyświetlać reklam, jeśli jego nadrzędny reklamodawca, kampania lub zamówienie reklamowe nie są aktywne. Aby pobrać te zasoby, użyj metody GET w usłudze Reklamodawcy, KampanieZlecenia na emisję.

Aktywowanie elementu zamówienia

Aby aktywować element zamówienia, zaktualizuj pole entityStatus na ENTITY_STATUS_ACTIVE. Możesz zaktualizować to pole w przypadku pojedynczego elementu zamówienia, korzystając z metody advertisers.lineItems.patch, a także w przypadku wielu elementów zamówienia danego reklamodawcy, korzystając z metody advertisers.lineItems.bulkUpdate.

Oto przykład użycia 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);
    }
}