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 mà SDK quảng cáo trên thiết bị di động thu thập.

Điều khiển â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. Việc này đảm bảo người dùng nhận được quảng cáo dạng 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) 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ị). Dưới đâ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 các định dạng quảng cáo Mở ứng dụng, Biểu ngữ, Xen kẽ, Có tặng thưởng và 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 đã bị tắt 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 khiển âm lượng tuỳ chỉnh không hỗ trợ tính năng này.

Phiên âm thanh

Các phiên âm thanh giúp bạn cho hệ thống biết mục đích 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 lựa chọn có thể dùng để quản lý âm thanh SDK Quảng cáo của Google trên thiết bị di động 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 sử dụng các API này. SDK quảng cáo trên thiết bị di động của Google 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 về 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ự mình phụ trách việc 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 để đượ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 liên quan theo Hướng dẫn lập trình phiên âm thanh của Apple.

Dưới đây là mẫu mã được đơn giản hoá 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
}

// 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 của Google 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. Sau đó, các trường hợp ngoại lệ này sẽ được giải quyết trong các phiên bản SDK trong tương lai.

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 của Google trên thiết bị di động 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");