การตั้งค่าส่วนกลาง

คลาส GADMobileAds มีการตั้งค่าส่วนกลางสำหรับการควบคุมบางอย่าง ข้อมูลที่เก็บรวบรวมโดย SDK โฆษณาในอุปกรณ์เคลื่อนที่

ตัวควบคุมระดับเสียงโฆษณาวิดีโอ

หากแอปมีการควบคุมระดับเสียงในตัว เช่น เพลงหรือเอฟเฟกต์เสียงที่กำหนดเอง โดยการเปิดเผยปริมาณแอปแก่ SDK โฆษณาในอุปกรณ์เคลื่อนที่ของ Google จะช่วยให้โฆษณาวิดีโอแสดงได้ ตามการตั้งค่าระดับเสียงของแอป วิธีนี้ช่วยให้มั่นใจได้ว่าผู้ใช้จะได้รับโฆษณาวิดีโอที่มี ระดับเสียงที่ต้องการ

ระดับเสียงของอุปกรณ์ ซึ่งควบคุมผ่านปุ่มปรับระดับเสียงหรือแถบเลื่อนปรับระดับเสียงระดับระบบปฏิบัติการ กำหนดระดับเสียงสำหรับเอาต์พุตเสียงของอุปกรณ์ แต่แอปจะแยกต่างหาก ปรับระดับเสียงโดยสัมพันธ์กับระดับเสียงของอุปกรณ์เพื่อปรับแต่งเสียง ประสบการณ์การใช้งาน

สำหรับโฆษณาเปิดแอป โฆษณาแบนเนอร์ โฆษณาคั่นระหว่างหน้า โฆษณาที่มีการให้รางวัล และโฆษณาคั่นระหว่างหน้าที่มีการให้รางวัล รูปแบบที่คุณสามารถรายงานปริมาณที่เกี่ยวข้องของแอปไปยัง SDK โฆษณาบนอุปกรณ์เคลื่อนที่ของ Google ได้โดยดำเนินการดังนี้ กำลังตั้งค่าพร็อพเพอร์ตี้ applicationVolume ช่วงค่าปริมาณโฆษณาที่ถูกต้องตั้งแต่ 0.0 (ปิดเสียง) ถึง 1.0 (ระดับเสียงปัจจุบันของอุปกรณ์) ลองดูตัวอย่างวิธี รายงานปริมาณแอปสัมพัทธ์ไปยัง 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;
  ...
}

สำหรับโฆษณาเปิดแอป โฆษณาแบนเนอร์ โฆษณาคั่นระหว่างหน้า โฆษณาที่มีการให้รางวัล และโฆษณาคั่นระหว่างหน้าที่มีการให้รางวัล คุณสามารถแจ้งให้ Google Mobile Ads SDK ทราบว่ามีปริมาณแอปดังนี้ ปิดเสียงโดยการตั้งค่าพร็อพเพอร์ตี้ applicationMuted:

Swift

GADMobileAds.sharedInstance().applicationMuted = true

Objective-C

GADMobileAds.sharedInstance.applicationMuted = YES;

โดยค่าเริ่มต้น applicationVolume จะตั้งไว้เป็น 1 (ระดับเสียงของอุปกรณ์ในปัจจุบัน) และ applicationMuted ได้รับการตั้งค่าเป็น NO

โฆษณาเนทีฟ

โปรดดู GADVideoOptions เพื่อดูวิธีการควบคุมการตั้งค่าการปิดเสียง สำหรับโฆษณาเนทีฟ รองรับการควบคุมระดับเสียงแบบกำหนดเอง

เซสชันเสียง

เซสชันเสียงช่วยให้คุณแสดงเจตนารมณ์ของแอปในระบบ ลักษณะการทำงานของเสียง ดูข้อมูลเพิ่มเติมเกี่ยวกับเซสชันเสียงได้ใน Audio Session Programming ของ Apple คำแนะนำ ตัวเลือกที่ใช้ได้ในการจัดการเสียงใน Google Mobile Ads SDK มีดังนี้ เวลา audioVideoManager

หากไม่ได้ใช้เสียงในแอป ก็ไม่จำเป็นต้องใช้ API เหล่านี้ ทั้งนี้ Google SDK โฆษณาในอุปกรณ์เคลื่อนที่จะจัดการหมวดหมู่เซสชันเสียงโดยอัตโนมัติเมื่อ เล่นเสียง หากคุณเปิดเสียงในแอปและต้องการควบคุมสิ่งต่างๆ ที่แน่นหนายิ่งขึ้น วิธีและเวลาที่ SDK โฆษณาในอุปกรณ์เคลื่อนที่ของ Google เล่นเสียง คุณจะใช้ API เหล่านี้ได้

ในเครื่องมือจัดการวิดีโอเสียง คุณสามารถตั้งค่า audioSessionIsApplicationManaged พร็อพเพอร์ตี้ YES หากต้องการรับผิดชอบการจัดการเสียง หมวดหมู่เซสชันด้วยตัวเอง

หากต้องการจัดการหมวดหมู่เซสชันเสียง คุณก็ติดตั้งใช้งานได้ GADAudioVideoManagerDelegate และตั้งค่า delegate ในเครื่องมือจัดการวิดีโอเสียงเพื่อรับการแจ้งเตือนเกี่ยวกับวิดีโอและเสียงของโฆษณา เหตุการณ์การเล่น จากนั้นคุณควรเปลี่ยนหมวดหมู่เซสชันเสียงเป็น หมวดหมู่ที่เกี่ยวข้องตาม Audio Session Programming ของ Apple คำแนะนำ

ต่อไปนี้เป็นตัวอย่างโค้ดอย่างง่ายที่แสดงแนวทางที่แนะนำ แอปจะเล่นเพลงโดยใช้ API ข้างต้น

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

รายงานข้อขัดข้อง

SDK โฆษณาในอุปกรณ์เคลื่อนที่ของ Google จะตรวจสอบข้อยกเว้นที่เกิดขึ้นในแอป iOS และ ให้บันทึกหากข้อผิดพลาดนั้นเกิดจาก SDK ข้อยกเว้นเหล่านี้จะ ซึ่งมีการแก้ไขใน SDK เวอร์ชันต่อๆ ไป

การรายงานข้อขัดข้องจะเปิดใช้โดยค่าเริ่มต้น หากคุณไม่ต้องการให้มีข้อยกเว้นเกี่ยวกับ SDK ที่จะบันทึก คุณสามารถปิดใช้ฟีเจอร์นี้โดยเรียก disableSDKCrashReporting วิธี เวลาที่เหมาะสมที่สุดในการเรียกใช้เมธอดนี้คือเมื่อ เมื่อเปิดแอป

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

หากแอปมีข้อกำหนดพิเศษ คุณสามารถตั้งค่าตัวเลือก NSUserDefaults gad_has_consent_for_cookies Google Mobile Ads SDK เปิดใช้ โฆษณาแบบจํากัด (LTD) หากตั้งค่ากำหนด gad_has_consent_for_cookies เป็น 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");