Las líneas de pedido tienen varios recursos superiores de los que heredan la configuración y la segmentación de clientes. La mayoría de estos recursos pueden crearse, recuperarse y actualizarse la Red de Display y API de Video 360. En esta página, se describe la jerarquía de recursos y se brindan ejemplos. de cómo crear estos recursos con las APIs de Display & API de Video 360.
Jerarquía de recursos
En display y en Video 360, hay una jerarquía de recursos cuyo factor de configuración a la publicación de anuncios. Cada recurso tiene un propósito distinto al entregar publicidad. A partir del nivel jerárquico más bajo:
- Las líneas de pedido son recursos que controlan qué anuncios se publican, cuándo se
y a quiénes se entregan.
- YouTube y Las líneas de pedido de Partners también tienen grupos de anuncios y Ads. Proporcionan el nivel adicional de con un único presupuesto de línea de pedido. YouTube y Línea de Partners elementos, grupos de anuncios, anuncios y su segmentación no pueden modificarse API.
- Los pedidos de inserción contienen varias líneas de pedido. Proporcionan valores predeterminados para la configuración de líneas de pedido ausentes.
- Las campañas contienen varios pedidos de inserción. No aplican la configuración de manera forzosa. en sus pedidos de inserción. Su configuración sirve como un encuadre medir el progreso y el éxito de los anuncios que se publican en su cuenta.
- Los anunciantes poseen varias campañas publicitarias. Aplican la seguridad de la marca. y otros parámetros de configuración general de los anuncios que se publican en función de ellos. También son propietarios los objetos de creatividades utilizados en los anuncios publicados en ella y proporcionan acceso a recursos que se usan en la segmentación.
- Los socios son propietarios de varios anunciantes. Aplican mayor seguridad de la marca y otros parámetros de configuración de esos anunciantes. También proporcionan acceso a Recursos utilizados en actividades de segmentación y Floodlight utilizadas en conversiones el seguimiento de conversiones. No se pueden editar los socios con la API.
Herencia
Las líneas de pedido heredan varios parámetros de configuración y accesos de sus recursos superiores. Al administrar líneas de pedido y publicación de anuncios, entre las cualidades heredadas que se deben tener en cuenta se incluyen las siguientes:
- Creatividades disponibles y actividades de Floodlight: Las líneas de pedido solo tienen acceso.
a los recursos que pertenecen a sus principales socios o anunciantes. Creatividades
se crean en nombre de anunciantes, y las actividades de Floodlight pertenecen a socios.
Recursos asignados a campos de recursos
LineItem
creativeIds
yconversionCounting
debe compartir el mismo elemento superior anunciante y socio, respectivamente. - Entidades objetivo accesibles: recursos como canales, públicos combinados y otros para la segmentación. Las líneas de pedido solo se pueden orientar con recursos a los que puede acceder socio principal o anunciante.
- Segmentación por seguridad de la marca: Las líneas de pedido heredan la segmentación establecida a nivel del socio.
y del anunciante. No se puede quitar la segmentación heredada. Este existente
la segmentación se puede identificar
a través de las opciones de segmentación asignadas
inheritance
y afectará y la segmentación.
Crear recursos
Todos los recursos mencionados anteriormente se pueden administrar con el panel de API de Video 360. Inferior a son sencillos ejemplos de código sobre cómo crear cada uno de estos recursos usando bibliotecas cliente.
Crear un anunciante
Este es un ejemplo de cómo crear un anunciante:
Java
// Create an advertiser object. Advertiser advertiser = new Advertiser(); advertiser.setPartnerId(partner-id); advertiser.setDisplayName(display-name); advertiser.setEntityStatus("ENTITY_STATUS_ACTIVE"); // Create and set the advertiser general configuration. AdvertiserGeneralConfig advertiserGeneralConfig = new AdvertiserGeneralConfig(); advertiserGeneralConfig.setDomainUrl(domain-url); advertiserGeneralConfig.setCurrencyCode("USD"); advertiser.setGeneralConfig(advertiserGeneralConfig); // Create the ad server configuration structure. AdvertiserAdServerConfig advertiserAdServerConfig = new AdvertiserAdServerConfig(); // Create and add the third party only configuration to the ad server // configuration. advertiserAdServerConfig.setThirdPartyOnlyConfig(new ThirdPartyOnlyConfig()); // Set the ad server configuration. advertiser.setAdServerConfig(advertiserAdServerConfig); // Create and set the creative configuration. advertiser.setCreativeConfig(new AdvertiserCreativeConfig()); // Create and set the billing configuration. AdvertiserBillingConfig advertiserBillingConfig = new AdvertiserBillingConfig(); advertiserBillingConfig.setBillingProfileId(billing-profile-id); advertiser.setBillingConfig(advertiserBillingConfig); // Configure the create request. Advertisers.Create request = service.advertisers().create(advertiser); // Create the advertiser. Advertiser response = request.execute(); // Display the new advertiser. System.out.printf("Advertiser %s was created.", response.getName());
Python
# Create an advertiser object. advertiser_obj = { 'partnerId': partner-id, 'displayName': display-name, 'entityStatus': "ENTITY_STATUS_ACTIVE", 'generalConfig': { 'domainUrl' : domain-url, 'currencyCode' : 'USD' }, 'adServerConfig': { 'thirdPartyOnlyConfig' : {} }, 'creativeConfig': {}, 'billingConfig': { 'billingProfileId' : billing-profile-id } } # Create the advertiser. advertiser = service.advertisers().create( body=advertiser_obj ).execute() # Display the new advertiser. print("Advertiser %s was created." % advertiser["name"])
PHP
// Create an advertiser object. $advertiser = new Google_Service_DisplayVideo_Advertiser(); $advertiser->setPartnerId(partner-id); $advertiser->setDisplayName(display-name); $advertiser->setEntityStatus('ENTITY_STATUS_ACTIVE'); // Create and set the advertiser general configuration. $generalConfig = new Google_Service_DisplayVideo_AdvertiserGeneralConfig(); $generalConfig->setDomainUrl(domain-url); $generalConfig->setCurrencyCode('USD'); $advertiser->setGeneralConfig($generalConfig); // Create the ad server configuration structure. $adServerConfig = new Google_Service_DisplayVideo_AdvertiserAdServerConfig(); // Create and add the third party only configuration to the ad server // configuration. $adServerConfig->setThirdPartyOnlyConfig( new Google_Service_DisplayVideo_ThirdPartyOnlyConfig() ); // Set the ad server configuration. $advertiser->setAdServerConfig($adServerConfig); // Create and set the creative configuration. $advertiser->setCreativeConfig( new Google_Service_DisplayVideo_AdvertiserCreativeConfig() ); // Create and set the billing configuration. $billingConfig = new Google_Service_DisplayVideo_AdvertiserBillingConfig(); $billingConfig->setBillingProfileId(billing-profile-id); $advertiser->setBillingConfig($billingConfig); // Call the API, creating the advertiser. $result = $this->service->advertisers->create($advertiser); printf('Advertiser %s was created.\n', $result['name']);
Crear una campaña
A continuación, le mostramos un ejemplo de cómo crear una campaña:
Java
// Create a campaign object. Campaign campaign = new Campaign(); campaign.setDisplayName(display-name); campaign.setEntityStatus("ENTITY_STATUS_PAUSED"); // Create a campaign goal object. CampaignGoal campaignGoal = new CampaignGoal(); campaignGoal.setCampaignGoalType("CAMPAIGN_GOAL_TYPE_BRAND_AWARENESS"); // Create and add a performance goal to the campaign goal object. PerformanceGoal performanceGoal = new PerformanceGoal(); performanceGoal.setPerformanceGoalType("PERFORMANCE_GOAL_TYPE_CPC"); performanceGoal.setPerformanceGoalAmountMicros(1000000L); campaignGoal.setPerformanceGoal(performanceGoal); // Set the campaign goal. campaign.setCampaignGoal(campaignGoal); // Create a campaign flight object. // This object details the planned spend and duration of the campaign. CampaignFlight campaignFlight = new CampaignFlight(); campaignFlight.setPlannedSpendAmountMicros(1000000L); // Create the date range for the campaign flight. DateRange dateRange = new DateRange(); // Set the start date to one week from now and the end date to two weeks // from now. Calendar calendarStartDate = Calendar.getInstance().add(Calendar.DATE, 7); Calendar calendarEndDate = Calendar.getInstance().add(Calendar.DATE, 14); dateRange.setStartDate( new Date() .setYear(calendarStartDate.get(Calendar.YEAR)) .setMonth(calendarStartDate.get(Calendar.MONTH)) .setDay(calendarStartDate.get(Calendar.DAY_OF_MONTH))); dateRange.setEndDate( new Date() .setYear(calendarEndDate.get(Calendar.YEAR)) .setMonth(calendarEndDate.get(Calendar.MONTH)) .setDay(calendarEndDate.get(Calendar.DAY_OF_MONTH))); // Add the planned date range to the campaign flight object. campaignFlight.setPlannedDates(dateRange); // Set the campaign flight. campaign.setCampaignFlight(campaignFlight); // Create and set the frequency cap. FrequencyCap frequencyCap = new FrequencyCap(); frequencyCap.setMaxImpressions(10); frequencyCap.setTimeUnit("TIME_UNIT_DAYS"); frequencyCap.setTimeUnitCount(1); campaign.setFrequencyCap(frequencyCap); // Configure the create request. Campaigns.Create request = service.advertisers().campaigns() .create(advertiser-id, campaign); // Create the campaign. Campaign response = request.execute(); // Display the new campaign. System.out.printf("Campaign %s was created.", response.getName());
Python
# Create a future campaign flight start and end dates. startDate = date.today() + timedelta(days=7) endDate = date.today() + timedelta(days=14) # Create a campaign object. campaign_obj = { 'displayName': display-name, 'entityStatus': 'ENTITY_STATUS_PAUSED', 'campaignGoal': { 'campaignGoalType' : 'CAMPAIGN_GOAL_TYPE_BRAND_AWARENESS', 'performanceGoal': { 'performanceGoalType': 'PERFORMANCE_GOAL_TYPE_CPC', 'performanceGoalAmountMicros': 1000000 } }, 'campaignFlight': { 'plannedSpendAmountMicros': 1000000, 'plannedDates': { 'startDate': { 'year': startDate.year, 'month': startDate.month, 'day': startDate.day }, 'endDate': { 'year': endDate.year, 'month': endDate.month, 'day': endDate.day } } }, 'frequencyCap': { 'maxImpressions': 10, 'timeUnit': 'TIME_UNIT_DAYS', 'timeUnitCount': 1 } } # Create the campaign. campaign = service.advertisers().campaigns().create( advertiserId=advertiser-id, body=campaign_obj ).execute() # Display the new campaign. print("Campaign %s was created." % campaign["name"])
PHP
// Create a campaign object. $campaign = new Google_Service_DisplayVideo_Campaign(); $campaign->setDisplayName(display-name); $campaign->setEntityStatus('ENTITY_STATUS_ACTIVE'); // Create a campaign goal object. $campaignGoal = new Google_Service_DisplayVideo_CampaignGoal(); $campaignGoal->setCampaignGoalType( 'CAMPAIGN_GOAL_TYPE_BRAND_AWARENESS' ); // Create and add a performance goal to the campaign goal object. $performanceGoal = new Google_Service_DisplayVideo_PerformanceGoal(); $performanceGoal->setPerformanceGoalType('PERFORMANCE_GOAL_TYPE_CPC'); $performanceGoal->setPerformanceGoalAmountMicros(1000000); // Set the campaign goal. $campaignGoal->setPerformanceGoal($performanceGoal); $campaign->setCampaignGoal($campaignGoal); // Create a campaign flight object. // This object details the planned spend and duration of the campaign. $campaignFlight = new Google_Service_DisplayVideo_CampaignFlight(); $campaignFlight->setPlannedSpendAmountMicros(1000000); // Create a date range object for the flight. $dateRange = new Google_Service_DisplayVideo_DateRange(); // Create and assign a start date one week from now. $startDateTime = new DateTime('today + 7 days'); $startDate = new Google_Service_DisplayVideo_Date(); $startDate->setYear($startDateTime->format('Y')); $startDate->setMonth($startDateTime->format('n')); $startDate->setDay($startDateTime->format('j')); $dateRange->setStartDate($startDate); // Create and assign an end date two weeks from now. $endDateTime = new DateTime('today + 14 days'); $endDate = new Google_Service_DisplayVideo_Date(); $endDate->setYear($endDateTime->format('Y')); $endDate->setMonth($endDateTime->format('n')); $endDate->setDay($endDateTime->format('j')); $dateRange->setendDate($endDate); // Assign date range to flight. $campaignFlight->setPlannedDates($dateRange); // Assign flight to campaign. $campaign->setCampaignFlight($campaignFlight); // Create and set the frequency cap. $frequencyCap = new Google_Service_DisplayVideo_FrequencyCap(); $frequencyCap->setMaxImpressions(10); $frequencyCap->setTimeUnit('TIME_UNIT_DAYS'); $frequencyCap->setTimeUnitCount(1); $campaign->setFrequencyCap($frequencyCap); // Call the API, creating the campaign under the given advertiser. $result = $this->service->advertisers_campaigns->create( advertiser-id, $campaign ); // Display the new campaign. printf('Campaign %s was created.\n', $result['name']);
Crea un pedido de inserción
Este es un ejemplo de cómo crear un pedido de inserción:
Java
// Create an insertion order object. InsertionOrder insertionOrder = new InsertionOrder(); insertionOrder.setCampaignId(campaign-id); insertionOrder.setDisplayName(display-name); insertionOrder.setEntityStatus("ENTITY_STATUS_DRAFT"); // Create and add the pacing setting. Pacing pacing = new Pacing(); pacing.setPacingPeriod("PACING_PERIOD_DAILY"); pacing.setPacingType("PACING_TYPE_EVEN"); pacing.setDailyMaxMicros(10000L); insertionOrder.setPacing(pacing); // Create and set the frequency cap. FrequencyCap frequencyCap = new FrequencyCap(); frequencyCap.setTimeUnit("TIME_UNIT_DAYS"); frequencyCap.setTimeUnitCount(1); frequencyCap.setMaxImpressions(10); insertionOrder.setFrequencyCap(frequencyCap); // Create and set the key performance indicator (KPI). Kpi kpi = new Kpi(); kpi.setKpiType("KPI_TYPE_CPC"); kpi.setKpiAmountMicros(1000000L); insertionOrder.setKpi(kpi); // Create a budget object. InsertionOrderBudget insertionOrderBudget = new InsertionOrderBudget(); insertionOrderBudget.setBudgetUnit("BUDGET_UNIT_CURRENCY"); // Create a budget segment object. InsertionOrderBudgetSegment insertionOrderBudgetSegment = new InsertionOrderBudgetSegment(); insertionOrderBudgetSegment.setBudgetAmountMicros(100000L); // Create the date range for the budget segment. DateRange dateRange = new DateRange(); // Set the start date to one week from now and the end date to two weeks // from now. Calendar calendarStartDate = Calendar.getInstance().add(Calendar.DATE, 7); Calendar calendarEndDate = Calendar.getInstance().add(Calendar.DATE, 14); dateRange.setStartDate( new Date() .setYear(calendarStartDate.get(Calendar.YEAR)) .setMonth(calendarStartDate.get(Calendar.MONTH)) .setDay(calendarStartDate.get(Calendar.DAY_OF_MONTH))); dateRange.setEndDate( new Date() .setYear(calendarEndDate.get(Calendar.YEAR)) .setMonth(calendarEndDate.get(Calendar.MONTH)) .setDay(calendarEndDate.get(Calendar.DAY_OF_MONTH))); // Add the date range to the budget segment. insertionOrderBudgetSegment.setDateRange(dateRange); // Add budget segment list to the budget. insertionOrderBudget .setBudgetSegments(ImmutableList.of(insertionOrderBudgetSegment)); // Set budget. insertionOrder.setBudget(insertionOrderBudget); // Configure the create request. InsertionOrders.Create request = service.advertisers().insertionOrders() .create(advertiser-id, insertionOrder); // Create the insertion order. InsertionOrder response = request.execute(); // Display the new insertion order. System.out.printf("InsertionOrder %s was created.", response.getName());
Python
# Create a future budget segment start and end dates. startDate = date.today() + timedelta(days=7) endDate = date.today() + timedelta(days=14) # Create an insertion order object. insertion_order_obj = { 'campaignId' : campaign-id, 'displayName': display-name, 'entityStatus': 'ENTITY_STATUS_DRAFT', 'pacing': { 'pacingPeriod': 'PACING_PERIOD_DAILY', 'pacingType': 'PACING_TYPE_EVEN', 'dailyMaxMicros': 10000 }, 'frequencyCap': { 'maxImpressions': 10, 'timeUnit': 'TIME_UNIT_DAYS', 'timeUnitCount': 1 }, 'kpi' : { 'kpiType': 'KPI_TYPE_CPC', 'kpiAmountMicros': 1000000 }, 'budget': { 'budgetUnit': 'BUDGET_UNIT_CURRENCY', 'budgetSegments': [ { 'budgetAmountMicros': 100000, 'dateRange': { 'startDate': { 'year': startDate.year, 'month': startDate.month, 'day': startDate.day }, 'endDate': { 'year': endDate.year, 'month': endDate.month, 'day': endDate.day } } } ] } } # Create the insertion order. insertionOrder = service.advertisers().insertionOrders().create( advertiserId=advertiser-id, body=insertion_order_obj ).execute() # Display the new insertion order. print("Insertion Order %s was created." % insertionOrder["name"])
PHP
// Create an insertion order object. $insertionOrder = new Google_Service_DisplayVideo_InsertionOrder(); $insertionOrder->setCampaignId(campaign-id); $insertionOrder->setDisplayName(display-name); $insertionOrder->setEntityStatus('ENTITY_STATUS_DRAFT'); // Create and add the pacing setting. $pacing = new Google_Service_DisplayVideo_Pacing(); $pacing->setPacingPeriod('PACING_PERIOD_DAILY'); $pacing->setPacingType('PACING_TYPE_EVEN'); $pacing->setDailyMaxMicros(10000); $insertionOrder->setPacing($pacing); // Create and set the frequency cap. $frequencyCap = new Google_Service_DisplayVideo_FrequencyCap(); $frequencyCap->setMaxImpressions(10); $frequencyCap->setTimeUnit('TIME_UNIT_DAYS'); $frequencyCap->setTimeUnitCount(1); $insertionOrder->setFrequencyCap($frequencyCap); // Create and set the key performance indicator (KPI). $kpi = new Google_Service_DisplayVideo_Kpi(); $kpi->setKpiType('KPI_TYPE_CPC'); $kpi->setKpiAmountMicros(1000000); $insertionOrder->setKpi($kpi); // Create a budget object. $budget = new Google_Service_DisplayVideo_InsertionOrderBudget(); $budget->setBudgetUnit('BUDGET_UNIT_CURRENCY'); // Create a budget segment object. $budgetSegment = new Google_Service_DisplayVideo_InsertionOrderBudgetSegment(); $budgetSegment->setBudgetAmountMicros(100000); // Create a date range object for the budget segment. $dateRange = new Google_Service_DisplayVideo_DateRange(); // Create and assign a start date one week from now. $startDateTime = new DateTime('today + 7 days'); $startDate = new Google_Service_DisplayVideo_Date(); $startDate->setYear($startDateTime->format('Y')); $startDate->setMonth($startDateTime->format('n')); $startDate->setDay($startDateTime->format('j')); $dateRange->setStartDate($startDate); // Create and assign an end date two weeks from now. $endDateTime = new DateTime('today + 14 days'); $endDate = new Google_Service_DisplayVideo_Date(); $endDate->setYear($endDateTime->format('Y')); $endDate->setMonth($endDateTime->format('n')); $endDate->setDay($endDateTime->format('j')); $dateRange->setendDate($endDate); // Assign date range to budget segment. $budgetSegment->setDateRange($dateRange); // Set budget segment. $budget->setBudgetSegments(array($budgetSegment)); // Set budget object. $insertionOrder->setBudget($budget); // Call the API, creating the insertion order under the advertiser and // campaign given. $result = $this->service->advertisers_insertionOrders->create( advertiser-id, $insertionOrder ); printf('Insertion Order %s was created.\n', $result['name']);
Cómo crear una línea de pedido
Este es un ejemplo de cómo crear una línea de pedido:
Java
// Create a line item object. LineItem lineItem = new LineItem(); lineItem.setInsertionOrderId(insertion-order-id); lineItem.setDisplayName(display-name); lineItem.setLineItemType("LINE_ITEM_TYPE_DISPLAY_DEFAULT"); lineItem.setEntityStatus("ENTITY_STATUS_DRAFT"); // Create and set the line item flight. LineItemFlight lineItemFlight = new LineItemFlight(); lineItemFlight .setFlightDateType("LINE_ITEM_FLIGHT_DATE_TYPE_INHERITED"); lineItem.setFlight(lineItemFlight); // Create and set the line item budget. LineItemBudget lineItemBudget = new LineItemBudget(); lineItemBudget .setBudgetAllocationType("LINE_ITEM_BUDGET_ALLOCATION_TYPE_FIXED"); lineItem.setBudget(lineItemBudget); // Create and set the pacing setting. Pacing pacing = new Pacing(); pacing.setPacingPeriod("PACING_PERIOD_DAILY"); pacing.setPacingType("PACING_TYPE_EVEN"); pacing.setDailyMaxMicros(10000L); lineItem.setPacing(pacing); // Create and set the frequency cap. FrequencyCap frequencyCap = new FrequencyCap(); frequencyCap.setTimeUnit("TIME_UNIT_DAYS"); frequencyCap.setTimeUnitCount(1); frequencyCap.setMaxImpressions(10); lineItem.setFrequencyCap(frequencyCap); // Create and set the partner revenue model. PartnerRevenueModel partnerRevenueModel = new PartnerRevenueModel(); partnerRevenueModel .setMarkupType("PARTNER_REVENUE_MODEL_MARKUP_TYPE_CPM"); partnerRevenueModel.setMarkupAmount(10L); lineItem.setPartnerRevenueModel(partnerRevenueModel); // Set the list of IDs of the creatives associated with the line item. lineItem.setCreativeIds(creative-ids); // Create and set the bidding strategy. BiddingStrategy biddingStrategy = new BiddingStrategy(); biddingStrategy .setFixedBid(new FixedBidStrategy().setBidAmountMicros(100000L)); lineItem.setBidStrategy(biddingStrategy); // Configure the create request. LineItems.Create request = service.advertisers().lineItems().create(advertiser-id, lineItem); // Create the line item. LineItem response = request.execute(); // Display the new line item. System.out.printf("LineItem %s was created.", response.getName());
Python
# Create an line item object. line_item_obj = { 'insertionOrderId' : insertion-order-id, 'displayName': display-name, 'lineItemType': 'LINE_ITEM_TYPE_DISPLAY_DEFAULT', 'entityStatus': 'ENTITY_STATUS_DRAFT', 'flight': { 'flightDateType': 'LINE_ITEM_FLIGHT_DATE_TYPE_INHERITED' }, 'budget': { 'budgetAllocationType': 'LINE_ITEM_BUDGET_ALLOCATION_TYPE_FIXED' }, 'pacing': { 'pacingPeriod': 'PACING_PERIOD_DAILY', 'pacingType': 'PACING_TYPE_EVEN', 'dailyMaxMicros': 10000 }, 'frequencyCap': { 'timeUnit': 'TIME_UNIT_DAYS', 'timeUnitCount': 1, 'maxImpressions': 10 }, 'partnerRevenueModel': { 'markupType': 'PARTNER_REVENUE_MODEL_MARKUP_TYPE_CPM', 'markupAmount': 10 }, 'creativeIds': creative-ids, 'bidStrategy': { 'fixedBid': { 'bidAmountMicros': 100000 } } } # Create the line item. lineItem = service.advertisers().lineItems().create( advertiserId=advertiser-id, body=line_item_obj ).execute() # Display the new line item. print("Line Item %s was created." % lineItem["name"])
PHP
// Create a line item object. $lineItem = new Google_Service_DisplayVideo_LineItem(); $lineItem->setInsertionOrderId(insertion-order-id); $lineItem->setDisplayName(display-name); $lineItem->setLineItemType('LINE_ITEM_TYPE_DISPLAY_DEFAULT'); $lineItem->setEntityStatus('ENTITY_STATUS_DRAFT'); // Create and set the line item flight. $flight = new Google_Service_DisplayVideo_LineItemFlight(); $flight->setFlightDateType('LINE_ITEM_FLIGHT_DATE_TYPE_INHERITED'); $lineItem->setFlight($flight); // Create and set the line item budget. $budget = new Google_Service_DisplayVideo_LineItemBudget(); $budget->setBudgetAllocationType( 'LINE_ITEM_BUDGET_ALLOCATION_TYPE_FIXED' ); $lineItem->setBudget($budget); // Create and set the pacing setting. $pacing = new Google_Service_DisplayVideo_Pacing(); $pacing->setPacingPeriod('PACING_PERIOD_DAILY'); $pacing->setPacingType('PACING_TYPE_EVEN'); $pacing->setDailyMaxMicros(10000); $lineItem->setPacing($pacing); // Create and set the frequency cap. $frequencyCap = new Google_Service_DisplayVideo_FrequencyCap(); $frequencyCap->setMaxImpressions(10); $frequencyCap->setTimeUnit('TIME_UNIT_DAYS'); $frequencyCap->setTimeUnitCount(1); $lineItem->setFrequencyCap($frequencyCap); // Create and set the partner revenue model. $partnerRevenueModel = new Google_Service_DisplayVideo_PartnerRevenueModel(); $partnerRevenueModel->setMarkupType( 'PARTNER_REVENUE_MODEL_MARKUP_TYPE_CPM' ); $partnerRevenueModel->setMarkupAmount(10); $lineItem->setPartnerRevenueModel($partnerRevenueModel); // Set the list of IDs of the creatives associated with the line item. lineItem >setCreativeIds(creative-ids); // Create and set the bidding strategy. $biddingStrategy = new Google_Service_DisplayVideo_BiddingStrategy(); $fixedBidStrategy = new Google_Service_DisplayVideo_FixedBidStrategy(); $fixedBidStrategy->setBidAmountMicros(100000); $biddingStrategy->setFixedBid($fixedBidStrategy); $lineItem->setBidStrategy($biddingStrategy); // Create the line item. $result = $this->service->advertisers_lineItems->create( advertiser-id, $lineItem ); printf('Line Item %s was created.\n', $result['name']);
Genera líneas de pedido predeterminadas
Las líneas de pedido se pueden generar con parámetros de configuración predeterminados.
determinada por un LineItemType
determinado, así como por
del pedido de inserción superior. A diferencia de la línea de API estándar,
creación de líneas de pedido, se les asigna a las líneas de pedido predeterminadas la misma segmentación que a su
superior al momento de generarla, similar a lo que sucede en la IU.
Administrar esto con el pedido de inserción
Servicio AssignedTargetingOptions
A continuación, se muestra un ejemplo de cómo generar una línea de pedido predeterminada:
Java
// Create a default line item generation request. GenerateDefaultLineItemRequest defaultLineItemRequest = new GenerateDefaultLineItemRequest(); defaultLineItemRequest.setInsertionOrderId(insertion-order-id); defaultLineItemRequest.setDisplayName(display-name); defaultLineItemRequest.setLineItemType("LINE_ITEM_TYPE_DISPLAY_DEFAULT"); // Configure the request. LineItems.GenerateDefault request = service .advertisers() .lineItems() .generateDefault(advertiser-id, defaultLineItemRequest); // Generate the default line item. LineItem response = request.execute(); // Display the new line item. System.out.printf("LineItem %s was created.", response.getName());
Python
# Create a default line item generation request. default_li_request = { 'insertionOrderId' : insertion-order-id, 'displayName': display-name, 'lineItemType': 'LINE_ITEM_TYPE_DISPLAY_DEFAULT' } # Generate the default line item. line_item = service.advertisers().lineItems().generateDefault( advertiserId=advertiser-id, body=default_li_request ).execute() # Display the new line item. print("Line Item %s was created." % lineItem["name"])
PHP
// Create a default line item generation request. $defaultLineItemRequest = new Google_Service_DisplayVideo_GenerateDefaultLineItemRequest(); $defaultLineItemRequest->setInsertionOrderId(insertion-order-id); $defaultLineItemRequest->setDisplayName(display-name); $defaultLineItemRequest->setLineItemType('LINE_ITEM_TYPE_DISPLAY_DEFAULT'); // Generate the default line item. $result = $this->service->advertisers_lineItems->generateDefault( advertiser-id, $defaultLineItemRequest ); // Display the new line item. printf('Line Item %s was created.\n', $result['name']);
Líneas de pedido duplicadas
Las líneas de pedido existentes pueden duplicarse, lo que genera una línea de pedido nueva con los mismos parámetros de configuración y segmentación que la línea de pedido existente en el mismo pedido de inserción.
Este es un ejemplo de cómo duplicar una línea de pedido existente:
Java
// Create the duplicate line item request body. DuplicateLineItemRequest requestBody = new DuplicateLineItemRequest(); requestBody.setTargetDisplayName(target-display-name); // Configure the request. LineItems.Duplicate request = service.advertisers().lineItems() .duplicate(advertiser-id, line-item-id, requestBody); // Duplicate the line item. DuplicateLineItemResponse response = request.execute(); // Display the line item ID of the new duplicate line item. System.out.printf("A duplicate line item with the ID %s was created.", response.getDuplicateLineItemId());
Python
# Create the duplicate line item request body. duplicate_request = { 'targetDisplayName': target-display-name } # Duplicate the line item. response = service.advertisers().lineItems().duplicate( advertiserId=advertiser-id, lineItemId=line-item-id, body=duplicate_request ).execute() # Display the line item ID of the new duplicate line item. print("A duplicate line item with the ID %s was created." % response["duplicateLineItemId"])
PHP
// Create the duplicate line item request body. $requestBody = new Google_Service_DisplayVideo_DuplicateLineItemRequest(); $requestBody->setTargetDisplayName(target-display-name); // Call the API, duplicating the line item. $response = $service ->advertisers_lineItems ->duplicate( advertiser-id, line-item-id, $requestBody ); // Display the line item ID of the new duplicate line item. printf( 'A duplicate line item with the ID %s was created.', $response->getDuplicateLineItemId() );