<img src="https://img.shields.io/badge/%20-ENTERPRISE-%23B10031" style="float:left"/><br /> <img src="https://img.shields.io/badge/iOS-V4-FD415E?logo=apple" style="float:left"/><br />
If you use the IAB Open Measurement Interface Definition (OMID) and run [Google IMA ads](🔗), all custom video controls that overlay the media element must be registered as friendly obstructions. Friendly obstructions are views -- such as video controls -- that are essential to the user’s experience but do not impact viewability.
JWAdvertisingConfig` class enables you to register fully transparent overlays or small buttons. Once registered, your custom video controls are excluded from the ad viewability measurements that the <a href="https://iabtechlab.com/standards/open-measurement-sdk/" target="_blank">Open Measurement SDK</a> calculates.
The following table lists the views that can and cannot be registered.
|• Transparent overlay used to capture user taps<br /><br />• Transient buttons such as the following:<br /> ◦ Pause<br /> ◦ Play<br /> ◦ Fullscreen<br /> ◦ Cast/AirPlay<br /> ◦ Collapse<br /> ◦ Progress/Seek<br /> ◦ Other playback-related actions||• Watermarks<br />• Pop-ups<br />• Dialogs<br /> • Non-transient buttons<br /> • Other obscuring views<br /><br /><br /><br /><br /><br />|
<br /> <hr />
## Register a custom control
Use the following steps and code sample to register a custom video control as a friendly ad obstruction:
Create a `
FriendlyObstruction` object, passing a reference to the view that you want to mark as a friendly obstruction.
Use the created `
FriendlyObstruction` object to create a `
Set the friendly obstruction container on the `
JWImaAdvertisingConfigBuilder` using the `
friendlyObstructionsContainer(_ container: FriendlyObstructionsContainer)` function.
build()` on the `