Оптимизируйте свои подборки
Сохраняйте и классифицируйте контент в соответствии со своими настройками.
Режимы работы SDK
SDK может работать в одном или нескольких режимах в зависимости от ответа на рекламу, который он получает от рекламного сервера.
Одиночное объявление
Объявление, которое можно воспроизвести в любой момент после отправки start сообщения в IMAAdsManager . Для воспроизведения одного объявления не требуется никакой специальной инициализации.
Рекламный блок
Несколько объявлений, которые воспроизводятся последовательно, когда start сообщение отправляется в IMAAdsManager . Для воспроизведения одного рекламного модуля не требуется никакой специальной инициализации.
Правила рекламы
Плейлист с рекламными паузами, запланированными в определенное время для определенного контента. start сообщение игнорируется в режиме правил объявлений. В одном плейлисте может быть запланировано несколько рекламных пауз (например, в начале, в середине и после ролика). Дополнительные сведения о реализации см. в разделе «Правила для объявлений» ниже.
Правила рекламы
IMA iOS SDK поддерживает полностью автоматизированные плейлисты с рекламой. Эта функция вставляет рекламные паузы в контент, как указано в Google Ad Manager при размещении ваших объявлений. Это также значительно упрощает код видеоплеера, необходимый для поддержки рекламных пауз, включая предварительные, средние и последующие ролики.
При размещении объявлений в Менеджере рекламы можно указать различные правила для рекламы, например «всегда воспроизводить рекламную паузу в начале контента» или «воспроизводить одноминутную рекламную паузу каждые 30 минут контента».
При запросе рекламы рекламный сервер может вернуть список воспроизведения рекламы. SDK обрабатывает список воспроизведения и автоматически планирует указанные рекламные паузы.
При инициализации AdsManager объект IMAContentPlayhead передается через вызов initializeWithContentPlayhead:adsRenderingSettings: Если вы используете AVPlayer для отображения своего контента, вы передаете экземпляр IMAAVPlayerContentPlayhead в SDK при создании adDisplayContainer . Этот объект используется для отслеживания хода воспроизведения контента, поэтому рекламные паузы автоматически вставляются в время, указанное в Менеджере рекламы.
Реализуйте currentTime , чтобы вернуть текущее время вашего видеоплеера.
Измените вызов инициализации IMAAdsManager , чтобы использовать initializeWithContentPlayhead:self .
IMAAdsManagerDelegate используется для приостановки и возобновления контента во время воспроизведения рекламных пауз.
Примечание. Когда воспроизведение контента завершено или пользователь остановил воспроизведение, обязательно вызовите contentComplete в IMAAdsLoader , чтобы сообщить SDK о завершении воспроизведения контента. Затем SDK воспроизводит рекламную паузу после ролика, если она запланирована. Событие ALL_ADS_COMPLETED возникает после воспроизведения всех рекламных пауз. Кроме того, обратите внимание, что отслеживание контента начинается, когда вызывается метод initializeWithContentPlayhead:adsRenderingSettingsIMAAdsManager , и вам всегда следует вызывать initializeWithContentPlayhead:adsRenderingSettings перед воспроизведением контента.
[null,null,["Последнее обновление: 2025-08-29 UTC."],[[["\u003cp\u003eThe Google IMA iOS SDK allows you to integrate ads into your video content using a WebView for ad requests, parsing, tracking, and rendering.\u003c/p\u003e\n"],["\u003cp\u003eIt supports three main operation modes: single ad, ad pod (multiple ads played back-to-back), and ad rules for scheduled ad breaks.\u003c/p\u003e\n"],["\u003cp\u003eAd rules simplify ad integration by automating ad playlist management based on Google Ad Manager settings, requiring an \u003ccode\u003eIMAContentPlayhead\u003c/code\u003e for content tracking.\u003c/p\u003e\n"],["\u003cp\u003eThe SDK utilizes the \u003ccode\u003eIMAAdsManagerDelegate\u003c/code\u003e to control content playback during ad breaks and requires signaling content completion via \u003ccode\u003econtentComplete\u003c/code\u003e for post-roll ads.\u003c/p\u003e\n"]]],[],null,["# Automate ad playlists\n\n| **Note:** The iOS SDK uses a WebView to load a JavaScript back end. This WebView is used to make ad requests, parse responses, ping tracking URLs, and render the ad UI.\n\nSDK operation modes\n-------------------\n\nThe SDK can operate in one or more modes, depending on the ad response it receives from the ad\nserver.\n\nSingle ad\n: An ad that can be played at any time when the `start`\n message is sent to the `IMAAdsManager`. No special initialization\n is necessary to play a single ad.\n:\n\nAd pod\n: Several ads that play back to back when the `start` message is sent to\n the `IMAAdsManager`. No special initialization is necessary to\n play a single ad pod.\n\nAd rules\n: A playlist of ad breaks scheduled at certain times against particular\n content. The `start` message is ignored in ad rules mode. There can\n be several ad breaks scheduled within a single playlist (e.g., pre-roll,\n mid-roll, post-roll). For further implementation details, see the\n [Ad Rules](#ad-rules) section below.\n\nAd rules\n--------\n\nIMA iOS\nSDK supports fully automated ad playlists. This feature\ninserts ad breaks into the content as specified in\n[Google Ad Manager](//admanager.google.com/)\nwhen trafficking your ads. It also greatly simplifies the video player code\nnecessary to support ad breaks, including pre-rolls, mid-rolls, and post-rolls.\n\n- When trafficking ads in Ad Manager, it is possible to specify various ad rules like \"always play ad break at the beginning of the content\" or \"play a one-minute ad break every 30 minutes of content\".\n- When ads are requested, the ad server can return an ad playlist. The SDK processes the playlist and automatically schedules the ad breaks that have been specified.\n- When initializing the `AdsManager`, an `IMAContentPlayhead` object is passed in via the `initializeWithContentPlayhead:adsRenderingSettings:` call. If you are using an AVPlayer to display your content, you pass an instance of `IMAAVPlayerContentPlayhead` to the SDK when you create your `adDisplayContainer`. This object is used to track the progress of the content playback so ad breaks are automatically inserted at the times specified in Ad Manager. \n\n **With AVPlayer:** \n\n ```objective-c\n IMAContentPlayhead *contentPlayhead =\n [[IMAAVPlayerContentPlayhead alloc] initWithAVPlayer:self.contentAVPlayer];\n IMAAdsRequest *request = [[IMAAdsRequest alloc] initWithAdTagUrl:adTagUrl\n adDisplayContainer:adDisplayContainer\n contentPlayhead:contentPlayhead\n userContext:nil];\n ```\n\n **Without AVPlayer:**\n 1. Implement the `IMAContentPlayhead` interface.\n 2. Implement `currentTime` to return the current time of your video player.\n 3. Change the `IMAAdsManager` initialization call to use `initializeWithContentPlayhead:self`.\n- The [IMAAdsManagerDelegate](/interactive-media-ads/docs/sdks/ios/client-side/reference/Protocols/IMAAdsManagerDelegate) is used to pause and resume the content as ad breaks are played.\n\n**Note:** When the content has finished playing or\nthe user has stopped playback, be sure to call `contentComplete`\non the `IMAAdsLoader` in order to signal to the SDK that the content\nhas finished playing. The SDK then plays the post-roll ad break, if one has been scheduled.\nThe `ALL_ADS_COMPLETED` event is raised when all ad breaks have\nbeen played. In addition, note that content tracking begins when\n`IMAAdsManager`'s `initializeWithContentPlayhead:adsRenderingSettings`\nmethod is called and you should always call `initializeWithContentPlayhead:adsRenderingSettings`\nbefore playing content."]]