Ön koşullar
- Yerel reklam biçimini entegre edin.
GADMediaContent
Yerel reklamlar, video veya resim olabilecek medya içeriği hakkında bilgi edinmek için kullanılan bir GADMediaContent
sınıfına erişim sağlar. Ayrıca, oynatma etkinliklerini dinleyerek video reklam oynatmayı kontrol etmek için de kullanılır. Reklamdaki .mediaContent
mülkü aracılığıyla medya içeriği nesnesine erişebilirsiniz.
GADMediaContent
nesnesi, videonun en boy oranı ve süresi gibi bilgileri içerir. Aşağıdaki snippet'te, doğal bir reklamın en boy oranının ve süresinin nasıl alınacağı gösterilmektedir.
Swift
if myNativeAd.mediaContent.hasVideoContent { let mediaAspectRatio = CGFloat(myNativeAd.mediaContent.aspectRatio) let duration = myNativeAd.mediaContent.duration ... }
Objective-C
if(myNativeAd.mediaContent.hasVideoContent) { CGFloat mediaAspectRatio = myNativeAd.mediaContent.aspectRatio; NSTimeInterval duration = myNativeAd.mediaContent.duration; ... }
GADVideoController
GADMediaContent
nesnesi, GADVideoController
nesnesine referans veriyor. GADVideoController
nesnesi, yayıncıların video etkinliklerine yanıt vermesine olanak tanır.
Satır öğeleri aracılığıyla yayınlanan reklamlar GADVideoController
ile de kontrol edilebilir.
Bu GADVideoController
nesnesi, GADMediaContent.videoController
çağrısı yapılarak elde edilebilir.
Video etkinlikleri için geri çağırma işlevleri
Belirli video etkinliklerini işlemek için GADVideoControllerDelegate
protokolünü uygulayan bir sınıf yazmanız gerekir. Protokolün tüm yöntemleri isteğe bağlıdır.
Aşağıdaki örnekte, temsilci protokolünün nasıl uygulanacağı gösterilmektedir:
Swift
class ViewController: GADNativeAdLoaderDelegate, GADVideoControllerDelegate { private var adLoader: GADAdLoader? func viewDidLoad() { super.viewDidLoad() let videoOptions = GADVideoOptions() videoOptions.customControlsRequested = true adLoader = GADAdLoader( adUnitID: "ca-app-pub-3940256099942544/3986624511", rootViewController: self, adTypes: [GADAdLoaderAdTypeNative], options: [videoOptions]) adLoader?.delegate = self adLoader?.load(GADRequest()) } func adLoader( _ adLoader: GADAdLoader?, didReceive nativeAd: GADNativeAd? ) { // Set the videoController's delegate to be notified of video events. nativeAd?.mediaContent.videoController.delegate = self } // GADVideoControllerDelegate methods func videoControllerDidPlayVideo(_ videoController: GADVideoController) { // Implement this method to receive a notification when the video controller // begins playing the ad. } func videoControllerDidPauseVideo(_ videoController: GADVideoController) { // Implement this method to receive a notification when the video controller // pauses the ad. } func videoControllerDidEndVideoPlayback(_ videoController: GADVideoController) { // Implement this method to receive a notification when the video controller // stops playing the ad. } func videoControllerDidMuteVideo(_ videoController: GADVideoController) { // Implement this method to receive a notification when the video controller // mutes the ad. } func videoControllerDidUnmuteVideo(_ videoController: GADVideoController) { // Implement this method to receive a notification when the video controller // unmutes the ad. } }
Objective-C
@interface ViewController () <GADNativeAdLoaderDelegate, GADVideoControllerDelegate> @property(nonatomic, strong) GADAdLoader *adLoader; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; GADVideoOptions *videoOptions = [[GADVideoOptions alloc] init]; videoOptions.customControlsRequested = YES; self.adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"ca-app-pub-3940256099942544/3986624511" rootViewController:self adTypes:@[ GADAdLoaderAdTypeNative ] options:@[ videoOptions ]]; self.adLoader.delegate = self; [self.adLoader loadRequest:[GAMRequest request]]; } - (void)adLoader:(GADAdLoader *)adLoader didReceiveNativeAd:(GADNativeAd *)nativeAd { // Set the videoController's delegate to be notified of video events. nativeAd.mediaContent.videoController.delegate = self; } // GADVideoControllerDelegate methods - (void)videoControllerDidPlayVideo:(nonnull GADVideoController *)videoController { // Implement this method to receive a notification when the video controller // begins playing the ad. } - (void)videoControllerDidPauseVideo:(nonnull GADVideoController *)videoController { // Implement this method to receive a notification when the video controller // pauses the ad. } - (void)videoControllerDidEndVideoPlayback:(nonnull GADVideoController *)videoController { // Implement this method to receive a notification when the video controller // stops playing the ad. } - (void)videoControllerDidMuteVideo:(nonnull GADVideoController *)videoController { // Implement this method to receive a notification when the video controller // mutes the ad. } - (void)videoControllerDidUnmuteVideo:(nonnull GADVideoController *)videoController { // Implement this method to receive a notification when the video controller // unmutes the ad. } @end
Yerel reklamlarınızın nasıl oluşturulacağı hakkında daha fazla bilgi için yerel reklam politikaları ve yönergelerini okuyun.