คลาส GADMobileAds มีการตั้งค่าส่วนกลางสำหรับการควบคุมข้อมูลบางอย่าง
ที่ Google Mobile Ads SDK รวบรวม
การควบคุมระดับเสียงของโฆษณาวิดีโอ
หากแอปของคุณมีการควบคุมระดับเสียงในตัว เช่น ระดับเสียงเพลงหรือเอฟเฟ็กต์เสียงที่กำหนดเอง การเปิดเผยระดับเสียงของแอปให้ Google Mobile Ads SDK ทราบจะช่วยให้โฆษณาวิดีโอ เล่นตามระดับเสียงที่ตั้งค่าไว้ในแอปได้ ซึ่งจะช่วยให้ผู้ใช้ได้ยินเสียงโฆษณาวิดีโออย่างที่ควรจะเป็น
ระดับเสียงของอุปกรณ์ ซึ่งควบคุมผ่านปุ่มปรับระดับเสียงหรือแถบเลื่อนปรับระดับเสียงในระดับระบบปฏิบัติการ จะกำหนดระดับเสียงสำหรับเอาต์พุตเสียงของอุปกรณ์ อย่างไรก็ตาม แอปสามารถปรับระดับเสียงเทียบกับระดับเสียงของอุปกรณ์ได้โดยอิสระเพื่อปรับแต่งประสบการณ์การใช้งานเสียง
สำหรับรูปแบบโฆษณาเปิดแอป แบนเนอร์ โฆษณาคั่นระหว่างหน้า โฆษณาที่มีการให้รางวัล และโฆษณาคั่นระหว่างหน้าที่มีการให้รางวัล
คุณสามารถรายงานระดับเสียงของแอปเทียบกับระดับเสียงของอุปกรณ์ให้ Google Mobile Ads SDK ทราบได้โดย
ตั้งค่าพร็อพเพอร์ตี้ applicationVolume ค่าระดับเสียงของโฆษณาที่ใช้ได้จะอยู่ในช่วง 0.0 (เงียบ) ถึง 1.0 (ระดับเสียงปัจจุบันของอุปกรณ์) ตัวอย่างวิธีรายงานระดับเสียงของแอปเทียบกับระดับเสียงของอุปกรณ์ให้ 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;
...
}
สำหรับรูปแบบโฆษณาเปิดแอป แบนเนอร์ โฆษณาคั่นระหว่างหน้า โฆษณาที่มีการให้รางวัล และโฆษณาคั่นระหว่างหน้าที่มีการให้รางวัล
คุณสามารถแจ้งให้ Google Mobile Ads SDK ทราบว่าระดับเสียงของแอปถูก
ปิดเสียงโดยตั้งค่าพร็อพเพอร์ตี้ applicationMuted ดังนี้
Swift
MobileAds.shared.applicationMuted = true
Objective-C
GADMobileAds.sharedInstance.applicationMuted = YES;
โดยค่าเริ่มต้น ระบบจะตั้งค่า applicationVolume เป็น 1 (ระดับเสียงปัจจุบันของอุปกรณ์) และ applicationMuted เป็น NO
โฆษณาเนทีฟ
ดูวิธีการควบคุมการตั้งค่าการปิดเสียงได้ที่
GADVideoOptions
สำหรับโฆษณาเนทีฟ ระบบไม่รองรับการควบคุมระดับเสียงที่กำหนดเอง
เซสชันเสียง
เซสชันเสียงช่วยให้คุณแสดงความตั้งใจต่อระบบเกี่ยวกับลักษณะการทำงานของเสียงในแอป ดูข้อมูลเพิ่มเติมเกี่ยวกับเซสชันเสียงได้ใน
คู่มือการเขียนโปรแกรมเซสชันเสียง
ของ Apple
ตัวเลือกที่มีให้สำหรับการจัดการ Google Mobile Ads SDK เสียงคือผ่าน
พร็อพเพอร์ตี้
audioVideoManager
หากคุณไม่ได้ใช้เสียงในแอป ก็ไม่จำเป็นต้องใช้ API เหล่านี้ Google Mobile Ads SDK จะจัดการหมวดหมู่เซสชันเสียงโดยอัตโนมัติเมื่อเล่นเสียง หากคุณเล่นเสียงในแอปและต้องการควบคุมวิธีและเวลาที่ Google Mobile Ads SDKเล่นเสียงอย่างเข้มงวดมากขึ้น คุณสามารถใช้ API เหล่านี้ได้
ในเครื่องมือจัดการเสียงและวิดีโอ คุณสามารถตั้งค่า
audioSessionIsApplicationManaged
พร็อพเพอร์ตี้เป็น YES หากต้องการรับผิดชอบในการจัดการหมวดหมู่เซสชันเสียง
ด้วยตนเอง
หากต้องการจัดการหมวดหมู่เซสชันเสียง คุณสามารถใช้
GADAudioVideoManagerDelegate
และตั้งค่า delegate
พร็อพเพอร์ตี้ในเครื่องมือจัดการเสียงและวิดีโอเพื่อรับการแจ้งเตือนเหตุการณ์การเล่นวิดีโอและเสียงของโฆษณา
จากนั้นคุณควรเปลี่ยนหมวดหมู่เซสชันเสียงเป็นหมวดหมู่ที่
เกี่ยวข้องตามคู่มือการเขียนโปรแกรมเซสชันเสียงของ Apple
Guide
ตัวอย่างโค้ดแบบง่ายที่แสดงแนวทางที่แนะนำหากแอปของคุณเล่นเพลงโดยใช้ API ข้างต้น
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];
}
รายงานข้อขัดข้อง
Google Mobile Ads SDK จะตรวจสอบข้อยกเว้นที่เกิดขึ้นในแอป iOS และ บันทึกข้อยกเว้นเหล่านั้นหากเกิดจาก SDK จากนั้นเราจะแก้ไขข้อยกเว้นเหล่านี้ใน SDK เวอร์ชันต่อๆ ไป
การรายงานข้อขัดข้องจะเปิดใช้โดยค่าเริ่มต้น หากไม่ต้องการให้บันทึกข้อยกเว้นที่เกี่ยวข้องกับ SDK คุณสามารถปิดใช้ฟีเจอร์นี้ได้โดยเรียกใช้เมธอด disableSDKCrashReporting เวลาที่ดีที่สุดในการเรียกใช้เมธอดนี้คือเมื่อเปิดแอป
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
ความยินยอมสำหรับการตั้งค่าคุกกี้
หากแอปมีข้อกำหนดพิเศษ คุณสามารถตั้งค่าที่ไม่บังคับได้
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");