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

Cùng một khoá ứng dụng

SDK quảng cáo trên thiết bị di động của Google phiên bản 8.3.0 ra mắt tính năng cùng một khóa ứng dụng để giúp bạn phân phát quảng cáo được cá nhân hóa và phù hợp hơn bằng cách sử dụng dữ liệu thu thập được từ các ứng dụng của bạn.

Tính năng cùng một khóa ứng dụng được bật theo mặc định. Tuy nhiên, bạn có thể tắt tính năng này bằng cách sử dụng API sau đây.

Swift

@import GoogleMobileAds

// Disables the same app key.
GADMobileAds.sharedInstance().requestConfiguration.setSameAppKeyEnabled(false)

Objective-C

@import GoogleMobileAds;

// Disables the same app key.
[GADMobileAds.sharedInstance.requestConfiguration setSameAppKeyEnabled:NO];

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 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 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 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ị (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ức â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 cài đặ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 là đã tắt âm lượng của ứng dụng, hãy đặt thuộc tính applicationMuted như sau:

Swift

GADMobileAds.sharedInstance().applicationMuted = true

Objective-C

GADMobileAds.sharedInstance.applicationMuted = YES;

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

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 lựa chọn hiện có để 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 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 â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 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ì 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 bạn muốn tự mình phụ trách 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 lỗi

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.

Báo cáo lỗi đượ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

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;
}