이제 Google 모바일 광고 SDK에서 기존 MRAID v2 지원을 기반으로 구축된 MRAID v3 베타를 지원하므로 광고주가 Ad Manager 게시자에게 MRAID v3 광고 소재를 게재할 수 있습니다. 이 가이드에서는 MRAID v3 사양에서 명확하지 않고 해석의 여지가 있었던 MRAID 구현 세부정보를 명확히 설명합니다. 이 가이드의 대상은 MRAID v3 광고 소재 작성자입니다.
기본 요건
게시자는 다음을 실행해야 합니다.
- MRAID v3의 경우 iOS용 Google 모바일 광고 SDK 7.30.0 이상
- MRAID v2의 경우 Google 모바일 광고 SDK(iOS) 7.4.0 이상
유용한 사전 참고 자료
MRAID에 익숙하지 않은 경우 IAB MRAID 페이지에서 자세히 알아보세요. 아래에 설명된 모든 매개변수에 관한 세부정보와 MRAID v3에 관한 IAB 블로그 게시물을 제공하는 MRAID v3 정의 문서도 다운로드할 수 있습니다.
MRAID v3 (베타) 구현 세부정보
조회 가능성 - exposureChange 이벤트
이 이벤트는 지원되며 지원 중단된 viewableChange
이벤트 대신 새 exposureChange
이벤트의 리스너를 사용하는 것이 좋습니다.
mraid.isViewable()
메서드도 지원 중단되었습니다. 하지만 이러한 지원 중단된 메서드는 이전 버전과의 호환성을 유지하기 위해 계속 지원됩니다.
exposureChange
이벤트 정의는 광고 뷰가 변경될 때마다 디스패치됩니다. SDK에는 이벤트가 너무 많이 생성되지 않도록 하는 폴링 메커니즘이 있습니다.
초기 상태는 광고가 리스너를 등록한 후 비동기적으로 전송됩니다.
콜백에는 0.0
과 100.0
사이의 부동 소수점 숫자인 exposed_percentage
매개변수가 포함됩니다.
샘플 사용은 MRAID v3 사양을 참고하세요.
MRAID 감지 및 초기화와 MRAID_ENV 속성
SDK는 MRAID v3 사양에 정의된 초기화 프로토콜을 준수합니다.
MRAID_ENV
객체에서 SDK는 IDFA
, limitAdTracking
, 앱 ID 또는 COPPA (선택사항)를 전송하지 않습니다. MRAID 버전, SDK 이름, SDK 버전 등 MRAID_ENV
객체에 필요한 모든 변수를 제공합니다.
청취 가능성 측정
오디오를 들을 수 있는지와 볼륨이 변경되는 시점을 식별하기 위해 새로운 이벤트 (audioVolumeChange
)가 도입됩니다.
audioVolumeChange
이벤트에는 volume_percentage
이라는 단일 매개변수가 있습니다.
값은 최대 오디오 재생 볼륨의 백분율입니다. 0.0
과 100.0
사이의 부동 소수점 숫자입니다 (재생이 허용되지 않는 경우 0.0
). 볼륨을 확인할 수 없는 경우 null
입니다.
샘플 사용은 MRAID v3 사양을 참고하세요.
mraid.getLocation()
mraid.getLocation()
은 지원되지 않으므로 항상 -1
을 반환합니다.
mraid.unload()
이 메서드는 언제든지 호출할 수 있으며 SDK는 광고를 닫고, 리소스를 할당 해제한 다음, 웹뷰를 삭제하거나 다른 문서 또는 새 광고로 대체하여 반응합니다.
광고 소재가 unload()
를 호출하면 네이티브 레이어가 다양한 광고 소재 유형에 대해 다음과 같이 응답합니다.
유형 | unload() 동작 |
---|---|
배너 | 현재 광고와 동일한 요청 매개변수로 새 광고 요청을 만듭니다. |
전면 광고 | 전면 광고를 닫습니다. |
VPAID (동영상 플레이어 광고 인터페이스 정의)
Google 모바일 광고 SDK는 VPAID를 지원하지 않습니다. mraid.supports('vpaid')
는 false를 반환합니다.
mraid.useCustomClose()
형식 및 광고 유형에 따라 mraid.useCustomClose()
이(가) 지원되지 않을 수 있습니다.
MRAID v2 구현 세부정보
mraid.getVersion()
광고 소재가 로드될 때까지 mraid.getVersion()
는 2.0
를 반환하지 않습니다. mraid.getState()
가 loading
를 반환하는 동안 MRAID 버전을 확인하지 마세요.
mraid.resize()
mraid.resize()
가 호출되면 원본 배너가 배너의 스크린샷 이미지로 대체됩니다. 크기가 조정된 광고가 원래 광고 공간을 덮지 않으면 이 문제가 눈에 띕니다.
크기가 조정된 광고도 원래 배너 프레임을 따르지 않습니다. 배너가 스크롤 뷰에 배치된 경우 크기가 조정된 광고는 배너와 함께 스크롤되지 않습니다.
mraid.setResizeProperties()
mraid.setResizeProperties()
에 대한 모든 호출에는 필수 속성의 전체 목록이 포함되어야 합니다. 크기 조절 속성이 잘못된 경우 기본값으로 다시 설정되며, 유효한 매개변수로 mraid.setResizeProperties()
이 다시 호출될 때까지 mraid.resize()
에 대한 모든 후속 호출이 실패합니다.
mraid.getMaxSize()
mraid.getMaxSize()
는 크기가 조절된 광고의 최대 크기를 결정하는 데만 사용해야 합니다. 확장형 광고의 크기를 확인하려면 mraid.getScreenSize()
를 사용하세요.
mraid.setOrientationProperties()
allowOrientationChange
속성이 true
로 설정된 상태에서 mraid.setOrientationProperties()
를 호출하면 forceOrientation
속성을 설정해도 아무런 효과가 없습니다.
방향을 강제하려는 광고 소재는 allowOrientationChange
을 false
로 설정해야 합니다.
mraid.isViewable()
조회가 다른 방식으로 표시되는 광고를 가리는 경우에도 mraid.isViewable()
는 true
를 반환합니다. 앱 콘텐츠가 표시되는 광고를 가려서는 안 됩니다.
mraid.getCurrentPosition()
두 부분으로 구성된 확장형 광고가 펼쳐진 상태일 때 첫 번째 부분에서 mraid.getCurrentPosition()
를 호출하면 화면 크기가 반환됩니다.
mraid.supports()
SDK 버전 7.11.0부터 mraid.supports("storePicture")
및 mraid.supports("calendar")
는 항상 false
를 반환합니다. MRAID v2 사양에 따라 광고 소재는 이러한 메서드를 사용할 수 없는 경우를 처리할 수 있어야 합니다.
mraid.storePicture()
MRAID 광고 소재가 mraid.storePicture()
를 호출하면 앱이 이미지를 저장할 권한을 자동으로 요청합니다.