Как создать алгоритм специальных ставок

Пользовательский алгоритм назначения ставок создается на основе логики назначения ставок, определенной пользователем. Назначьте его для позиции в рекламном блоке через стратегию назначения ставок. При назначении ставок на рекламный инвентарь позиция будет использовать эту пользовательскую логику.

Сначала выберите тип алгоритма и создайте ресурс алгоритма .

Выберите тип пользовательского алгоритма назначения ставок.

Тип алгоритма определяет, как в алгоритме задается логика торгов.

Выберите один из следующих типов, которые можно создать с помощью API Display & Video 360:

  • SCRIPT_BASED : Логика, заданная загруженным скриптом . Скрипт представляет собой текстовый файл, использующий базовый синтаксис Python.
  • RULE_BASED : Логика задается загруженным набором правил . Набор правил представляет собой загруженный JSON-файл AlgorithmRules .

Создать ресурс CustomBiddingAlgorithm

Используйте запрос create , чтобы задать собственный алгоритм назначения ставок.

owner алгоритма может быть как рекламодатель, так и партнер. Если алгоритм принадлежит рекламодателю, он может использоваться только в рекламных кампаниях этого рекламодателя. Если алгоритм принадлежит партнеру, он может использоваться только рекламодателями, с которыми он был намеренно передан .

Вот как создать собственный алгоритм назначения ставок:

Java

// Provide the ID of the advertiser that will own the algorithm.
long advertiserId = advertiser-id;

// Provide the display name of the algorithm.
String displayName = display-name;

// Provide the type of custom bidding algorithm.
String customBiddingAlgorithmType = custom-bidding-algorithm-type;

// Create the custom bidding algorithm structure.
CustomBiddingAlgorithm algorithm =
    new CustomBiddingAlgorithm()
        .setAdvertiserId(advertiserId)
        .setDisplayName(displayName)
        .setEntityStatus("ENTITY_STATUS_ACTIVE")
        .setCustomBiddingAlgorithmType(customBiddingAlgorithmType);

// Create the algorithm.
CustomBiddingAlgorithm response = service.customBiddingAlgorithms().create(algorithm).execute();

// Display the new custom bidding algorithm ID.
System.out.printf(
    "Custom Bidding Algorithm was created with the ID %s.",
    response.getCustomBiddingAlgorithmId());

Python

# Provide the ID of the advertiser that will own the algorithm.
advertiser_id = advertiser-id

# Provide the display name of the algorithm.
display_name = display-name

# Provide the type of custom bidding algorithm.
custom_bidding_algo_type = custom-bidding-algorithm-type

# Build CustomBiddingAlgorithm object.
custom_bidding_algorithm_obj = {
    "advertiserId": advertiser_id,
    "displayName": display_name,
    "entityStatus": "ENTITY_STATUS_ACTIVE",
    "customBiddingAlgorithmType": custom_bidding_algo_type,
}

# Build and execute request.
algorithm_response = (
    service.customBiddingAlgorithms()
    .create(body=custom_bidding_algorithm_obj)
    .execute()
)

# Print ID of new custom bidding algorithm.
print(
    "Custom bidding algorithm was created with ID "
    f'{algorithm_response["customBiddingAlgorithmId"]}.'
)

PHP

// Provide the ID of the advertiser that will own the algorithm.
$advertiserId = advertiser-id;

// Provide the display name of the algorithm.
$displayName = display-name;

// Provide the type of custom bidding algorithm.
$customBiddingAlgorithmType = custom-bidding-algorithm-type;

// Create the custom bidding algorithm structure.
$algorithm = new Google_Service_DisplayVideo_CustomBiddingAlgorithm();
$algorithm->setAdvertiserId($advertiserId);
$algorithm->setDisplayName($displayName);
$algorithm->setEntityStatus('ENTITY_STATUS_ACTIVE');
$algorithm->setCustomBiddingAlgorithmType($customBiddingAlgorithmType);

// Call the API, creating the advertiser.
try {
    $result = $this->service->customBiddingAlgorithms->create($algorithm);
} catch (\Exception $e) {
    $this->renderError($e);
    return;
}

// Print ID of new custom bidding algorithm.
printf('<p>Custom Bidding Algorithm was created with the ID %s.</p>', $result['customBiddingAlgorithmId']);