پیش نیازها
- قالب تبلیغات بومی را ادغام کنید.
GADMediaContent
تبلیغات بومی دسترسی به کلاس GADMediaContent
را فراهم می کند که برای دریافت اطلاعات در مورد محتوای رسانه ای که می تواند یک ویدیو یا یک تصویر باشد، استفاده می شود. همچنین برای کنترل پخش آگهی ویدیویی گوش دادن برای رویدادهای پخش استفاده می شود. شما می توانید از طریق ویژگی .mediaContent
در آگهی به شی محتوای رسانه دسترسی داشته باشید.
شی GADMediaContent
حاوی اطلاعاتی مانند نسبت ابعاد و مدت زمان ویدیو است. قطعه زیر نحوه دریافت نسبت ابعاد و مدت زمان یک آگهی بومی را نشان می دهد.
سویفت
if myNativeAd.mediaContent.hasVideoContent { let mediaAspectRatio = CGFloat(myNativeAd.mediaContent.aspectRatio) let duration = myNativeAd.mediaContent.duration ... }
هدف-C
if(myNativeAd.mediaContent.hasVideoContent) { CGFloat mediaAspectRatio = myNativeAd.mediaContent.aspectRatio; NSTimeInterval duration = myNativeAd.mediaContent.duration; ... }
GADVideoController
شی GADMediaContent
به یک شی GADVideoController
اشاره دارد. شی GADVideoController
به ناشران اجازه می دهد تا به رویدادهای ویدیویی پاسخ دهند.
این شی GADVideoController
را می توان با فراخوانی GADMediaContent.videoController
به دست آورد.
پاسخ به تماس برای رویدادهای ویدیویی
برای مدیریت رویدادهای ویدیویی خاص، باید کلاسی بنویسید که پروتکل GADVideoControllerDelegate
را پیاده سازی کند. روش های پروتکل همه اختیاری هستند.
مثال زیر نحوه پیاده سازی پروتکل delegate را نشان می دهد:
سویفت
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. } }
هدف-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:[GADRequest 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
برای راهنمایی بیشتر در مورد نحوه ارائه تبلیغات بومی خود، خطمشیها و دستورالعملهای تبلیغات بومی را بخوانید.