SDK IMA dành cho iOS bao gồm
SDK Đo lường mở (OM),
một tiêu chuẩn ngành do
Cục Quảng cáo Tương tác (IAB) phát triển để cho phép đo lường khả năng xem và xác minh của bên thứ ba. Khi sử dụng SDK IMA dành cho
iOS, SDK OM đi kèm sẽ tự động phân tích cú pháp
thẻ <AdVerifications> trong thẻ quảng cáo VAST và gửi dữ liệu về khả năng xem đến
các nhà cung cấp dịch vụ đo lường được chỉ định bằng API OMID. SDK IMA hỗ trợ SDK OM phiên bản 1.6, các tiện ích AdVerifications của GAM trên VAST 2+ và nút AdVerifications trên VAST 4+.Để tận dụng tính năng Đo lường mở, hãy lưu ý những điểm sau:
Để sử dụng tính năng Đo lường mở, bạn phải có SDK IMA dành cho iOS phiên bản 3.9.0 trở lên.
Quảng cáo phải được định cấu hình để phân phát
<AdVerifications>trong VAST theo thông số kỹ thuật VAST 4.1 nếu sử dụng VAST 4.1 trở lên; nếu không, bạn nên sử dụng<Extension type="AdVerifications">.Không che phủ
AdDisplayContainerbằng bất kỳ lớp phủ nào (trong suốt hoặc mờ đục), vì những lớp phủ này sẽ bị SDK OM gắn cờ là vật cản và làm giảm khả năng xem.
Điều kiện tiên quyết
- Nếu quảng cáo của bạn được thiết lập và chạy quảng cáo thông qua Ad Manager, hãy định cấu hình nhà cung cấp dịch vụ đo lường khả năng xem cho mạng Ad Manager và chỉ định nhà cung cấp dịch vụ đo lường khả năng xem đó cho mục hàng của bạn.
Thử nghiệm
Bạn sẽ thấy <AdVerifications> được trả về trong phản hồi VAST.
Đăng ký các vật cản lớp phủ điều khiển video
Các nút điều khiển video như nút tạm dừng hoặc thanh tiến trình cung cấp thông tin và thao tác phát cần thiết cho người dùng. Trên thiết bị di động, việc nhấn không chính xác và kỳ vọng của người dùng đã khiến việc hiển thị các nút điều khiển lớn, thân thiện với thao tác chạm trên phần tử nội dung nghe nhìn trở thành thông lệ. Các nút điều khiển này thường mờ dần khi người dùng nhấn và không hiển thị trong phần lớn thời gian phát.
Để xem ví dụ về việc phủ các nút điều khiển video, hãy xem hình ảnh sau đây về các nút điều khiển hiển thị trên ứng dụng YouTube:

Khi sử dụng SDK IMA, hầu hết nhà xuất bản đều triển khai các nút điều khiển này bằng cách thêm một khung hiển thị phía trên vùng chứa hiển thị quảng cáo, hầu như trong suốt. Thông thường, các nút điều khiển là phần tử con của khung hiển thị này, che khuất hoàn toàn trình phát video bên dưới. Lớp phủ trong suốt này được dùng để ghi lại các sự kiện nhấn, sau đó hiển thị các nút điều khiển cho người dùng khi nhấn.
Khi tính toán khả năng xem quảng cáo bằng SDK Đo lường mở, tất cả các khung hiển thị phủ lên phần tử nội dung nghe nhìn đều được coi là vật cản và làm giảm tỷ lệ khả năng xem. Trong trường hợp lớp phủ nhấn trong suốt nằm phía trên toàn bộ vùng chứa hiển thị quảng cáo, thì có thể khoảng không quảng cáo sẽ được khai báo là hoàn toàn không xem được.
SDK Đo lường mở cung cấp các nút điều khiển video được coi là vật cản "thân thiện" cần thiết cho trải nghiệm của người dùng. Sau khi được đăng ký là thân thiện, các nút điều khiển này sẽ bị loại trừ khỏi hoạt động đo lường khả năng xem quảng cáo.
Với sự hỗ trợ của IAB và MRC, SDK IMA giới thiệu một API để đăng ký các lớp phủ này bằng SDK Đo lường mở. Các nút điều khiển này phải là lớp phủ hoàn toàn trong suốt hoặc các nút nhỏ. Bạn không được đăng ký bất kỳ khung hiển thị nào khác không liên quan đến các nút điều khiển video.
| ĐƯỢC đăng ký | KHÔNG ĐƯỢC đăng ký |
|---|---|
|
|
Mã mẫu sau đây minh hoạ cách đăng ký các lớp phủ nút điều khiển video trên vùng chứa hiển thị quảng cáo:
UIView *myTransparentTapOverlay = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 300, 250)];
UIButton *myPauseButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 50, 10)];
// Replace myTransparentTapOverlay and myPauseButton with your own elements
// that function as video control overlays.
// Make sure to register before ad playback starts.
IMAFriendlyObstruction *overlayObstruction =
[[IMAFriendlyObstruction alloc] initWithView:myTransparentTapOverlay
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];
Khi bạn hoàn tất, các vật cản này có thể bị xoá bằng cách gọi phương thức sau:
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()
}