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