The VAST URI provided, or a VAST URI provided in a subsequent Wrapper
element, was either unavailable or reached a timeout, as defined by the
video player. The timeout is 8 seconds for initial VAST requests and 4
seconds for each subsequent Wrapper.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-20 UTC."],[[["\u003cp\u003e\u003ccode\u003eIMAErrorCode\u003c/code\u003e is an enumeration outlining potential errors encountered during ad loading and playback within the IMA SDK.\u003c/p\u003e\n"],["\u003cp\u003eErrors are categorized and cover issues like malformed VAST responses, trafficking discrepancies, loading timeouts, and media playback failures.\u003c/p\u003e\n"],["\u003cp\u003eEach error code has a corresponding integer value and a descriptive message explaining the nature of the error.\u003c/p\u003e\n"],["\u003cp\u003eDevelopers can use these error codes to diagnose and handle ad-related issues in their applications.\u003c/p\u003e\n"],["\u003cp\u003eThe list of error codes includes issues with VAST responses, ad loading, video playback, companion ads, and general SDK usage errors.\u003c/p\u003e\n"]]],["The document outlines the `IMAErrorCode` enum, which lists possible errors during ad loading or playback. Key errors include malformed VAST responses, trafficking errors, load timeouts, too many redirects, and invalid URLs. Other errors involve video playback issues, media loading failures, asset mismatches, and companion ad loading failures. Additionally, it covers unknown errors, malformed playlist responses, failed ad requests, missing listeners, missing assets, ad slot visibility, empty VAST responses, stream initialization issues, invalid arguments, API errors, and video element issues. Each error code has an associated numeric value and is available in Swift and Objective-C.\n"],null,["# GoogleInteractiveMediaAds Framework Reference\n\nIMAErrorCode\n============\n\n enum IMAErrorCode : NSInteger {}\n\nPossible error codes raised while loading or playing ads.\n- `\n ``\n ``\n `\n\n ### [kIMAError_VAST_MALFORMED_RESPONSE](#/c:@E@IMAErrorCode@kIMAError_VAST_MALFORMED_RESPONSE)\n\n `\n ` \n The ad response was not recognized as a valid VAST ad. \n\n #### Declaration\n\n Swift \n\n case VAST_MALFORMED_RESPONSE = 100\n\n Objective-C \n\n kIMAError_VAST_MALFORMED_RESPONSE = 100\n\n- `\n ``\n ``\n `\n\n ### [kIMAError_VAST_TRAFFICKING_ERROR](#/c:@E@IMAErrorCode@kIMAError_VAST_TRAFFICKING_ERROR)\n\n `\n ` \n Trafficking error. Video player received an ad type that it was not expecting and/or cannot\n display. \n\n #### Declaration\n\n Swift \n\n case VAST_TRAFFICKING_ERROR = 200\n\n Objective-C \n\n kIMAError_VAST_TRAFFICKING_ERROR = 200\n\n- `\n ``\n ``\n `\n\n ### [kIMAError_VAST_LOAD_TIMEOUT](#/c:@E@IMAErrorCode@kIMAError_VAST_LOAD_TIMEOUT)\n\n `\n ` \n The VAST URI provided, or a VAST URI provided in a subsequent Wrapper\n element, was either unavailable or reached a timeout, as defined by the\n video player. The timeout is 8 seconds for initial VAST requests and 4\n seconds for each subsequent Wrapper. \n\n #### Declaration\n\n Swift \n\n case VAST_LOAD_TIMEOUT = 301\n\n Objective-C \n\n kIMAError_VAST_LOAD_TIMEOUT = 301\n\n- `\n ``\n ``\n `\n\n ### [kIMAError_VAST_TOO_MANY_REDIRECTS](#/c:@E@IMAErrorCode@kIMAError_VAST_TOO_MANY_REDIRECTS)\n\n `\n ` \n The maximum number of VAST wrapper redirects has been reached. \n\n #### Declaration\n\n Swift \n\n case VAST_TOO_MANY_REDIRECTS = 302\n\n Objective-C \n\n kIMAError_VAST_TOO_MANY_REDIRECTS = 302\n\n- `\n ``\n ``\n `\n\n ### [kIMAError_VAST_INVALID_URL](#/c:@E@IMAErrorCode@kIMAError_VAST_INVALID_URL)\n\n `\n ` \n At least one VAST wrapper loaded and a subsequent wrapper or inline ad\n load has resulted in a 404 response code. \n\n #### Declaration\n\n Swift \n\n case VAST_INVALID_URL = 303\n\n Objective-C \n\n kIMAError_VAST_INVALID_URL = 303\n\n- `\n ``\n ``\n `\n\n ### [kIMAError_VIDEO_PLAY_ERROR](#/c:@E@IMAErrorCode@kIMAError_VIDEO_PLAY_ERROR)\n\n `\n ` \n There was an error playing the video ad. \n\n #### Declaration\n\n Swift \n\n case VIDEO_PLAY_ERROR = 400\n\n Objective-C \n\n kIMAError_VIDEO_PLAY_ERROR = 400\n\n- `\n ``\n ``\n `\n\n ### [kIMAError_VAST_MEDIA_LOAD_TIMEOUT](#/c:@E@IMAErrorCode@kIMAError_VAST_MEDIA_LOAD_TIMEOUT)\n\n `\n ` \n Failed to load media assets from a VAST response.\n The default timeout for media loading is 8 seconds. \n\n #### Declaration\n\n Swift \n\n case VAST_MEDIA_LOAD_TIMEOUT = 402\n\n Objective-C \n\n kIMAError_VAST_MEDIA_LOAD_TIMEOUT = 402\n\n- `\n ``\n ``\n `\n\n ### [kIMAError_VAST_LINEAR_ASSET_MISMATCH](#/c:@E@IMAErrorCode@kIMAError_VAST_LINEAR_ASSET_MISMATCH)\n\n `\n ` \n Assets were found in the VAST ad response for linear ad, but none of them\n matched the video player's capabilities. \n\n #### Declaration\n\n Swift \n\n case VAST_LINEAR_ASSET_MISMATCH = 403\n\n Objective-C \n\n kIMAError_VAST_LINEAR_ASSET_MISMATCH = 403\n\n- `\n ``\n ``\n `\n\n ### [kIMAError_COMPANION_AD_LOADING_FAILED](#/c:@E@IMAErrorCode@kIMAError_COMPANION_AD_LOADING_FAILED)\n\n `\n ` \n A companion ad failed to load or render. \n\n #### Declaration\n\n Swift \n\n case COMPANION_AD_LOADING_FAILED = 603\n\n Objective-C \n\n kIMAError_COMPANION_AD_LOADING_FAILED = 603\n\n- `\n ``\n ``\n `\n\n ### [kIMAError_UNKNOWN_ERROR](#/c:@E@IMAErrorCode@kIMAError_UNKNOWN_ERROR)\n\n `\n ` \n An unexpected error occurred and the cause is not known. Refer to the\n inner error for more information. \n\n #### Declaration\n\n Swift \n\n case UNKNOWN_ERROR = 900\n\n Objective-C \n\n kIMAError_UNKNOWN_ERROR = 900\n\n- `\n ``\n ``\n `\n\n ### [kIMAError_PLAYLIST_MALFORMED_RESPONSE](#/c:@E@IMAErrorCode@kIMAError_PLAYLIST_MALFORMED_RESPONSE)\n\n `\n ` \n Ads list response was malformed. \n\n #### Declaration\n\n Swift \n\n case PLAYLIST_MALFORMED_RESPONSE = 1004\n\n Objective-C \n\n kIMAError_PLAYLIST_MALFORMED_RESPONSE = 1004\n\n- `\n ``\n ``\n `\n\n ### [kIMAError_FAILED_TO_REQUEST_ADS](#/c:@E@IMAErrorCode@kIMAError_FAILED_TO_REQUEST_ADS)\n\n `\n ` \n There was a problem requesting ads from the server. \n\n #### Declaration\n\n Swift \n\n case FAILED_TO_REQUEST_ADS = 1005\n\n Objective-C \n\n kIMAError_FAILED_TO_REQUEST_ADS = 1005\n\n- `\n ``\n ``\n `\n\n ### [kIMAError_REQUIRED_LISTENERS_NOT_ADDED](#/c:@E@IMAErrorCode@kIMAError_REQUIRED_LISTENERS_NOT_ADDED)\n\n `\n ` \n Listener for at least one of the required vast events was not added. \n\n #### Declaration\n\n Swift \n\n case REQUIRED_LISTENERS_NOT_ADDED = 1006\n\n Objective-C \n\n kIMAError_REQUIRED_LISTENERS_NOT_ADDED = 1006\n\n- `\n ``\n ``\n `\n\n ### [kIMAError_VAST_ASSET_NOT_FOUND](#/c:@E@IMAErrorCode@kIMAError_VAST_ASSET_NOT_FOUND)\n\n `\n ` \n No assets were found in the VAST ad response. \n\n #### Declaration\n\n Swift \n\n case VAST_ASSET_NOT_FOUND = 1007\n\n Objective-C \n\n kIMAError_VAST_ASSET_NOT_FOUND = 1007\n\n- `\n ``\n ``\n `\n\n ### [kIMAError_ADSLOT_NOT_VISIBLE](#/c:@E@IMAErrorCode@kIMAError_ADSLOT_NOT_VISIBLE)\n\n `\n ` \n The ad slot is not visible on the page. \n\n #### Declaration\n\n Swift \n\n case ADSLOT_NOT_VISIBLE = 1008\n\n Objective-C \n\n kIMAError_ADSLOT_NOT_VISIBLE = 1008\n\n- `\n ``\n ``\n `\n\n ### [kIMAError_VAST_EMPTY_RESPONSE](#/c:@E@IMAErrorCode@kIMAError_VAST_EMPTY_RESPONSE)\n\n `\n ` \n A VAST response containing a single `\u003cVAST\u003e` tag with no\n child tags. \n\n #### Declaration\n\n Swift \n\n case VAST_EMPTY_RESPONSE = 1009\n\n Objective-C \n\n kIMAError_VAST_EMPTY_RESPONSE = 1009\n\n- `\n ``\n ``\n `\n\n ### [kIMAError_FAILED_LOADING_AD](#/c:@E@IMAErrorCode@kIMAError_FAILED_LOADING_AD)\n\n `\n ` \n There was an error loading the ad. \n\n #### Declaration\n\n Swift \n\n case FAILED_LOADING_AD = 1010\n\n Objective-C \n\n kIMAError_FAILED_LOADING_AD = 1010\n\n- `\n ``\n ``\n `\n\n ### [kIMAError_STREAM_INITIALIZATION_FAILED](#/c:@E@IMAErrorCode@kIMAError_STREAM_INITIALIZATION_FAILED)\n\n `\n ` \n There was an error initializing the stream. \n\n #### Declaration\n\n Swift \n\n case STREAM_INITIALIZATION_FAILED = 1020\n\n Objective-C \n\n kIMAError_STREAM_INITIALIZATION_FAILED = 1020\n\n- `\n ``\n ``\n `\n\n ### [kIMAError_INVALID_ARGUMENTS](#/c:@E@IMAErrorCode@kIMAError_INVALID_ARGUMENTS)\n\n `\n ` \n Invalid arguments were provided to SDK methods. \n\n #### Declaration\n\n Swift \n\n case INVALID_ARGUMENTS = 1101\n\n Objective-C \n\n kIMAError_INVALID_ARGUMENTS = 1101\n\n- `\n ``\n ``\n `\n\n ### [kIMAError_API_ERROR](#/c:@E@IMAErrorCode@kIMAError_API_ERROR)\n\n `\n ` \n Generic invalid usage of the API. \n\n #### Declaration\n\n Swift \n\n case API_ERROR = 1102\n\n Objective-C \n\n kIMAError_API_ERROR = 1102\n\n- `\n ``\n ``\n `\n\n ### [kIMAError_OS_RUNTIME_TOO_OLD](#/c:@E@IMAErrorCode@kIMAError_OS_RUNTIME_TOO_OLD)\n\n `\n ` \n The version of the runtime is too old. \n\n #### Declaration\n\n Swift \n\n case OS_RUNTIME_TOO_OLD = 1103\n\n Objective-C \n\n kIMAError_OS_RUNTIME_TOO_OLD = 1103\n\n- `\n ``\n ``\n `\n\n ### [kIMAError_VIDEO_ELEMENT_USED](#/c:@E@IMAErrorCode@kIMAError_VIDEO_ELEMENT_USED)\n\n `\n ` \n Another VideoAdsManager is still using the video. It must be unloaded\n before another ad can play on the same element. \n\n #### Declaration\n\n Swift \n\n case VIDEO_ELEMENT_USED = 1201\n\n Objective-C \n\n kIMAError_VIDEO_ELEMENT_USED = 1201\n\n- `\n ``\n ``\n `\n\n ### [kIMAError_VIDEO_ELEMENT_REQUIRED](#/c:@E@IMAErrorCode@kIMAError_VIDEO_ELEMENT_REQUIRED)\n\n `\n ` \n A video element was not specified where it was required. \n\n #### Declaration\n\n Swift \n\n case VIDEO_ELEMENT_REQUIRED = 1202\n\n Objective-C \n\n kIMAError_VIDEO_ELEMENT_REQUIRED = 1202\n\n- `\n ``\n ``\n `\n\n ### [kIMAError_CONTENT_PLAYHEAD_MISSING](#/c:@E@IMAErrorCode@kIMAError_CONTENT_PLAYHEAD_MISSING)\n\n `\n ` \n Content playhead was not passed in, but list of ads has been returned\n from the server. \n\n #### Declaration\n\n Swift \n\n case CONTENT_PLAYHEAD_MISSING = 1205\n\n Objective-C \n\n kIMAError_CONTENT_PLAYHEAD_MISSING = 1205"]]