IMA SDK สำหรับ iOS มี
Open Measurement (OM) SDK ซึ่งเป็นมาตรฐานอุตสาหกรรมที่พัฒนาโดย
Interactive Advertising Bureau (IAB) เพื่อให้การวัดการมองเห็นโฆษณาและการยืนยันโดยบุคคลที่สามเป็นไปได้ เมื่อใช้ IMA SDK สำหรับ
iOS ทาง OM SDK ที่รวมอยู่จะแยกวิเคราะห์
แท็ก <AdVerifications> ภายในแท็กโฆษณา VAST โดยอัตโนมัติ และส่งข้อมูลการมองเห็นโฆษณาไปยัง
ผู้ให้บริการการวัดผลที่ระบุโดยใช้ OMID API IMA SDK รองรับ OM SDK v1.6, ส่วนขยาย GAM AdVerifications ใน VAST 2 ขึ้นไป และโหนด AdVerifications ใน VAST 4 ขึ้นไป โปรดคำนึงถึงประเด็นต่อไปนี้เพื่อใช้ประโยชน์จาก Open Measurement
หากต้องการใช้ Open Measurement คุณต้องมี IMA SDK สำหรับ iOS เวอร์ชัน 3.9.0 ขึ้นไป
คุณต้องกำหนดค่าโฆษณาให้แสดง
<AdVerifications>ใน VAST ตาม ข้อกำหนดของ VAST 4.1 หากใช้ VAST 4.1 ขึ้นไป ไม่เช่นนั้นควรใช้<Extension type="AdVerifications">หลีกเลี่ยงการวางซ้อน
AdDisplayContainerด้วยโอเวอร์เลย์ใดๆ (โปร่งใสหรือทึบแสง) เนื่องจาก OM SDK จะตั้งค่าสถานะโอเวอร์เลย์เหล่านี้เป็นการกีดขวางและลดการมองเห็นโฆษณา
ข้อกำหนดเบื้องต้น
- หากแสดงโฆษณาผ่าน Ad Manager ให้กำหนดค่าผู้ให้บริการด้านการมองเห็นโฆษณา สำหรับเครือข่าย Ad Manager และมอบหมายผู้ให้บริการด้านการมองเห็นโฆษณารายดังกล่าวให้แก่รายการโฆษณา
การทดสอบ
หากต้องการทดสอบ Open Measurement โดยใช้ IMA SDK ให้ใช้ IMA เวอร์ชันที่ รองรับ OM SDK พร้อมกับ แท็กโฆษณาทดสอบ
คุณควรเห็น <AdVerifications> ที่แสดงในการตอบสนองด้วย VAST
ลงทะเบียนการกีดขวางที่เกิดจากโอเวอร์เลย์ส่วนควบคุมวิดีโอ
ส่วนควบคุมวิดีโอ เช่น ปุ่มหยุดชั่วคราวหรือแถบความคืบหน้า จะให้ข้อมูลและการดำเนินการที่จำเป็นต่อการเล่นแก่ผู้ใช้ ในอุปกรณ์เคลื่อนที่ การแตะที่ไม่แม่นยำและความคาดหวังของผู้ใช้ทำให้การแสดงผลส่วนควบคุมขนาดใหญ่ที่ใช้งานง่ายด้วยการสัมผัสเหนือองค์ประกอบสื่อกลายเป็นเรื่องปกติ โดยปกติแล้วส่วนควบคุมเหล่านี้จะค่อยๆ ปรากฏขึ้นและหายไปเมื่อผู้ใช้แตะ และจะไม่ปรากฏให้เห็นตลอดเวลาส่วนใหญ่ของการเล่น
ดูตัวอย่างการวางซ้อนส่วนควบคุมวิดีโอได้จากรูปภาพต่อไปนี้เกี่ยวกับการแสดงผลส่วนควบคุมของแอป YouTube

