Cài đặt chung

Lớp GADMobileAds cung cấp các tùy chọn cài đặt chung để kiểm soát một số thông tin nhất định được SDK quảng cáo trên thiết bị di động thu thập.

Kiểm soát âm lượng của quảng cáo video

Nếu ứng dụng của bạn có các tùy chọn kiểm soát âm lượng riêng (chẳng hạn như âm lượng hiệu ứng âm thanh hoặc âm nhạc tùy chỉnh), việc cho biết mức âm lượng của ứng dụng cho SDK quảng cáo trên thiết bị di động của Google cho phép quảng cáo video tuân thủ các tùy chọn cài đặt âm lượng của ứng dụng. Việc này đảm bảo người dùng nhận được quảng cáo video có âm lượng mong muốn.

Âm lượng của thiết bị (mà bạn có thể điều khiển thông qua các nút âm lượng hoặc thanh trượt âm lượng cấp hệ điều hành) sẽ xác định âm lượng cho đầu ra âm thanh của thiết bị. Tuy nhiên, các ứng dụng có thể độc lập điều chỉnh mức âm lượng tương ứng với âm lượng của thiết bị để điều chỉnh trải nghiệm âm thanh. Bạn có thể báo cáo âm lượng ứng dụng tương ứng cho SDK quảng cáo trên thiết bị di động của Google bằng cách đặt thuộc tính applicationVolume. Các giá trị âm lượng hợp lệ của quảng cáo nằm trong khoảng từ 0.0 (im lặng) đến 1.0 (âm lượng hiện tại của thiết bị). Dưới đây là một ví dụ về cách báo cáo âm lượng ứng dụng tương ứng cho SDK:

Swift

func viewDidLoad() {
  super.viewDidLoad()
  // Set app volume to be half of the current device volume.
  GADMobileAds.sharedInstance().applicationVolume = 0.5
  ...
}

Objective-C

- (void)viewDidLoad {
  [super viewDidLoad];
  // Set app volume to be half of the current device volume.
  [GADMobileAds sharedInstance].applicationVolume = 0.5;
  ...
}

Để thông báo cho SDK quảng cáo trên thiết bị di động của Google biết đã tắt tiếng âm lượng ứng dụng, hãy đặt thuộc tính applicationMuted như được hiển thị bên dưới:

Swift

GADMobileAds.sharedInstance().applicationMuted = true

Objective-C

[GADMobileAds sharedInstance].applicationMuted = YES;

Khi được bật, âm lượng ứng dụng sẽ trở lại mức âm lượng đã đặt trước đó. Theo mặc định, âm lượng của ứng dụng cho SDK quảng cáo trên thiết bị di động của Google sẽ được đặt thành 1 (mức âm lượng hiện tại của thiết bị).

Thay đổi phiên âm thanh

Các phiên âm thanh cho phép bạn thể hiện cho hệ thống biết ý định của bạn về hành vi âm thanh của ứng dụng. Bạn có thể tìm thêm thông tin về các phiên âm thanh trong Hướng dẫn lập trình phiên âm thanh của Apple. Các tùy chọn có thể sử dụng để quản lý âm thanh SDK quảng cáo trên thiết bị di động của Google phải hoạt động thông qua thuộc tính audioVideoManager.

Nếu không sử dụng âm thanh trong ứng dụng, bạn không cần sử dụng các API này. SDK quảng cáo trên thiết bị di động của Google sẽ tự động quản lý danh mục phiên ứng dụng khi phát âm thanh. Nếu bạn phát âm thanh trong ứng dụng và bạn muốn kiểm soát chặt chẽ hơn cách thức cũng như thời điểm SDK quảng cáo trên thiết bị di động của Google phát âm thanh, thì các API này có thể hữu ích.

Trên trình quản lý video âm thanh, bạn có thể đặt thuộc tính audioSessionIsApplicationManaged thành YES nếu muốn tự chịu trách nhiệm về việc quản lý danh mục phiên âm thanh.

Nếu cần quản lý danh mục phiên âm thanh, bạn nên triển khai GADAudioVideoManagerDelegate và đặt thuộc tính delegate trên trình quản lý video âm thanh để được thông báo về các sự kiện phát lại âm thanh cũng như video quảng cáo. Sau đó, bạn nên thay đổi danh mục phiên âm thanh thành danh mục có liên quan theo Hướng dẫn lập trình phiên âm thanh của Apple được liên kết ở trên.

Dưới đây là mẫu mã được đơn giản hóa có thể hiển thị phương pháp đề xuất nếu ứng dụng của bạn phát nhạc, bằng cách sử dụng các API ở trên.

Swift

func setUp() {
    GADMobileAds.sharedInstance().audioVideoManager.delegate = self
    GADMobileAds.sharedInstance().audioVideoManager.audioSessionIsApplicationManaged = false
}
func myAppWillStartPlayingMusic() {
    // Mutes all Google video ads.
    GADMobileAds.sharedInstance().audioVideoManager.audioSessionIsApplicationManaged = true
    GADMobileAds.sharedInstance().applicationMuted = true
}
func myAppDidStopPlayingMusic() {
    // Un-mutes all of our video ads.
    GADMobileAds.sharedInstance().audioVideoManager.audioSessionIsApplicationManaged = false
    GADMobileAds.sharedInstance().applicationMuted = false
}

