SDK Quảng cáo của Google trên thiết bị di động hiện có hỗ trợ thử nghiệm cho MRAID phiên bản 3, được xây dựng dựa trên khả năng hỗ trợ hiện có cho MRAID phiên bản 2, cho phép nhà quảng cáo phân phát mẫu quảng cáo MRAID phiên bản 3 cho nhà xuất bản Ad Manager. Hướng dẫn này làm rõ những chi tiết triển khai MRAID không rõ ràng và có thể diễn giải theo nhiều cách trong quy cách MRAID phiên bản 3. Đối tượng mà hướng dẫn này hướng đến là những 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 chạy:
- Dịch vụ Google Play 15.0.0 trở lên cho MRAID phiên bản 3
- Dịch vụ Google Play 7.8 trở lên cho MRAID v2
Thông tin cơ bản hữu ích
Nếu chưa quen với MRAID, bạn có thể tìm hiểu thêm trên trang MRAID của IAB. Bạn cũng có thể tải tài liệu Định nghĩa MRAID phiên bản 3 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 phiên bản 3.
Thông tin chi tiết về việc triển khai MRAID phiên bản 3 (beta)
Khả năng xem – sự kiện exposureChange
Sự kiện này được hỗ trợ và bạn nên 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 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
sẽ được gửi bất cứ khi nào chế độ xem quảng cáo thay đổi. SDK có một 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ý một 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 từ 0.0
đến 100.0
.
Hãy tham khảo quy cách MRAID phiên bản 3 để biết ví dụ về cách sử dụng.
Phát hiện và khởi tạo 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 bảng thông số kỹ thuật MRAID phiên bản 3.
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). Đối tượng 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 thấy âm thanh hay không và khi nào â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 của âm lượng phát tối đa. Đây là một số dấu phẩy động từ 0.0
đến 100.0
(0.0
khi không được 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 phiên bản 3 để biết ví dụ về cách sử dụng.
mraid.getLocation()
Vì mraid.getLocation()
không được hỗ trợ, nên phương thức này luôn trả về -1
.
mraid.unload()
Phương thức này có thể được gọi bất cứ lúc nào và SDK sẽ phản ứng bằng cách loại bỏ quảng cáo, giải phóng tài nguyên, sau đó xoá webview hoặc thay thế bằng một tài liệu khác hoặc một 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 khác nhau:
Loại | Hành vi unload() |
---|---|
Quảng cáo biểu ngữ | Đưa ra một yêu cầu quảng cáo mới có các thông số yêu cầu giống như 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 phiên bản 2
mraid.getVersion()
mraid.getVersion()
sẽ không trả về 2.0
cho đến khi mẫu quảng cáo đã tải. 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 được đổi kích thước không bao phủ hết không gian quảng cáo ban đầu.
Quảng cáo được đổ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 khung hiển thị có thể cuộn, thì quảng cáo được đổi kích thước sẽ không cuộn cùng với biểu ngữ.
mraid.setResizeProperties()
Tất cả các lệnh gọi đến mraid.setResizeProperties()
đều 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ệ, chúng sẽ được đặt lại thành giá trị 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 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 có tác dụng.
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 khung hiển thị che đi một quảng cáo có thể nhìn thấy, 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 2 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
.