เมื่อใช้ IMA SDK ผู้เผยแพร่โฆษณาส่วนใหญ่จะใช้ส่วนควบคุมเหล่านี้โดยการเพิ่มมุมมองเหนือคอนเทนเนอร์แสดงโฆษณาซึ่งส่วนใหญ่โปร่งใส โดยปกติแล้วส่วนควบคุมจะเป็นองค์ประกอบย่อยของมุมมองนี้ซึ่งจะบดบังวิดีโอเพลเยอร์ที่อยู่ด้านล่างอย่างสมบูรณ์ โอเวอร์เลย์โปร่งใสนี้ใช้เพื่อบันทึกเหตุการณ์การแตะ แล้วแสดงผลส่วนควบคุมแก่ผู้ใช้เมื่อมีการแตะ
เมื่อมีการคำนวณการมองเห็นโฆษณาโดยใช้ Open Measurement SDK การแสดงผลทั้งหมดที่วางซ้อนองค์ประกอบสื่อจะถือเป็นการกีดขวางและลดอัตราการมองเห็นโฆษณา ในกรณีที่โอเวอร์เลย์การแตะแบบโปร่งใสอยู่เหนือคอนเทนเนอร์แสดงโฆษณาทั้งหมด พื้นที่โฆษณาอาจได้รับการประกาศว่ามองเห็นโฆษณาไม่ได้เลย
Open Measurement SDK การวัดผล มีข้อกำหนดให้พิจารณาว่าส่วนควบคุมวิดีโอเป็นการกีดขวาง "ที่เป็นประโยชน์" ซึ่งจำเป็นต่อประสบการณ์ของผู้ใช้ เมื่อลงทะเบียนเป็นส่วนควบคุมที่เป็นประโยชน์แล้ว ระบบจะไม่รวมส่วนควบคุมเหล่านี้ในการวัดการมองเห็นโฆษณา
IMA SDK รองรับ IAB และ MRC จึงได้เปิดตัว API สำหรับลงทะเบียนโอเวอร์เลย์เหล่านี้กับ Open Measurement SDK การวัดผล ส่วนควบคุมเหล่านี้ต้องเป็นโอเวอร์เลย์โปร่งใสทั้งหมดหรือปุ่มขนาดเล็ก และต้องไม่ลงทะเบียนมุมมองอื่นๆ ที่ไม่เกี่ยวข้องกับส่วนควบคุมวิดีโอ
| สิ่งที่ควรลงทะเบียน | สิ่งที่ไม่ควรลงทะเบียน |
|---|---|
|
|
โค้ดตัวอย่างต่อไปนี้แสดงวิธีลงทะเบียนโอเวอร์เลย์ส่วนควบคุมวิดีโอในคอนเทนเนอร์แสดงโฆษณา
Objective-C
- (void)registerObstructionsForContainer:(IMAAdDisplayContainer *)displayContainer {
UIView *transparentTapOverlay = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 300, 250)];
UIButton *myPauseButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 50, 10)];
IMAFriendlyObstruction *overlayObstruction =
[[IMAFriendlyObstruction alloc] initWithView:transparentTapOverlay
purpose:IMAFriendlyObstructionPurposeNotVisible
detailedReason:@"This overlay is transparent"];
IMAFriendlyObstruction *pauseButtonObstruction =
[[IMAFriendlyObstruction alloc] initWithView:myPauseButton
purpose:IMAFriendlyObstructionPurposeMediaControls
detailedReason:@"This is the video player pause button"];
[displayContainer registerFriendlyObstruction:overlayObstruction];
[displayContainer registerFriendlyObstruction:pauseButtonObstruction];
}
Swift
func registerObstructions(displayContainer: IMAAdDisplayContainer) {
let transparentTapOverlay = UIView(frame: CGRect(x: 0, y: 0, width: 300, height: 250))
let myPauseButton = UIButton(frame: CGRect(x: 0, y: 0, width: 50, height: 10))
let overlayObstruction = IMAFriendlyObstruction(
view: transparentTapOverlay,
purpose: .notVisible,
detailedReason: "This overlay is transparent")
let pauseButtonObstruction = IMAFriendlyObstruction(
view: myPauseButton,
purpose: .mediaControls,
detailedReason: "This is the video player pause button")
displayContainer.register(overlayObstruction)
displayContainer.register(pauseButtonObstruction)
}
เมื่อใช้งานเสร็จแล้ว คุณสามารถนำการกีดขวางเหล่านี้ออกได้โดยเรียกใช้เมธอดต่อไปนี้
Objective-C
- (void)unregisterObstructionsForContainer:(IMAAdDisplayContainer *)displayContainer {
// This removes all previously registered friendly obstructions from the container.
[displayContainer unregisterAllFriendlyObstructions];
}
Swift
func unregisterObstructions(displayContainer: IMAAdDisplayContainer) {
// This removes all previously registered friendly obstructions from the container.
displayContainer.unregisterAllFriendlyObstructions()
}