Bật tính năng Đo lường mở

Chọn nền tảng: HTML5 Android iOS

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ủ AdDisplayContainer bằ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

Thử nghiệm

Để thử nghiệm tính năng Đo lường mở bằng SDK IMA, hãy sử dụng phiên bản IMA hỗ trợ SDK OM, 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 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:

Mở hình ảnh ví dụ về lớp phủ đo lường

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ý
  • 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/Tìm kiếm
    • Các thao tác khác 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 khung hiển thị che khuất khác

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()
}