Điều kiện tiên quyết
- Tích hợp Định dạng quảng cáo gốc.
GADMediaContent
Quảng cáo gốc cung cấp quyền truy cập vào một lớp GADMediaContent
được dùng để lấy thông tin về nội dung nghe nhìn. Nội dung này có thể là video hoặc hình ảnh. Ngoài ra
được dùng để kiểm soát việc phát lại quảng cáo video nghe các sự kiện phát lại. Bạn có thể truy cập vào đối tượng nội dung nghe nhìn thông qua thuộc tính .mediaContent
trên quảng cáo.
Chiến lược phát hành đĩa đơn
GADMediaContent
đối tượng chứa các thông tin như tỷ lệ khung hình và thời lượng của video. Chiến lược phát hành đĩa đơn
đoạn mã dưới đây cho biết cách lấy tỷ lệ khung hình và thời lượng của quảng cáo gốc.
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
Đối tượng GADMediaContent
tham chiếu đến đối tượng GADVideoController
. Đối tượng GADVideoController
cho phép nhà xuất bản phản hồi các sự kiện video.
Bạn cũng có thể kiểm soát những quảng cáo được phân phát thông qua mục riêng bằng GADVideoController
.
Bạn có thể lấy đối tượng GADVideoController
này bằng cách gọi
GADMediaContent.videoController
.
Lệnh gọi lại cho sự kiện video
Để xử lý các sự kiện video cụ thể, bạn cần viết một lớp triển khai giao thức GADVideoControllerDelegate
. Tất cả các phương thức của giao thức là không bắt buộc.
Ví dụ sau đây minh hoạ cách triển khai giao thức uỷ quyền:
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
Bạn có thể đọc Nguyên tắc và chính sách về quảng cáo gốc để biết thêm thông tin hướng dẫn về cách hiển thị quảng cáo gốc.