Cài đặt chung

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

Chế độ kiểm soát âm lượng của quảng cáo dạng video

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

Âm lượng của thiết bị (mà bạn có thể kiểm soát 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ể tự điều chỉnh mức âm lượng tương ứng với mức âm lượng của thiết bị để điều chỉnh trải nghiệm âm thanh.

Đối với các định dạng Quảng cáo khi mở ứng dụng, Quảng cáo biểu ngữ, Quảng cáo xen kẽ, Quảng cáo có tặng thưởng và Quảng cáo xen kẽ có tặng thưởng, bạn có thể báo cáo âm lượng tương ứng của ứng dụng cho SDK Quảng cáo của Google trên thiết bị di động 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ị). Sau đây là một ví dụ về cách báo cáo âm lượng tương ứng của ứng dụ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;
  ...
}

Đối với các định dạng Quảng cáo khi mở ứng dụng, Quảng cáo biểu ngữ, Quảng cáo xen kẽ, Quảng cáo có tặng thưởng và Quảng cáo xen kẽ có tặng thưởng, bạn có thể thông báo cho SDK quảng cáo trên thiết bị di động của Google rằng chúng đã bị tắt tiếng bằng cách đặt thuộc tính applicationMuted:

Swift

GADMobileAds.sharedInstance().applicationMuted = true

Objective-C

GADMobileAds.sharedInstance.applicationMuted = YES;

Theo mặc định, applicationVolume được đặt thành 1 (âm lượng hiện tại của thiết bị) và applicationMuted được đặt thành NO.

Quảng cáo gốc

Hãy xem GADVideoOptions để biết hướng dẫn về cách kiểm soát chế độ cài đặt tắt tiếng. Đối với quảng cáo gốc, tính năng điều chỉnh âm lượng tuỳ chỉnh không được hỗ trợ.

Phiên âm thanh

Các phiên âm thanh cho phép bạn thể hiện cho hệ thống ý định 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 lựa 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 là 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 phải sử dụng các API này. SDK Quảng cáo của Google trên thiết bị di động tự động quản lý danh mục phiên âm thanh khi phát âm thanh. Nếu phát âm thanh trong ứng dụng và 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ì bạn có thể sử dụng các API này.

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 bạn muốn tự quản lý danh mục phiên âm thanh.

Nếu muốn quản lý danh mục phiên âm thanh, bạn có thể triển khai GADAudioVideoManagerDelegate và đặt thuộc tính delegate trên trình quản lý video âm thanh để nhận thông báo về sự kiện phát lại âm thanh và video của 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.

Dưới đây là mã mẫu được đơn giản hoá cho thấy phương pháp được đề xuất nếu ứng dụng của bạn phát nhạc bằng các API ở trên:

Swift

func setUp() {
  GADMobileAds.sharedInstance().audioVideoManager.delegate = self
  GADMobileAds.sharedInstance().audioVideoManager.audioSessionIsApplicationManaged = 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;
}

#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 sự cố

SDK quảng cáo trên thiết bị di động của Google sẽ 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 ngoại lệ đó do SDK gây ra. Sau đó, các ngoại lệ này sẽ được giải quyết trong các phiên bản SDK trong tương lai.

Tính năng báo cáo sự cố được bật 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

import GoogleMobileAds

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

  func application(_ application: UIApplication,
      didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {

    GADMobileAds.disableSDKCrashReporting()
    return true
  }
}

Objective-C

@import GoogleMobileAds;

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application
    didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

  [GADMobileAds disableSDKCrashReporting];
  return YES;
}

@end

Nếu ứng dụng của bạn có các yêu cầu đặc biệt, thì bạn có thể đặt NSUserDefaults gad_has_consent_for_cookies (không bắt buộc). SDK quảng cáo trên thiết bị di động của Google sẽ bật quảng cáo bị hạn chế (LTD) nếu bạn đặt lựa chọn ưu tiên gad_has_consent_for_cookies thành 0.

Swift

UserDefaults.standard.set(0, forKey: "gad_has_consent_for_cookies")

Objective-C

NSUserDefaults.standardUserDefaults().setObject(Int(0),
    forKey: "gad_has_consent_for_cookies");