Activer l'élément de campagne

Tous les éléments de campagne créés à l'aide de l'API L'API Video 360 est initialement créée dans un brouillon de l'état. Avec cet état de brouillon, les éléments de campagne ne diffusent aucune annonce. Vous pouvez donc ajuster les paramètres et le ciblage sans que ces modifications n'affectent l'annonce actuelle ; de l'inférence. Cette page décrit la procédure à suivre pour vérifier que votre ligne est prêt à diffuser des annonces et explique comment le définir sur "Actif".

Que faire avant l'activation ?

Étant donné que les éléments de campagne représentent la manière dont vos revenus publicitaires sont dépensés d'achat et de diffusion d'annonces, il est important de s'assurer que l'élément diffuser les annonces comme prévu une fois l'activation effectuée. Voici quelques points à prendre en compte avant activer votre élément de campagne:

  • Assurez-vous que les paramètres de la période de diffusion sont corrects:vérifiez les flight pour vérifier que la fenêtre de vol l'élément de campagne est correctement défini. Il est possible de personnaliser la période de diffusion d'un élément de campagne ou dont l'ordre d'insertion parent en a hérité.
  • Vérifiez qu'aucun avertissement ne bloque la diffusion de l'élément de campagne: Utiliser advertisers.lineItems.get pour récupérer une ressource d'élément de campagne et vérifiez le champ warningMessages pour vous assurer que ne comporte aucun avertissement pouvant entraver sa diffusion. La L'énumération LineItemWarningMessage note l'impact de chaque avertissement.
  • Confirmer que toutes les ressources parentes sont également actives:un élément de campagne actif ne commence pas à diffuser des annonces si l'annonceur, la campagne ou l'insertion ne sont pas actifs. Récupérez ces ressources à l'aide des méthodes GET dans la Annonceurs, Campagnes et Services d'ordres d'insertion.

Activer un élément de campagne

Activez un élément de campagne en remplaçant son champ entityStatus par ENTITY_STATUS_ACTIVE Vous pouvez mettre à jour ce champ pour un élément de campagne spécifique à l'aide de la méthode advertisers.lineItems.patch et, pour plusieurs lignes, pour les articles d'un annonceur donné advertisers.lineItems.bulkUpdate

Voici un exemple d'utilisation de bulkUpdate pour activer plusieurs éléments de campagne:

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