Cài đặt chung

Chọn nền tảng: Android iOS Unity

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 của Google 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 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ị (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 Quảng cáo hiển thị khi 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ể báo cáo âm lượng tương đối của ứng dụ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ị). 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.
  MobileAds.shared.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 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 của ứng dụng đã bị tắt bằng cách đặt thuộc tính applicationMuted:

Swift

MobileAds.shared.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.

Quảng cáo gốc

Xem phần 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, không có hỗ trợ cho chế độ kiểm soát âm lượng tuỳ chỉnh.

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 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 của Google trên thiết bị di động sẽ 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, 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 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ột mẫu mã đơn giản 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ách sử dụng các API ở trên:

Swift

func setUp() {
  MobileAds.shared.audioVideoManager.delegate = self
  MobileAds.shared.audioVideoManager.audioSessionIsApplicationManaged = false
}

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

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

Objective-C

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

#pragma mark - GADAudioVideoManagerDelegate

- (void)audioVideoManagerWillPlayAudio:(GADAudioVideoManager *)audioVideoManager {
  // Google 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 {
    // Google 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 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 đó, những trường hợp ngoại lệ này sẽ được 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 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 {

    MobileAds.shared.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 lựa chọn ưu tiên về 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");