SDK quảng cáo trên thiết bị di động của Google phiên bản 8.0.0 được lên kế hoạch ra mắt vào đầu năm 2021 và kèm theo một vài thay đổi chính. Đồng thời, một số API sẽ được đổi tên cho đơn giản hơn và các API đã ngừng hoạt động sẽ bị xóa.
Các thay đổi chính
Nội dung cập nhật API theo định dạng toàn màn hình
Trong phiên bản 8.0.0, các định dạng Quảng cáo xen kẽ, Quảng cáo có tặng thưởng, Quảng cáo xen kẽ có tặng thưởng và Quảng cáo khi mở ứng dụng được chuẩn hóa để đều tuân theo mẫu thiết kế API tương tự.
Tất cả các API theo định dạng toàn màn hình đều sử dụng kiểu thiết kế sau:
- Phương thức tải tĩnh
- Cơ chế tải lệnh gọi lại hoặc trình xử lý tương tự
- Sử dụng lớp
GADFullScreenContentDelegate
để gọi lại bản trình bày
Xem hướng dẫn di chuyển sang định dạng toàn màn hình để biết thêm thông tin.
API GADRewardedBasedVideoAd cũ sẽ bị xóa
API GADRewardedAd
mới được ra mắt lần đầu
vào tháng 3 năm 2019 và đã là API có tặng thưởng được ưa thích trong hơn 18 tháng qua.
API này có một số điểm cải tiến so với API
GADRewardedBasedVideoAd
cũ, trong đó có khả năng
tải nhiều quảng cáo có tặng thưởng cùng lúc.
API cũ sẽ bị xóa trong SDK phiên bản 8.0.0.
Biểu ngữ thông minh sẽ ngừng hoạt động, thay vào đó là biểu ngữ thích ứng
Quảng cáo biểu ngữ thông minh sẽ ngừng hoạt động và thay vào đó là quảng cáo biểu ngữ thích ứng. Biểu ngữ thích ứng mang lại hiệu quả hoạt động vượt trội và tính linh hoạt cao hơn trong việc đặt chiều rộng quảng cáo. Nếu muốn tiếp tục sử dụng biểu ngữ có chiều rộng đầy đủ, bạn vẫn có thể làm vậy bằng cách sử dụng biểu ngữ thích ứng, theo cách minh họa trong đoạn mã sau đây:
Swift
class ViewController: UIViewController { override func viewDidAppear(_ animated: Bool) { super.viewDidAppear(animated) // Note: The safe area is not known until viewWillAppear. let adSize = getFullWidthAdaptiveAdSize() } func getFullWidthAdaptiveAdSize() -> GADAdSize { // Here safe area is taken into account, hence the view frame is used after the // view has been laid out. let frame = { () -> CGRect in if #available(iOS 11.0, *) { return view.frame.inset(by: view.safeAreaInsets) } else { return view.frame } }() return GADCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth(frame.size.width) } }
Objective-C
@implementation ViewController - (void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; // Note: The safe area is not known until viewWillAppear. GADAdSize adSize = [self getFullWidthAdaptiveAdSize]; } - (GADAdSize)getFullWidthAdaptiveAdSize { CGRect frame = self.view.frame; // Here safe area is taken into account, hence the view frame is used after // the view has been laid out. if (@available(iOS 11.0, *)) { frame = UIEdgeInsetsInsetRect(self.view.frame, self.view.safeAreaInsets); } return GADCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth(frame.size.width); } @end
Xóa lệnh gọi lại rời khỏi ứng dụng
Lệnh gọi lại willLeaveApplication
cho tất cả các định dạng quảng cáo đã bị xóa
và thay vào đó là
phương thức
applicationDidEnterBackground:
và
sceneDidEnterBackground:
.
Khi sử dụng API cấp hệ điều hành, bạn sẽ nhận được thông báo mỗi khi người dùng rời khỏi ứng dụng, bất kể
việc đó có phải là do một hành động tương tác với quảng cáo hay không.
Xin lưu ý rằng lệnh gọi lại willLeaveApplication
không có chức năng như một
trình xử lý lượt nhấp quảng cáo, và việc dựa vào lệnh gọi lại này để báo cáo lượt nhấp sẽ không
cung cấp chỉ số chính xác. Ví dụ: một lượt nhấp vào biểu tượng Lựa chọn quảng cáo
làm khởi chạy một trình duyệt bên ngoài đã kích hoạt lệnh gọi lại, nhưng không được tính là
một lượt nhấp.
Đổi tên các lớp
Bảng dưới đây liệt kê các lớp cụ thể đã đổi tên hoặc bị xóa trong phiên bản 8.0.0. Tóm tắt:
- Tất cả các lớp có liên quan đến
GADUnifiedNativeAd
đều đã được đổi tên thànhGADNativeAd
. GADRewardBasedVideoAd
,GADNativeExpressAdView
vàGADInstreamAd
đã bị xóa.- Tất cả các lớp có tiền tố
DFP
đều đã được thay thế bằng tiền tốGAM
.
Lớp phiên bản 7.68.0 | Lớp phiên bản 8.0.0 |
---|---|
DFPBannerView | GAMBannerView |
DFPBannerViewOptions | GAMBannerViewOptions |
DFPInterstitial | GAMInterstitialAd |
DFPRequest | GAMRequest |
GADRequestError | NSError |
GADUnifiedNativeAdView | GADNativeAdView |
GADUnifiedNativeAd | GADNativeAd |
GADUnifiedNativeAdAssetIdentifiers | GADNativeAdAssetIdentifiers |
GADUnifiedNativeAdDelegate | GADNativeAdDelegate |
GADUnifiedNativeAdUnconfirmedClickDelegate | GADNativeAdUnconfirmedClickDelegate |
GADNativeCustomTemplateAd | GADCustomNativeAd |
GADNativeCustomTemplateAdLoaderDelegate | GADCustomNativeAdLoaderDelegate |
GADNativeAdDelegate | GADCustomNativeAdDelegate |
GADAdLoaderOptions | GADAdOptions |
GADNativeAdMediaAdLoaderOptions | GADNativeAdMediaAdOptions |
GADInAppPurchase | Đã bị xóa |
GADInterstitial | GADInterstitialAd |
GADNativeExpressAdView | Đã bị xóa |
GADRewardBasedVideoAd | Đã bị xóa |
GADInstreamAd | Đã bị xóa |
GADInstreamAdView | Đã bị xóa |
Xóa/thay thế một số phương thức
Bảng dưới đây liệt kê các thay đổi cụ thể trong phiên bản 8.0.0. Tóm tắt:
- Các phương thức và thuộc tính ngừng hoạt động từ trước đều đã bị xóa.
- Phương thức ủy quyền
-willLeaveApplication:
đều đã bị xóa cho tất cả định dạng. - Tên lớp mạng quảng cáo đã di chuyển sang thuộc tính
GADResponseInfo
. - Mã nhận dạng thiết bị thử nghiệm đã di chuyển sang thuộc tính
GADRequestConfiguration
.
Lớp phiên bản 7.68.0 | API phiên bản 7.68.0 | API phiên bản 8.0.0 | Lưu ý: |
---|---|---|---|
GADMobileAds | +configureWithApplicationID: | -startWithCompletionHandler: | Mã ứng dụng hiện được đặt trong Info.plist. |
+disableAutomatedInApp |
-disableAutomatedInApp |
||
+disableSDKCrashReporting | -disableSDKCrashReporting | ||
GADRequest | testDevices | GADRequestConfiguration |
Thuộc tính testDeviceIdentifiers hiện sẽ áp dụng cho tất cả các yêu cầu quảng cáo, trong khi thuộc tính testDevices cũ được đặt theo yêu cầu. |
gender | Đã bị xóa | ||
birthday | Đã bị xóa | ||
+sdkVersion | GADMobileAds.sharedInstance |
||
-setBirthday |
Đã bị xóa | ||
-setLocationWithDescription: | -setLocationWith |
||
-tagForChildDirectedTreatment: | [GADMobileAds.sharedInstance.requestConfiguration tagForChildDirectedTreatment] | ||
GADErrorCode | kGADError* | GADError* | Tiền tố k bị loại khỏi tất cả các hằng số mã lỗi.
|
GADBannerView | hasAutoRefreshed | autoloadEnabled | |
inAppPurchaseDelegate | Đã bị xóa | ||
mediatedAdView | Đã bị xóa | ||
adNetworkClassName | responseInfo |
||
DFPBannerView | -setValidAdSizesWithSizes: | -setValidAdSizes: | |
DFPBannerViewOptions | -adSizeDelegate | Đã bị xóa | |
GADBannerViewDelegate | -adViewDidReceiveAd: | -bannerViewDidReceiveAd: | |
-adView:didFailToReceive |
-bannerView:didFailToReceive |
||
-adViewWillPresentScreen: | -bannerViewWillPresentScreen: | ||
-adViewWillDismissScreen: | -banerViewWillDismissScreen: | ||
-adViewDidDismissScreen: | -bannerViewDidDismissScreen: | ||
-adViewWillLeaveApplication: | Đã bị xóa | ||
GADNativeCustomTemplateAd | templateID | GADCustomNativeAd.formatID | |
-performClickOnAssetWithKey: |
-performClickOnAssetWithKey: | ||
GADNativeAdImageAd |
preferredImageOrientation | GADNativeAdMediaAdOptions |
|
GADInterstitial | inAppPurchaseDelegate | Đã bị xóa | |
isReady | Đã bị xóa | Thay vào đó, hãy sử dụng canPresentFrom |
|
hasBeenUsed | Đã bị xóa | ||
-init | -initWithAdUnitID: | ||
-setAdUnitID: | -initWithAdUnitID: | ||
adNetworkClassName | responseInfo |
||
-interstitialWill |
Đã bị xóa | ||
GADUnifiedNativeAd | videoController | mediaContent.videoController | |
adNetworkClassName | responseInfo |