// MARK: - GADAudioVideoManagerDelegate
func audioVideoManagerWillPlayAudio(_ audioVideoManager: GADAudioVideoManager) {
    // The mobile ads SDK is notifying your app that it will play audio. You
    // could optionally pause music depending on your apps design.
    MyAppObject.sharedInstance().pauseAllMusic()
}

func audioVideoManagerDidStopPlayingAudio(_ audioVideoManager: GADAudioVideoManager) {
    // The mobile ads SDK is notifying your app that it has stopped playing
    // audio. Depending on your design, you could resume music here.
    MyAppObject.sharedInstance().resumeAllMusic()
}

Objective-C

- (void)setUp {
  [GADMobileAds sharedInstance].audioVideoManager.delegate = self;
  [GADMobileAds sharedInstance].audioVideoManager.audioSessionIsApplicationManaged = NO;
}

- (void)myAppWillStartPlayingMusic {
  // Mutes all Google video ads.
  [GADMobileAds sharedInstance].audioVideoManager.audioSessionIsApplicationManaged =
  YES;
  [GADMobileAds sharedInstance].applicationMuted = YES;
}
- (void)myAppDidStopPlayingMusic {
  // Un-mutes all of our video ads.
  [GADMobileAds sharedInstance].audioVideoManager.audioSessionIsApplicationManaged =
  NO;
  [GADMobileAds sharedInstance].applicationMuted = NO;
}

#pragma mark - GADAudioVideoManagerDelegate

- (void)audioVideoManagerWillPlayAudio:(GADAudioVideoManager *)audioVideoManager {
  // The mobile ads SDK is notifying your app that it will play audio. You
  // could optionally pause music depending on your apps design.
  [[MyAppObject sharedInstance] pauseAllMusic];
}

- (void)audioVideoManagerDidStopPlayingAudio:(GADAudioVideoManager *)audioVideoManager {
    // The mobile ads SDK is notifying your app that it has stopped playing
    // audio. Depending on your design, you could resume music here.
  [[MyAppObject sharedInstance] resumeAllMusic];
}

Báo cáo giao dịch mua hàng trong ứng dụng

Để giúp tăng doanh thu giao dịch mua hàng trong ứng dụng và tối đa hóa tổng doanh thu do ứng dụng của bạn tạo ra, giờ đây, SDK quảng cáo trên thiết bị di động sẽ tự động thu thập thông tin chung về giao dịch mua hàng trong ứng dụng (IAP) (chẳng hạn như đơn vị tiền tệ và giá mặt hàng). Bây giờ, bạn sẽ không phải triển khai thêm logic để tự theo dõi các lượt chuyển đổi IAP. Nếu là nhà phát triển AdMob, bạn nên sử dụng chức năng mới này để được hưởng những lợi ích từ các dịch vụ kiếm tiền thông minh của AdMob. Bạn phải luôn bật tùy chọn cài đặt báo cáo IAP này nếu đang chạy quảng cáo mua hàng trong ứng dụng cho cùng một công ty (hiện đang ở giai đoạn beta có giới hạn). Việc này là cần thiết để hỗ trợ báo cáo các lượt chuyển đổi quảng cáo IAP cho cùng một công ty.

Trong bản phát hành SDK mới nhất, hệ thống đã bật tính năng báo cáo mua hàng trong ứng dụng theo mặc định. Tuy nhiên, nếu muốn, bạn có thể tắt tính năng này bằng cách sử dụng phương thức disableAutomatedInAppPurchaseReporting (trừ khi bạn đang chạy quảng cáo IAP cho cùng một công ty, như đã nêu ở trên). Thời điểm tốt nhất để gọi phương thức này là khi ứng dụng khởi chạy:

Swift

AppDelegate.swift

func application(application: UIApplication,
    didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
  GADMobileAds.disableAutomatedInAppPurchaseReporting()
  return true
}

Objective-C

AppDelegate.m
- (BOOL)application:(UIApplication *)application
    didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
  [GADMobileAds disableAutomatedInAppPurchaseReporting];
  return YES;
}

Báo cáo sự cố

SDK quảng cáo trên thiết bị di động kiểm tra các trường hợp ngoại lệ xảy ra trong một ứng dụng iOS và ghi lại nếu các trường hợp đó do SDK gây ra. Chúng tôi thu thập các trường hợp ngoại lệ này để có thể ngăn chặn chúng trong các phiên bản SDK trong tương lai.

Trong bản phát hành SDK mới nhất, hệ thống đã bật tính năng báo cáo sự cố theo mặc định. Nếu không muốn chúng tôi ghi lại các trường hợp ngoại lệ liên quan đến SDK, bạn có thể tắt tính năng này bằng cách gọi phương thức disableSDKCrashReporting. Thời điểm tốt nhất để gọi phương thức này là khi ứng dụng khởi chạy:

Swift

AppDelegate.swift

func application(application: UIApplication,
    didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
  GADMobileAds.disableSDKCrashReporting()
  return true
}

Objective-C

AppDelegate.m
- (BOOL)application:(UIApplication *)application
    didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
  [GADMobileAds disableSDKCrashReporting];
  return YES;
}