- 5 breaking
- 6 added
- 15 fixed
The first release with a single version for all platforms and public documentation. Earlier builds had separate numbers for Android, iOS and the browser. Starting with 3.0.0 there is one version.
Before you upgrade
These changes need updates to your integration.
- AllThe version number is now shared by Android, Android TV, iOS and the browser. Use version
3.0.0in the SDK address instead of the platform-specific numbers. - All
{{SDK_VERSION}}in the VAST URL now resolves to3.0.0(was2.5.0). - iOSAn error before the ad loads arrives in the same shape as every other event:
{ name: "AdError", code, message, type, … }instead of adatafield. - WebThe playback-blocked error code is now
permission_denied(waspremission denied). - All
autoplay=falseandautoplay=0no longer turn autoplay on.
Added 6
- AllSDK address on the CDN: platform and version in the path —
https://cdn.adsdk.ru/android/v3/. Thev3channel gets every 3.x fix,v3.0.0never changes,latestis for debugging. Theosparameter still works for addresses without a platform in the path. - AllRedesigned ad UI on Android, Android TV and iOS: new button layout and a scrim behind the buttons for readability.
- Android TVThe
ad-noticecontrol: a caption about ads in the corner of the screen. - AllThe
allvalue incontrolsenables every control available on the platform. - AllThe SDK waits until the page has a size before loading an ad. If the page still has no size after 3 seconds,
AdErrorarrives with codeviewport_unavailable. - All
os=webin a WebView now fails right away withAdErrorcodeweb_ui_in_native_build.
Fixed 15
- AndroidAn error before the ad loads reaches
AdErroronce instead of twice. The SDK picks the signature the app declared: 6, 4 or 3 arguments. - Android
AdPodCompletedreceivesad_is_lastinstead ofundefined. - All
AdPodCompletedreports the real pod length instead of0, and the number of shown creativesad_pod_showed_counton every platform. - All
AdSkippableStateChangedpassesstatus: trueinstead of an event object. On Android theAdSkippableStateChanged(Boolean)method is now actually called. - WebStyles load from the stable
style.cssaddress. - Web
AdsEndedfires once instead of twice. - All
getAdCurrentTimeSec()returns seconds instead of milliseconds. When the app's player plays the video, it returns the time fromtimeupdateAd(), so the skip button countdown runs correctly. - All
getAdSkippableState()returnstrueafterAdSkippableStateChanged, including when the app's player plays the video. - AllEvery creative of an ad pod becomes skippable:
AdSkippableStateChangedused to fire for the first one only. - AllWith
autoplayin a WebView the ad becomes skippable atskipoffset, not right after it starts. - AllWhen the platform cannot be detected,
androidis used instead of an empty UI. - AllInvalid
ad_media_file_widthandad_media_max_duration_secvalues are ignored instead of breaking media file selection. - All
AdLoaded, quartiles andAdCompletefire exactly once per creative, VPAID included. - Web
AdCompletetracking. - WebUnhandled promise rejection when starting playback.