Quảng cáo đa phương tiện trên thiết bị di động

SDK Quảng cáo của Google trên thiết bị di động hiện đã hỗ trợ phiên bản thử nghiệm cho MRAID v3, dựa trên tính năng hỗ trợ hiện có cho MRAID v2, cho phép nhà quảng cáo phân phát mẫu quảng cáo MRAID v3 cho nhà xuất bản Ad Manager. Hướng dẫn này làm rõ các chi tiết triển khai MRAID chưa rõ ràng và có thể được diễn giải trong thông số kỹ thuật MRAID phiên bản 3. Đối tượng mục tiêu của hướng dẫn này là các tác giả mẫu quảng cáo MRAID phiên bản 3.

Điều kiện tiên quyết

Nhà xuất bản phải đang chạy:

  • Dịch vụ Google Play phiên bản 15.0.0 trở lên cho MRAID v3
  • Dịch vụ Google Play 7.8 trở lên cho MRAID v2

Tài liệu tham khảo hữu ích

Nếu chưa quen với MRAID, bạn có thể tìm hiểu thêm tại trang MRAID của IAB. Bạn cũng có thể tải tài liệu MRAID v3 Definitions (Định nghĩa về MRAID v3) xuống. Tài liệu này cung cấp thông tin chi tiết về tất cả các tham số được thảo luận bên dưới, cũng như bài đăng trên blog của IAB về MRAID v3.

Thông tin chi tiết về việc triển khai MRAID phiên bản 3 (thử nghiệm)

Khả năng xem – sự kiện exposureChange

Sự kiện này được hỗ trợ và bạn nên sử dụng trình nghe cho sự kiện exposureChange mới thay vì sự kiện viewableChange không dùng nữa. Phương thức mraid.isViewable() cũng không còn được dùng nữa. Tuy nhiên, các phương thức không dùng nữa này vẫn được hỗ trợ để duy trì khả năng tương thích ngược.

Định nghĩa sự kiện exposureChange được gửi bất cứ khi nào khung hiển thị quảng cáo thay đổi. SDK có cơ chế thăm dò ý kiến để tránh tạo ra quá nhiều sự kiện. Trạng thái ban đầu được gửi không đồng bộ sau khi quảng cáo đăng ký trình nghe. Lệnh gọi lại bao gồm tham số exposed_percentage là một số dấu phẩy động nằm trong khoảng từ 0.0 đến 100.0.

Hãy tham khảo quy cách MRAID v3 để biết cách sử dụng mẫu.

Phát hiện và khởi chạy MRAID cũng như các thuộc tính MRAID_ENV

SDK tuân thủ giao thức khởi chạy như được xác định trong thông số kỹ thuật MRAID v3.

Trong đối tượng MRAID_ENV, SDK không gửi IDFA, limitAdTracking, mã ứng dụng hoặc COPPA (không bắt buộc). Phương thức này cung cấp tất cả các biến bắt buộc trong đối tượng MRAID_ENV, bao gồm cả phiên bản MRAID, tên SDK và phiên bản SDK.

Đo lường khả năng nghe

Một sự kiện mới (audioVolumeChange) được giới thiệu để xác định xem có thể nghe âm thanh hay không và thời điểm âm lượng thay đổi.

Sự kiện audioVolumeChange có một thông số duy nhất: volume_percentage. Giá trị này là tỷ lệ phần trăm âm lượng phát âm thanh tối đa. Đây là một số dấu phẩy động từ 0.0 đến 100.0 (0.0 khi không cho phép phát) hoặc null nếu không xác định được âm lượng.

Hãy tham khảo quy cách MRAID v3 để biết cách sử dụng mẫu.

mraid.getLocation()

Vì không được hỗ trợ nên mraid.getLocation() luôn trả về -1.

mraid.unload()

Bạn có thể gọi phương thức này bất cứ lúc nào và SDK sẽ phản ứng bằng cách đóng quảng cáo, giải phóng tài nguyên, sau đó xoá hoặc thay thế webview bằng một tài liệu khác hoặc quảng cáo mới.

Khi mẫu quảng cáo gọi unload(), lớp gốc sẽ phản hồi như sau đối với các loại mẫu quảng cáo:

Loại Hành vi unload()
Biểu ngữ Tạo một yêu cầu quảng cáo mới có cùng các tham số yêu cầu với quảng cáo hiện tại.
Quảng cáo xen kẽ Đóng quảng cáo xen kẽ.

VPAID (Định nghĩa giao diện quảng cáo trên trình phát video)

SDK quảng cáo của Google trên thiết bị di động không hỗ trợ VPAID. mraid.supports('vpaid') trả về giá trị false.

mraid.useCustomClose()

mraid.useCustomClose() có thể không được hỗ trợ, tuỳ thuộc vào định dạng và loại mẫu quảng cáo.

Thông tin chi tiết về việc triển khai MRAID v2

mraid.getVersion()

mraid.getVersion() không trả về 2.0 cho đến khi mẫu quảng cáo tải xong. Không kiểm tra phiên bản MRAID trong khi mraid.getState() trả về loading.

mraid.resize()

Khi mraid.resize() được gọi, biểu ngữ ban đầu sẽ được thay thế bằng hình ảnh chụp màn hình của biểu ngữ. Điều này sẽ dễ nhận thấy nếu quảng cáo đã đổi kích thước không bao phủ không gian quảng cáo ban đầu.

Quảng cáo đổi kích thước cũng không tuân theo khung biểu ngữ ban đầu. Nếu biểu ngữ được đặt trong chế độ xem cuộn, thì quảng cáo đã đổi kích thước sẽ không cuộn cùng với biểu ngữ.

mraid.setResizeProperties()

Tất cả lệnh gọi đến mraid.setResizeProperties() phải chứa danh sách đầy đủ các thuộc tính bắt buộc. Nếu các thuộc tính đổi kích thước không hợp lệ, thì các thuộc tính này sẽ được đặt lại thành mặc định và tất cả các lệnh gọi tiếp theo đến mraid.resize() sẽ không thành công cho đến khi mraid.setResizeProperties() được gọi lại bằng các tham số hợp lệ.

mraid.getMaxSize()

Bạn chỉ nên sử dụng mraid.getMaxSize() để xác định kích thước tối đa cho quảng cáo được đổi kích thước. Để xác định kích thước của quảng cáo có thể mở rộng, hãy sử dụng mraid.getScreenSize().

mraid.setOrientationProperties()

Khi gọi mraid.setOrientationProperties() với thuộc tính allowOrientationChange được đặt thành true, việc đặt thuộc tính forceOrientation sẽ không làm gì cả. Những mẫu quảng cáo muốn buộc hướng nên đặt allowOrientationChange thành false.

mraid.isViewable()

Nếu một thành phần hiển thị che khuất một quảng cáo hiển thị, thì mraid.isViewable() vẫn sẽ trả về true. Nội dung ứng dụng không được che khuất quảng cáo hiển thị.

mraid.getCurrentPosition()

Khi quảng cáo có thể mở rộng gồm hai phần ở trạng thái mở rộng, lệnh gọi đến mraid.getCurrentPosition() trên phần đầu tiên sẽ trả về kích thước của màn hình.

mraid.storePicture()

Để hỗ trợ mraid.storePicture(), ứng dụng cần có quyền android.permission.WRITE_EXTERNAL_STORAGE.