Ürünlerimiz hakkında görüşlerinizi paylaşmak ve geri bildirimde bulunmak için Google Advertising and Measurement Community sunucusundaki resmi Ad Manager Discord kanalına katılın.
SDK, reklam sunucusundan aldığı reklam yanıtına bağlı olarak bir veya daha fazla modda çalışabilir.
Tek reklam
Mesaj startIMAAdsManager gönderildiğinde dilediğiniz zaman oynatılabilen bir reklam. Tek bir reklamın oynatılması için özel bir başlatma işlemi gerekmez.
Reklam kapsülü
start mesajı IMAAdsManager adresine gönderildiğinde arka arkaya oynatılan birkaç reklam. Tek bir reklam kapsülü oynatmak için özel bir başlatma işlemi gerekmez.
Reklam kuralları
Belirli içeriklere karşı belirli zamanlarda planlanmış reklam aralarından oluşan bir oynatma listesi. start mesajı, reklam kuralları modunda yoksayılır. Tek bir oynatma listesinde planlanmış birkaç reklam arası olabilir (ör. videodan önce gösterilen reklam, videonun ortasında gösterilen reklam, videodan sonra gösterilen reklam). Uygulamayla ilgili daha fazla bilgi için aşağıdaki Reklam Kuralları bölümüne bakın.
Reklam kuralları
IMA
tvOS SDK'sı, tamamen otomatik reklam oynatma listelerini destekler. Bu özellik, reklamlarınız trafiğe eklenirken Google Ad Manager'da belirtildiği şekilde içeriğe reklam araları ekler. Ayrıca, videodan önce gösterilen reklamlar, videonun ortasında gösterilen reklamlar ve videodan sonra gösterilen reklamlar dahil olmak üzere reklam aralarını desteklemek için gereken video oynatıcı kodunu büyük ölçüde basitleştirir.
Ad Manager'da reklam trafiği oluştururken "içeriğin başında her zaman reklam arası oynat" veya "her 30 dakikalık içerikte bir dakikalık reklam arası oynat" gibi çeşitli reklam kuralları belirleyebilirsiniz.
Reklam istendiğinde reklam sunucusu bir reklam oynatma listesi döndürebilir. SDK, oynatma listesini işler ve belirtilen reklam aralarını otomatik olarak planlar.
AdsManager başlatılırken IMAContentPlayhead
nesnesi initializeWithContentPlayhead:adsRenderingSettings:
çağrısı üzerinden iletilir. İçeriğinizi göstermek için AVPlayer kullanıyorsanız IMAAVPlayerContentPlayhead örneğini adDisplayContainer oluştururken SDK'ya iletirsiniz. Bu nesne, içerik oynatma ilerlemesini izlemek için kullanılır. Böylece reklam araları, Ad Manager'da belirtilen zamanlarda otomatik olarak eklenir.
Video oynatıcınızın geçerli saatini döndürmek için currentTime uygulayın.
IMAAdsManager başlatma çağrısını initializeWithContentPlayhead:self kullanacak şekilde değiştirin.
Reklam araları oynatılırken içeriği duraklatmak ve devam ettirmek için IMAAdsManagerDelegate kullanılır.
Not: İçerik oynatıldıktan sonra veya kullanıcı oynatmayı durdurduktan sonra, içeriğin oynatılmasının tamamlandığını SDK'ya bildirmek için contentCompleteIMAAdsLoader üzerinde çağrıldığından emin olun. SDK daha sonra, planlanmışsa videodan sonra gösterilen reklam arasını oynatır.
Tüm reklam araları oynatıldığında ALL_ADS_COMPLETED etkinliği tetiklenir. Ayrıca, içerik izlemenin IMAAdsManager'nın initializeWithContentPlayhead:adsRenderingSettings yöntemi çağrıldığında başladığını ve içeriği oynatmadan önce her zaman initializeWithContentPlayhead:adsRenderingSettings'ı çağırmanız gerektiğini unutmayın.
[null,null,["Son güncelleme tarihi: 2025-09-06 UTC."],[[["\u003cp\u003eThe tvOS SDK utilizes a WebView for ad requests, parsing responses, tracking, and rendering the ad UI.\u003c/p\u003e\n"],["\u003cp\u003eIt supports various ad formats including single ads, ad pods, and ad rules (playlists of ad breaks).\u003c/p\u003e\n"],["\u003cp\u003eAd rules, managed through Google Ad Manager, allow for automated ad insertion at designated times within the content.\u003c/p\u003e\n"],["\u003cp\u003eThe SDK uses \u003ccode\u003eIMAContentPlayhead\u003c/code\u003e, which integrates with AVPlayer or a custom implementation, to synchronize ad breaks with content playback.\u003c/p\u003e\n"],["\u003cp\u003eUpon content completion, calling \u003ccode\u003econtentComplete\u003c/code\u003e on \u003ccode\u003eIMAAdsLoader\u003c/code\u003e triggers any scheduled post-roll ads and signals the completion of all ads.\u003c/p\u003e\n"]]],[],null,["Select platform: [HTML5](/interactive-media-ads/docs/sdks/html5/client-side/ad-rules \"View this page for the HTML5 platform docs.\") [Android](/interactive-media-ads/docs/sdks/android/client-side/ad-rules \"View this page for the Android platform docs.\") [iOS](/interactive-media-ads/docs/sdks/ios/client-side/ad-rules \"View this page for the iOS platform docs.\") [tvOS](/interactive-media-ads/docs/sdks/tvos/client-side/ad-rules \"View this page for the tvOS platform docs.\")\n| **Note:** The tvOS 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\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\nIMA\ntvOS SDK 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/tvos/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."]]