Twitch SDK (Internal)
Classes | Enumerations | Functions
ttv::ads Namespace Reference

Classes

struct  Ad
 
struct  AdConfiguration
 
struct  AdFetchRequestInfo
 
class  AdsAPI
 
struct  AdWrapper
 
struct  CompanionCreative
 
class  FetchAdsTask
 
struct  Impression
 
struct  LinearCreative
 
struct  MediaFile
 
class  ReportAdEventTask
 

Enumerations

enum  TrackingEventType {
  TrackingEventType::Unknown, TrackingEventType::CreativeView, TrackingEventType::Start, TrackingEventType::FirstQuartile,
  TrackingEventType::Midpoint, TrackingEventType::ThirdQuartile, TrackingEventType::Complete, TrackingEventType::Mute,
  TrackingEventType::Unmute, TrackingEventType::Pause, TrackingEventType::Rewind, TrackingEventType::Resume,
  TrackingEventType::Fullscreen, TrackingEventType::ExitFullscreen, TrackingEventType::Expand, TrackingEventType::Collapse,
  TrackingEventType::AcceptInvitation, TrackingEventType::Close, TrackingEventType::Skip, TrackingEventType::Progress
}
 
enum  AdPosition { AdPosition::Undefined = 0, AdPosition::Preroll = 1, AdPosition::Midroll = 2, AdPosition::Postroll = 3 }
 
enum  ContentMode { ContentMode::Live, ContentMode::Vod, ContentMode::Playlist, ContentMode::VodCast }
 
enum  AdError {
  AdError::None = 0, AdError::XMLParseError = 100, AdError::VASTSchemaValidationError = 101, AdError::VASTUnsupportedVersion = 102,
  AdError::TraffickingError = 200, AdError::UnexpectedLinearity = 201, AdError::UnexpectedDuration = 202, AdError::UnexpectedSize = 203,
  AdError::WrapperError = 300, AdError::WrapperFailed = 301, AdError::WrapperDepth = 302, AdError::WrapperNoAdFound = 303,
  AdError::LinearError = 400, AdError::MediaFileNotFound = 401, AdError::MediaFileTimedout = 402, AdError::MediaFileIncompatible = 403,
  AdError::MediaFileUnplayable = 405, AdError::NonLinearAdsError = 500, AdError::NonLinearIncompatibleDimension = 501, AdError::NonLinearResourceFetchFailed = 502,
  AdError::NonLinearIncompatibleType = 503, AdError::CompanionAdsError = 600, AdError::CompanionIncompatibleDimension = 601, AdError::CompanionDisplayError = 602,
  AdError::CompanionResourceFetchFailed = 603, AdError::UndefinedError = 900, AdError::VPAIDError = 901, AdError::AdFetchFailed = 1000
}
 

Functions

std::string SanitizeString (const std::string &string)
 
std::string SubstituteMacrosInUrl (const std::string &url, const std::map< std::string, std::string > &substitutions)
 
AdError ParseVASTResponse (const std::string &responseData, std::vector< Ad > &inlineAds, std::vector< AdWrapper > &adWrappers, std::vector< std::string > &playlistUrls)
 
AdError ParseVASTResponseFromWrapper (const std::string &responseData, std::vector< Ad > &inlineAds, std::vector< AdWrapper > &adWrappers, AdWrapper &parentWrapper)
 

Class Documentation

◆ ttv::ads::AdConfiguration

struct ttv::ads::AdConfiguration
Class Members
string adTrackingIdentifer
string adUnit
string languageCode
vector< string > mediaTypeFilters

This list will be used to filter the media types of the ads. If empty, no filter wil be applied. For example, if you only support mp4 playback then add "video/mp4" to the list of filters.

string platform
string userAgentString

◆ ttv::ads::Impression

struct ttv::ads::Impression
Class Members
string identifier
string resourceUrl

Enumeration Type Documentation

◆ AdError

enum ttv::ads::AdError
strong
Enumerator
None 
XMLParseError 
VASTSchemaValidationError 
VASTUnsupportedVersion 
TraffickingError 
UnexpectedLinearity 
UnexpectedDuration 
UnexpectedSize 
WrapperError 
WrapperFailed 
WrapperDepth 
WrapperNoAdFound 
LinearError 
MediaFileNotFound 
MediaFileTimedout 
MediaFileIncompatible 
MediaFileUnplayable 
NonLinearAdsError 
NonLinearIncompatibleDimension 
NonLinearResourceFetchFailed 
NonLinearIncompatibleType 
CompanionAdsError 
CompanionIncompatibleDimension 
CompanionDisplayError 
CompanionResourceFetchFailed 
UndefinedError 
VPAIDError 
AdFetchFailed 

◆ AdPosition

enum ttv::ads::AdPosition
strong
Enumerator
Undefined 
Preroll 
Midroll 
Postroll 

◆ ContentMode

enum ttv::ads::ContentMode
strong
Enumerator
Live 
Vod 
Playlist 
VodCast 

◆ TrackingEventType

Enumerator
Unknown 
CreativeView 
Start 
FirstQuartile 
Midpoint 
ThirdQuartile 
Complete 
Mute 
Unmute 
Pause 
Rewind 
Resume 
Fullscreen 
ExitFullscreen 
Expand 
Collapse 
AcceptInvitation 
Close 
Skip 
Progress 

Function Documentation

◆ ParseVASTResponse()

AdError ttv::ads::ParseVASTResponse ( const std::string &  responseData,
std::vector< Ad > &  inlineAds,
std::vector< AdWrapper > &  adWrappers,
std::vector< std::string > &  playlistUrls 
)

◆ ParseVASTResponseFromWrapper()

AdError ttv::ads::ParseVASTResponseFromWrapper ( const std::string &  responseData,
std::vector< Ad > &  inlineAds,
std::vector< AdWrapper > &  adWrappers,
AdWrapper parentWrapper 
)

◆ SanitizeString()

std::string ttv::ads::SanitizeString ( const std::string &  string)

◆ SubstituteMacrosInUrl()

std::string ttv::ads::SubstituteMacrosInUrl ( const std::string &  url,
const std::map< std::string, std::string > &  substitutions 
)