المتطلبات الأساسية
- دمج شكل "الإعلان المدمج مع المحتوى"
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: NativeAdLoaderDelegate, VideoControllerDelegate { private var adLoader: AdLoader? func viewDidLoad() { super.viewDidLoad() let videoOptions = VideoOptions() videoOptions.customControlsRequested = true adLoader = AdLoader( adUnitID: "ca-app-pub-3940256099942544/3986624511", rootViewController: self, adTypes: [.native], options: [videoOptions]) adLoader?.delegate = self adLoader?.load(Request()) } func adLoader( _ adLoader: AdLoader?, didReceive nativeAd: NativeAd? ) { // Set the videoController's delegate to be notified of video events. nativeAd?.mediaContent.videoController.delegate = self } // VideoControllerDelegate methods func videoControllerDidPlayVideo(_ videoController: VideoController) { // Implement this method to receive a notification when the video controller // begins playing the ad. } func videoControllerDidPauseVideo(_ videoController: VideoController) { // Implement this method to receive a notification when the video controller // pauses the ad. } func videoControllerDidEndVideoPlayback(_ videoController: VideoController) { // Implement this method to receive a notification when the video controller // stops playing the ad. } func videoControllerDidMuteVideo(_ videoController: VideoController) { // Implement this method to receive a notification when the video controller // mutes the ad. } func videoControllerDidUnmuteVideo(_ videoController: VideoController) { // 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
يُرجى قراءة سياسات وإرشادات "الإعلانات المدمجة مع المحتوى" للحصول على مزيد من الإرشادات حول كيفية عرض "الإعلانات المدمجة مع المحتوى".