Tính năng đo lường mở trong SDK IMA

SDK IMA dành cho iOS bao gồm SDK Đo lường mở (OM), một tiêu chuẩn ngành do Interactive Advertising Bureau (IAB) phát triển để hỗ trợ đo lường khả năng xem và xác minh của bên thứ ba. Khi sử dụng SDK IMA 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 qua OMID API.IMA SDK hỗ trợ SDK OM phiên bản 1.4, tiện ích GAM AdVerifys trên VAST 2 trở lên và nút AdVerifys trên VAST 4 trở lên.Để 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 phiên bản 3.9.0 trở lên cho iOS.

  • Quảng cáo phải được định cấu hình để lưu lượng truy cập <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">.

  • Tránh che AdDisplayContainer bằng bất kỳ lớp phủ nào (trong suốt hoặc mờ), vì các 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

Thử nghiệm

Để thử nghiệm tính năng Đo lường mở bằng SDK IMA, hãy sử dụng một trong các phiên bản bắt buộc của SDK ở trên, cùng với thẻ quảng cáo thử nghiệm.

Bạn sẽ thấy <AdVerifications> được trả về trong phản hồi VAST.

Đăng ký các thành phần che khuất đ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 cho người dùng các thao tác và thông tin phát quan trọng. Trên thiết bị di động, các thao tá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 một phương pháp phổ biến. Các chế độ điều khiển này thường mờ dần khi người dùng nhấn vào và không hiển thị trong phần lớn thời gian phát.

Dưới đây là ví dụ về các nút điều khiển video do ứng dụng YouTube hiển thị:

Khi sử dụng SDK IMA, hầu hết nhà xuất bản đều triển khai các chế độ kiểm soát này bằng cách thêm một thành phần hiển thị phía trên vùng chứa hiển thị quảng cáo, trong đó vùng chứa này chủ yếu là trong suốt. Thông thường, các thành phần điều khiển là các phần tử con của thành phần hiển thị này, che khuất hoàn toàn trình phát video cơ bản. Lớp phủ trong suốt này dùng để ghi lại các sự kiện nhấn và sau đó hiển thị các nút điều khiển cho người dùng khi họ nhấn vào.

Khi khả năng xem quảng cáo thông qua SDK Đo lường mở được tính toán, tất cả các chế độ xem phủ lên phần tử nội dung đa phương tiện đều được coi là các yếu tố cản trở 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ì khoảng không quảng cáo có thể được khai báo là hoàn toàn không xem được.

SDK Đo lường mở đưa ra các quy định để các nút điều khiển video được coi là thành phần che khuất "không gây phiền toái", cần thiết cho trải nghiệm của người dùng. Sau khi được đăng ký là chế độ thân thiện, các chế độ kiểm soát này sẽ bị loại trừ khỏi hoạt động đo lường khả năng hiển thị quảng cáo.

Với sự hỗ trợ của IAB và MRC, SDK IMA sẽ 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 có lớp phủ hoặc nút nhỏ trong suốt hoàn toàn. Bạn không được đăng ký bất kỳ thành phần hiển thị nào khác không liên quan đến các chế độ điều khiển video.

Đăng ký DO KHÔNG đăng ký
  • Lớp phủ trong suốt để ghi lại thao tác nhấn của người dùng
  • Nút tạm thời
    • Tạm dừng
    • Phát
    • Toàn màn hình
    • Truyền/AirPlay
    • Thu gọn
    • Tiến trình/lượt tìm kiếm
    • Các thao tác khác liên quan đến việc phát
  • Hình mờ
  • Cửa sổ bật lên
  • Hộp thoại
  • Nút không tạm thời
  • Các chế độ xem che khuất khác

Mã mẫu sau đây minh hoạ cách đăng ký lớp phủ đ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)];
// Substitute "myTransparentTapOverlay" and "myPauseButton" with the elements
// you want to register as video controls 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];

Sau khi xử lý xong, bạn có thể loại bỏ các yếu tố cản trở này bằng cách gọi phương thức sau:

[displayContainer unregisterAllFriendlyObstructions];