הפעלת הפריט

כל הפריטים שנוצרים באמצעות Display & Video 360 API נוצרים בהתחלה במצב טיוטה. במצב טיוטה, הפריטים לא מציגים מודעות, כך שתוכלו לשנות את ההגדרות והטירגוט בלי שהשינויים ישפיעו על הצגת המודעות הנוכחית. בדף הזה מוסבר איך לוודא שהפריט מוכן להצגת מודעות ואיך לעדכן את הסטטוס שלו ל'פעיל'.

מה צריך לעשות לפני ההפעלה

מאחר שפריטי העלויות הם האופן שבו הכנסות מפרסום מושקעות דרך קנייה והצגה של מודעות, חשוב לוודא שהפריט יציג מודעות כמתוכנן אחרי ההפעלה. לפני שמפעילים את הפריט, כדאי לשקול את הדברים הבאים:

  • מוודאים שהגדרות הטיסה נכונות: בודקים את השדה flight של פריט העלויות כדי לוודא שחלון הטיסה של פריט העלויות מוגדר בצורה נכונה. חלון הפרסום של פריט יכול להיות מותאם אישית לפריט או לעבור בירושה מהזמנת הקמפיין הראשית.
  • מוודאים שאין אזהרות שמונעות את הצגת הפריט: משתמשים ב-advertisers.lineItems.get כדי לאחזר משאב של פריט ולבדוק את השדה warningMessages כדי לוודא שאין בפריט אזהרות שעשויות לפגוע בהצגת הפריט. המאפיין המסווג LineItemWarningMessage מציין את ההשפעה של כל אזהרה.
  • מוודאים שגם כל המשאבים ברמה העליונה פעילים: פריט שורה פעיל לא יתחיל להציג מודעות אם המפרסם, הקמפיין או הזמנת ההצגה ברמה העליונה שלו לא פעילים. אפשר לאחזר את המשאבים האלה באמצעות השיטות GET בשירותים Advertisers‏, Campaigns ו-Insertion Orders.

הפעלת פריט

כדי להפעיל פריט, מעדכנים את השדה entityStatus שלו לערך ENTITY_STATUS_ACTIVE. אפשר לעדכן את השדה הזה עבור פריט מסוים באמצעות השיטה advertisers.lineItems.patch, ולעדכן אותו עבור כמה פריטים של מפרסם מסוים באמצעות השיטה advertisers.lineItems.bulkUpdate.

דוגמה לשימוש ב-bulkUpdate כדי להפעיל כמה פריטים:

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