Пользовательский алгоритм назначения ставок создается на основе логики назначения ставок, определенной пользователем. Назначьте его для позиции в рекламном блоке через стратегию назначения ставок. При назначении ставок на рекламный инвентарь позиция будет использовать эту пользовательскую логику.
Сначала выберите тип алгоритма и создайте ресурс алгоритма .
Выберите тип пользовательского алгоритма назначения ставок.
Тип алгоритма определяет, как в алгоритме задается логика торгов.
Выберите один из следующих типов, которые можно создать с помощью 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']);