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 do 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 dạng video

Nếu ứng dụng của bạn có các nút điều khiển âm lượng riêng, chẳng hạn như nhạc hoặc hiệu ứng âm thanh tuỳ chỉnh số lượng, tiết lộ khối lượng ứng dụng cho SDK quảng cáo trên thiết bị di động của Google sẽ cho phép quảng cáo video để tuân theo 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 video có âm lượng mong muốn.

Âm lượng của thiết bị, được đ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, 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 âm thanh của bạn.

Đối với 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 ứ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. Phạm vi giá trị số lượng quảng cáo hợp lệ nằm trong khoảng từ 0.0 (tắt tiếng) đến 1.0 (âm lượng hiện tại của thiết bị). Sau đây là 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 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 âm lượng ứng dụng đã được hãy 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

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

Phiên âm thanh

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

Nếu không sử dụng âm thanh trong ứng dụng, thì bạn không cần sử dụng các API này. Chiến dịch SDK quảng cáo 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 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 và thời điểm SDK Quảng cáo của Google trên thiết bị di động phát âm thanh, 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 audioSessionIsApplicationManaged vào YES nếu bạn muốn chịu trách nhiệm quản lý âm thanh phiên hoạt động.

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

Dưới đây là mã mẫu đơn giản cho thấy phương pháp đề xuất nếu ứng dụng phát nhạc, sử dụ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 kiểm tra các ngoại lệ xảy ra trong ứng dụng iOS và ghi lại các vấn đề đó nếu là do SDK gây ra. Sau đó, các ngoại lệ này sẽ giải quyết trong các phiên bản SDK sau này.

Báo cáo sự cố được bật theo mặc định. Nếu bạn không muốn nhận các trường hợp ngoại lệ liên quan đến SDK được ghi lại, bạn có thể tắt tính năng này bằng cách gọi hàm disableSDKCrashReporting. Thời điểm tốt nhất để gọi phương thức này là khi ứng dụng sẽ 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ó yêu cầu đặc biệt, bạn có thể đặt thuộc tính NSUserDefaults gad_has_consent_for_cookies. SDK quảng cáo trên thiết bị di động của Google cho phép quảng cáo bị hạn chế (LTD) nếu tùy chọn gad_has_consent_for_cookies được đặt 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");