المتطلبات الأساسية
GADMediaContent
تتيح الإعلانات المدمجة مع المحتوى إمكانية الوصول إلى فئة GADMediaContent
تُستخدم للحصول على
معلومات عن محتوى الوسائط الذي يمكن أن يكون فيديو أو صورة. من المهم أيضًا
يُستخدم للتحكّم في تشغيل إعلان الفيديو، والاستماع إلى أحداث التشغيل. يمكنك الوصول إلى:
كائن محتوى الوسائط من خلال السمة .mediaContent
في الإعلان.
تشير رسالة الأشكال البيانية
GADMediaContent
يحتوي العنصر على معلومات مثل نسبة العرض إلى الارتفاع ومدة الفيديو. تشير رسالة الأشكال البيانية
يوضح المقتطف أدناه كيفية الحصول على نسبة العرض إلى الارتفاع والمدة لإعلان مدمج مع المحتوى.
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
إلى
GADVideoController
الخاص بك. يتيح الكائن GADVideoController
للناشرين الرد على الفيديو.
أحداث.
يمكن الحصول على كائن GADVideoController
هذا من خلال استدعاء
GADMediaContent.videoController
طلبات معاودة الاتصال لأحداث الفيديو
للتعامل مع أحداث فيديو معينة، يجب كتابة فئة تنفذ
GADVideoControllerDelegate
والبروتوكول. جميع طرق البروتوكول اختيارية.
يوضح المثال التالي كيفية تنفيذ بروتوكول التفويض:
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:[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
اطّلِع على سياسات وإرشادات الإعلانات المدمجة مع المحتوى للحصول على مزيد من الإرشادات حول كيفية عرض إعلاناتك المدمجة مع المحتوى.