@niur/google-admanager-api
Version:
Google Ad Manager API Client Library for NodeJs
183 lines • 8.72 kB
TypeScript
import { DateTime, PageResult } from '../../../common/types';
import { Targeting } from '../../common/types';
import { StartDateTimeType } from '../../../common/enums';
import { AdRuleSlotBehavior, AdRuleSlotBumper, AdRuleStatus, AdSpotFillType, FrequencyCapBehavior, MidrollFrequencyType } from './adRule.enum';
/**
* Simple object representing an ad slot within an AdRule. Ad rule slots contain information about the types/number of ads to display, as well as additional information on how the ad server will generate playlists.
*/
export declare type BaseAdRuleSlot = NoPoddingAdRuleSlot | OptimizedPoddingAdRuleSlot | StandardPoddingAdRuleSlot | UnknownAdRuleSlot;
/**
* An ad rule slot with no podding. It is defined by a BaseAdRuleSlot.maxVideoAdDuration.
*/
export declare type NoPoddingAdRuleSlot = {
/**
* The AdRuleSlotBehavior for video ads for this slot. This attribute is optional and defaults to AdRuleSlotBehavior.DEFER.
*
* Indicates whether video ads are allowed for this slot, or if the decision is deferred to a lower-priority ad rule.
*/
slotBehavior: AdRuleSlotBehavior;
/**
* The maximum duration in milliseconds of video ads within this slot. This attribute is optional and defaults to 0.
*/
maxVideoAdDuration: number;
/**
* The frequency type for video ads in this ad rule slot. This attribute is required for mid-rolls, but if this is not a mid-roll, the value is set to MidrollFrequencyType.NONE.
*/
videoMidrollFrequencyType: MidrollFrequencyType;
/**
* The mid-roll frequency of this ad rule slot for video ads. This attribute is required for mid-rolls, but if MidrollFrequencyType is set to MidrollFrequencyType.NONE, this value should be ignored. For example, if this slot has a frequency type of MidrollFrequencyType.EVERY_N_SECONDS and #videoMidrollFrequency = "60", this would mean " play a mid-roll every 60 seconds."
*/
videoMidrollFrequency: string;
/**
* The AdRuleSlotBumper for this slot. This attribute is optional and defaults to AdRuleSlotBumper.NONE.
*/
bumper: AdRuleSlotBumper;
/**
* The maximum duration of bumper ads within this slot. This attribute is optional and defaults to 0.
*/
maxBumperDuration: number;
/**
* The maximum pod duration in milliseconds for this slot. This attribute is optional and defaults to 0.
*/
maxPodDuration: number;
/**
* The maximum number of ads allowed in a pod in this slot. This attribute is optional and defaults to 0.
*/
maxAdsInPod: number;
/**
* ID of a BreakTemplate that defines what kinds of ads show at which positions within this slot. This field is optional and only supported on OptimizedPoddingAdRuleSlot entities.
*/
breakTemplateId: number;
};
/**
* Ad rule slot with optimized podding. Optimized pods are defined by a BaseAdRuleSlot.maxPodDuration and a BaseAdRuleSlot.maxAdsInPod, and the ad server chooses the best ads for the alloted duration.
*/
export declare type OptimizedPoddingAdRuleSlot = NoPoddingAdRuleSlot & {};
/**
* An ad rule slot with standard podding. A standard pod is a series of video ads played back to back. Standard pods are defined by a BaseAdRuleSlot.maxAdsInPod and a BaseAdRuleSlot.maxVideoAdDuration.
*/
export declare type StandardPoddingAdRuleSlot = NoPoddingAdRuleSlot & {};
/**
* The BaseAdRuleSlot subtype returned if the actual type is not exposed by the requested API version.
*/
export declare type UnknownAdRuleSlot = NoPoddingAdRuleSlot & {};
/**
* An AdRule contains data that the ad server will use to generate a playlist of video ads.
*/
export declare type AdRule = {
/**
* The unique ID of the AdRule. This value is readonly and is assigned by Google.
*/
id?: number;
/**
* The unique name of the AdRule. This attribute is required to create an ad rule and has a maximum length of 255 characters.
*/
name: string;
/**
* The priority of the AdRule. This attribute is required and can range from 1 to 1000, with 1 being the highest possible priority.
*
* Changing an ad rule's priority can affect the priorities of other ad rules. For example, increasing an ad rule's priority from 5 to 1 will shift the ad rules that were previously in priority positions 1 through 4 down one.
*/
priority: number;
/**
* The targeting criteria of the AdRule. This attribute is required.
*/
targeting: Targeting;
/**
* This AdRule object's start date and time. This attribute is required and must be a date in the future for new ad rules.
*/
startDateTime: DateTime;
/**
* Specifies whether to start using the AdRule right away, in an hour, etc. This attribute is optional and defaults to StartDateTimeType.USE_START_DATE_TIME.
*/
startDateTimeType: StartDateTimeType;
/**
* This AdRule object's end date and time. This attribute is required unless unlimitedEndDateTime is set to true. If specified, it must be after the startDateTime.
*/
endDateTime: DateTime;
/**
* Specifies whether the AdRule has an end time. This attribute is optional and defaults to false.
*/
unlimitedEndDateTime: boolean;
/**
* The AdRuleStatus of the ad rule. This attribute is read-only and defaults to AdRuleStatus.INACTIVE.
*/
status: AdRuleStatus;
/**
* The FrequencyCapBehavior of the AdRule. This attribute is optional and defaults to FrequencyCapBehavior.DEFER.
*/
frequencyCapBehavior: FrequencyCapBehavior;
/**
* This AdRule object's frequency cap for the maximum impressions per stream. This attribute is optional and defaults to 0.
*/
maxImpressionsPerLineItemPerStream: number;
/**
* This AdRule object's frequency cap for the maximum impressions per pod. This attribute is optional and defaults to 0.
*/
maxImpressionsPerLineItemPerPod: number;
/**
* This AdRule object's pre-roll slot. This attribute is required.
*/
preroll: BaseAdRuleSlot;
/**
* This AdRule object's mid-roll slot. This attribute is required.
*/
midroll: BaseAdRuleSlot;
/**
* This AdRule object's post-roll slot. This attribute is required.
*/
postroll: BaseAdRuleSlot;
};
/**
* A building block of a pod template.
*/
export declare type BreakTemplateMember = {
/**
* The ID of the AdSpot that has the settings about what kinds of ads can appear in this position of the BreakTemplate.
*/
adSpotId?: number;
/**
* The behavior for how the AdSpot should be filled in the context of the BreakTemplate.
*/
adSpotFillType: AdSpotFillType;
};
/**
* A BreakTemplate defines what kinds of ads show at which positions within a pod.
*
* Break templates are made up of AdSpot objects. A break template must have a single ad spot that has AdSpot#flexible set to true.
*/
export declare type BreakTemplate = {
/**
* The unique ID of the BreakTemplate. This value is readonly and is assigned by Google.
*/
id?: number;
/**
* Whether this is custom template. Custom templates get created outside of the ad rule workflow and can be referenced in ad tags.
*
* Only custom templates can have names and display names.
*/
customTemplate: boolean;
/**
* Name of the BreakTemplate. The name is case insenstive and can be referenced in ad tags. This value is required if customTemplate is true, and cannot be set otherwise.
*
* You can use alphanumeric characters and symbols other than the following: ", ', =, !, +, #, *, ~, ;, ^, (, ), <, >, [, ], the white space character.
*/
name: string;
/**
* Descriptive name for the BreakTemplateDto. This value is optional if customTemplate is true, and cannot be set otherwise.
*/
displayName?: string;
/**
* The list of the BreakTemplateMember objects in the order in which they should appear in the ad pod. Each BreakTemplateMember has a reference to a AdSpot, which defines what kinds of ads can appear at that position, as well as other metadata that defines how each ad spot should be filled.
*/
breakTemplateMembers: BreakTemplateMember[];
};
/**
* Captures a page of {@link https://developers.google.com/ad-manager/api/reference/v202202/AdRuleService.AdRule AdRule} objects.
*/
export declare type AdRulePage = PageResult<AdRule>;
/**
* Captures a page of {@link https://developers.google.com/ad-manager/api/reference/v202202/AdRuleService.BreakTemplate BreakTemplate} objects.
*/
export declare type BreakTemplatePage = PageResult<BreakTemplate>;
//# sourceMappingURL=adRule.type.d.ts.map