Google IMA Android SDK 版本历史记录

Version Release Date Notes
3.33.0 3/28/2024
3.32.0 Deprecated 1/30/2024
  • This version has an issue with device running Android API levels 25 and lower. Use IMA SDK Android v3.33.0 instead.
  • Adds third-party stitcher VOD stream support for pod serving. See the Android pod serving guide for more info. This change includes adding the following APIs:
  • Increase the minSdkVersion that IMA supports to 19.
  • Fixes the issue where ad clickthroughs using the Learn more button wouldn't open a new page in Android API version 30 and higher. The issue still exists on IMA SDK versions 3.31.0 through 3.29.0 where a workaround is needed for ad clickthroughs to work.
  • Fixes a bug where using AdsLoader.addAdsLoadedListener() could cause an ArrayIndexOutOfBoundsException exception.
  • Adds the ad error VAST_NO_ADS_AFTER_WRAPPER.
3.31.0 8/31/2023
  • There is an issue with IMA SDK versions 3.31.0 through 3.29.0 with Android API version 30 and higher where ad clickthroughs using the Learn more button don't open a new page. As a workaround for the affected versions, you should add intent declarations to open web links in your app manifest as follows:
              <?xml version="1.0" encoding="utf-8"?>
              <manifest xmlns:android="http://schemas.android.com/apk/res/android"
                  package="com.example.project_name">
                  ...
                  </application>
                  <queries>
                      <intent>
                          <action android:name="android.intent.action.VIEW" />
                          <data android:scheme="https" />
                      </intent>
                      <intent>
                          <action android:name="android.intent.action.VIEW" />
                          <data android:scheme="http" />
                      </intent>
                  </queries>
              </manifest>
            
  • Updates IMA's dependency of OM SDK to version 1.4.8, which includes new connected TV signals.
  • Deprecates the following AdsRequest APIs:
    • getExtraParameter()
    • getExtraParameters()
    • setExtraParameter()
  • SDK version 3.31.0 will be deprecated on 1/XX/2025. See the Deprecation Schedule for more details.
3.30.3 8/03/2023
  • Updates internal library dependencies to improve startup latency.
  • SDK version 3.30.3 will be deprecated on 8/31/2024. See the Deprecation Schedule for more details.
3.30.2 7/28/2023
  • Fixes the unexpected NullPointerException errors introduced in v3.30.1.
  • Fixes an issue with proguarding which caused some events to not be emitted from the SDK. This bugfix affects the ExoPlayer extension for the IMA DAI SDK.
  • Adds support for Gradle v8+. Past versions of the Android IMA SDK need to set android.enableR8.fullMode=false in the gradle.properties file. See the R8 full mode article for more info.
  • SDK version 3.30.2 will be deprecated on 8/03/2024. See the Deprecation Schedule for more details.
3.30.1 Deprecated 4/18/2023
  • This version has an issue with unexpected NullPointerException errors. Use the older IMA SDK Android v3.29.0 until a newer working version is released.
  • Fixes an issue where apps using v3.30.0 crash on non-Android TV devices.
3.30.0 Deprecated 3/29/2023
3.29.0 10/14/2022
  • Renames the EspVersion class to the VersionInfo class.
  • Renames the Encrypted Signals for Publishers (ESP) APIs to the Secure Signals APIs.
  • Adds the feature flags APIs. You can use the feature flag APIs to enable or disable specific features in IMA. Use ImaSdkSettings.getFeatureFlags() and ImaSdkSettings.setFeatureFlags() to get and set feature flags.
  • Fixes an issue where some IMA events weren't sent.
  • Adds androidx.webkit:webkit as an IMA SDK dependency
  • SDK version 3.29.0 will be deprecated on 3/29/2024. See the Deprecation Schedule for more details.
3.28.2 9/14/2022
  • Updates SDK dependencies to use AndroidX.
  • SDK version 3.28.2 will be deprecated on 10/14/2023. See the Deprecation Schedule for more details.
3.28.1 Deprecated 8/3/2022
3.27.1 5/27/2022
  • Service release, no new features.
  • SDK version 3.27.1 will be deprecated on 8/3/2023. See the Deprecation Schedule for more details.
3.27.0 3/1/2022
  • Adds support for fluid sized companion slots by setting companion width and height to the IMA constant FLUID_SIZE .
  • SDK version 3.27.0 will be deprecated on 5/27/2023. See the Deprecation Schedule for more details.
3.26.0 1/12/2022
  • Adds Encrypted Signals for Publishers (ESP) APIs (renamed to Secure Signals in IMA SDK v3.29.0). This lets publishers enable Network Bidders and IDPs.
  • SDK version 3.26.0 will be deprecated on 3/1/2023. See the Deprecation Schedule for more details.
3.25.1 11/08/2021
  • Adds AdsRenderingSettings.setEnableCustomTabs() and AdsRenderingSettings.getEnableCustomTabs() for in-app click-through of ads using custom tabs.
  • Starting from version 3.25.1, IMA SDK includes the com.google.android.gms.permission.AD_ID permission in the SDK's manifest that is automatically merged into the app manifest by Android build tools. To learn more about the AD_ID permission declaration, including how to disable it, refer to this Play Console Help article.
  • Adds support for the app set ID for use cases such as reporting and fraud prevention.
  • Adds performance improvements when using multiple AdsLoader instances by supporting thread caching and reuse.
  • SDK version 3.25.1 will be deprecated on 1/12/2023. See the Deprecation Schedule for more details.
3.24.0 6/3/2021
3.23.0 4/7/2021
  • Adds the ImaSdkSettings.setSessionId() and the ImaSdkSettings.getSessionId() methods to get and set the Session ID. This is a temporary random ID used exclusively for frequency capping.
  • Fixes a NullPointerException error related to companion ads.
  • Disables javascript within companion ads lower then API level 21 to fix an issue with security vulnerabilities.
  • SDK version 3.23.0 will be deprecated on 6/3/2022. See the Deprecation Schedule for more details.
3.22.3 3/16/2021
  • Fixes a NullPointerException error related to releasing the AdsLoader while an ad is being loaded.
  • Adds the 1206 error for an UNEXPECTED_ADS_LOADED_EVENT in cases when an ads loaded event is sent unexpected.
  • SDK version 3.22.3 will be deprecated on 4/7/2022. See the Deprecation Schedule for more details.
3.22.2 2/26/2021
  • The IMA SDK now depends on the following libraries:
    • com.google.android.gms:play-services-base
    • com.google.android.gms:play-services-basement
    • androidx.preference:preference
  • Fixes the error message when AdsLoader would receive an error without a valid session ID.
  • SDK version 3.22.2 will be deprecated on 3/16/2022. See the Deprecation Schedule for more details.
3.22.0 1/11/2021
  • Adds pod serving for DAI streams. In the pod serving workflow, Ads Manager is only responsible for serving ads. Publishers are responsible for content and creating the manifest that will then point to Ads Manager. Use ImaSdkFactory.createPodStreamRequest() to create a stream request for pod serving. If using this, you will be responsible for loading the stream on streamInit().
  • Fixes a memory leak caused by the app lifecycle monitor not being properly cleaned up.
  • SDK version 3.22.0 will be deprecated on 2/26/2022. See the Deprecation Schedule for more details.
3.21.4 12/9/2020
  • Removes a harmless warning message related to calling adsLoader.release() after the webview has been destroyed.
  • SDK version 3.21.4 will be deprecated on 1/8/2022. See the Deprecation Schedule for more details.
3.21.2 11/20/2020
  • Fixes unexpected thread-safe issues caused by sending message updates from an empty queue.
  • Updates the documentation for AdsLoader.release().
  • SDK version 3.21.2 will be deprecated on 12/9/2021. See the Deprecation Schedule for more details.
3.21.1 11/17/2020
  • Fixes an issue that occasionally led to app crashes when events were fired.
  • SDK version 3.21.1 will be deprecated on 11/20/2021. See the Deprecation Schedule for more details.
3.21.0 10/23/2020
  • Adds support for SIMID ads in the DAI Android SDK.
  • Adds the AdsLoader.release() method and deprecates BaseDisplayContainer.destroy(). This change resolves a memory leak which occurred when disposing of a BaseDisplayContainer in the middle of a VMAP ad schedule. AdsLoader.release() is the new recommended method to dispose of IMA SDK objects, instead of using BaseDisplayContainer.destroy().
  • SDK version 3.21.0 will be deprecated on 11/17/2021. See the Deprecation Schedule for more details.
3.20.1 10/12/2020
3.20.0 8/18/2020
  • Version 3.20.0 is the first version that will be affected by the changes to IMA pause behavior. If you use this or any future version of the SDK we recommend reading the blog post and making the changes to pause behavior in your application. Publishers can test their implementation of these changes using the test ad tag.
  • Adds the onPause() and onResume() callbacks for the DAI VideoStreamPlayer class.
  • Adds the adPeriodDuration() method to the AdProgressInfo class.
  • Adds support for icon click fallback images on Android TV devices.
  • Adds the ICON_FALLBACK_IMAGE_CLOSED event to handle when the icon fallback image is closed on Android TV devices.
  • Removes the deprecated focusSkipButton() method from AdsManager in favor of the focus() method.
  • For CTV devices, ads are now auto focused when the AdEvent.AdEventType STARTED event is fired. To disable auto focus for ads, use the adsRenderingSettings.setFocusSkipButtonWhenAvailable(false) method and then use the focus() method based on the custom requirements.
  • Adds the getCurrentTimeMs() and getDurationMs methods to the VideoProgressUpdate() class.
  • Deprecates the getCurrentTime and getDuration methods in favor of the new getCurrentTimeMs and getDurationMs methods.
  • Fixes an issue for DASH live streams where ad events were not being reported correctly.
  • SDK version 3.20.0 will be deprecated on 10/12/2021. See the Deprecation Schedule for more details.
3.19.4 7/8/2020
3.19.3 6/29/2020
  • Fixes an issue with the IAB TCF integration for GDPR that caused crashes for players integrated with Consent Management Platform SDKs.
  • SDK version 3.19.3 will be deprecated on 7/8/2021. See the Deprecation Schedule for more details.
3.19.2 6/22/2020
3.19.0 5/12/2020
3.18.1 3/25/2020
  • Adds scaling for Companion Ads on high-pixel-density devices.
  • Adds support for client-side SIMID ads.
  • SDK version 3.18.1 will be deprecated on 5/12/2021. See the Deprecation Schedule for more details.
3.18.0 3/4/2020
  • Adds pause() and resume() to the VideoStreamPlayer interface. These must be implemented for v3.18.0 and later.
  • SDK version 3.18.0 will be deprecated on 3/25/2021. See the Deprecation Schedule for more details.
3.17.0 2/7/2020
3.16.5 1/22/2020
  • Reworks support for OMID 1.3 contentUrl with AdsRequest.setContentUrl and StreamRequest.setContentUrl .
  • Reworks support for OMID 1.3 friendly obstructions with FriendlyObstruction .
  • Deprecates the methods BaseDisplayContainer.registerVideoControlsOverlay and BaseDisplayContainer.unregisterAllVideoControlsOverlay in favor of FriendlyObstruction .
  • Fixes an issue with a NullPointerException occurring after calling clear() on CompanionAdSlots.
  • Fixes an issue that was potentially causing memory leaks when calling destroy() during ad playback.
  • SDK version 3.16.5 will be deprecated on 2/7/2021. See the Deprecation Schedule for more details.
3.16.2 12/5/2019
  • Adds support for automatic inclusion of consent parameters from IAB TCFv2 and CCPA.
  • Using Android preferences now requires the androidx package.
  • SDK version 3.16.2 will be deprecated on 1/22/2021. See the Deprecation Schedule for more details.
3.16.1 11/8/2019
3.16.0 10/23/2019
  • Adds the replaceAdTagParameters method to the StreamManager, which provides the ability to replace all ad tag parameters during a livestream.
  • Removes support of the following deprecated methods:
    • AdsRequest.getAdDisplayContainer()
    • AdsRequest.setAdDisplayContainer(AdDisplayContainer adDisplayContainer)
    • ImaSdkFactory.createAdsLoader(Context context)
    • ImaSdkFactory.createAdsLoader(Context context, ImaSdkSettings settings)
    • ImaSdkFactory.createLiveStreamRequest(String assetKey, String apiKey, StreamDisplayContainer streamDisplayContainer)
    • ImaSdkFactory.createVodStreamRequest(String contentSourceId, String videoId, String apiKey, StreamDisplayContainer streamDisplayContainer)
    • StreamRequest.getStreamDisplayContainer()
  • SDK version 3.16.0 will be deprecated on 11/8/2020. See the Deprecation Schedule for more details.
3.14.0 9/11/2019
  • Service release, no new features.
  • SDK version 3.14.0 will be deprecated on 10/23/2020. See the Deprecation Schedule for more details.
3.13.1 9/3/2019
  • Adds the ability to set the continuous play context for an ads request. See the setContinuousPlayback() for more details.
  • Adds the getUniversalAdIds() method to the Ad class.
  • Adds the setAuthToken, getAuthToken, setFormat, getFormat and the StreamFormat enum.
  • Fixes an error in nexus 5 devices that occurs when a container is removed before receiving an ad response.
  • Fixes an issue where companion ads would only render once.
  • Fixes an issue where unsupported ad types (nonlinears, VPAID) were not failing gracefully.
  • SDK version 3.13.1 will be deprecated on 9/11/2020. See the Deprecation Schedule for more details.
3.11.3 6/11/2019
  • Fixes bug with is_lat setting on AOSP devices.
  • SDK version 3.11.3 will be deprecated on 9/3/2020. See the Deprecation Schedule for more details.
3.11.2 4/16/2019
  • Fixes the following crash: java.lang.ClassNotFoundException: Didn't find class "j$.util.concurrent.ConcurrentHashMap".
  • SDK version 3.11.0 is officially deprecated as of 6/11/2020. See the Deprecation Schedule for more details.
3.11.0 Deprecated 3/22/2019
3.10.9 3/13/2019
  • Fixed a race condition bug where ad UI sometimes doesn't render on subsequent ads after the first ad is skipped.
  • Fixed a crash that occurred when calling the getCompanionAds() API.
  • SDK version 3.10.7 will be deprecated on 3/22/2020. See the Deprecation Schedule for more details.
3.10.7 2/19/2019
3.10.6 1/23/2019
  • Adds seek() method to the stream player interface.
  • Adds support for AD_BUFFERING ad event callbacks.
  • Containers must no longer be passed in the ad request. The new workflow requires a container to be passed through an AdsLoader constructor.
  • Adds the BaseDisplayContainer.destroy() method.
  • Fixes a memory leak that occurred when video playback completes.
  • Deprecates requestNextAdBreak. This API will be removed in a future release. Afterwards, ads will automatically be fetched 4 seconds before ad break time.
  • SDK version 3.10.2 will be deprecated on 2/19/2020. See the Deprecation Schedule for more details.
3.10.2 11/13/2018
  • Fixes a race condition that causes the second ad in a pod to throw a VAST 402 error.
  • Adds frequency capping and competitive exclusion to the DAI Android SDK.
  • Moves getAdProgressInfo() from StreamManager to BaseManager.
  • Adds getVastMediaHeight(), getVastMediaWidth() and getVastMediaBitrate() to Ad.
  • SDK version 3.9.4 will be deprecated on 1/23/2020. See the Deprecation Schedule for more details.
3.9.4 8/1/2018
  • Adds getCompanionAds() to Ad. This returns companion ads while using DAI only.
  • Adds new CompanionAd class.
  • Adds new SKIPPABLE_STATE_CHANGED event to AdEvent.
  • Fixes an issue where the default setting for focusSkipButtonWhenAvailable wasn't being respected in some cases.
  • SDK version 3.9.0 will be deprecated on 8/1/2019. See the Deprecation Schedule for more details.
3.9.0 7/9/2018
  • Android TV is now supported.
  • Adds focusSkipButton() to AdsManager. This will only work on Android TV.
  • Adds getFocusSkipButtonWhenAvailable() to AdsRenderingSettings, defaulting to true. This will only work on Android TV.
  • Adds setFocusSkipButtonWhenAvailable() to AdsRenderingSettings. This will only work on Android TV.
  • VideoAdPlayer now extends the VolumeProvider interface. Implementing this interface is now required for custom playback.
  • SDK version 3.8.7 will be deprecated on 7/9/2019. See the Deprecation Schedule for more details.
3.8.7 5/23/2018
  • Allows animation in HTML companion ads.
  • SDK version 3.8.5 will be deprecated on 5/23/2019. See the Deprecation Schedule for more details.
3.8.5 4/9/2018
  • Fixes an issue with ImaSdkSettings being ignored.
  • Fixes an issue where there were build conflicts with com.android.support version files.
  • Adds setAdWillPlayMuted to AdsRequest.
  • Adds setLoadVideoTimeout to AdsRenderingSettings.
  • SDK version 3.8.2 will be deprecated on 4/9/2019. See the Deprecation Schedule for more details.
3.8.2 1/24/2018
  • Adds setLiveStreamPrefetchSeconds to AdsRequest.
  • Various documentation fixes.
  • SDK version 3.7.4 will be deprecated on 1/24/2019. See the Deprecation Schedule for more details.
3.7.4 6/29/2017
  • Adds setVastLoadTimeout to AdsRequest.
  • Adds getSkipTimeOffset to Ad.
  • SDK version 3.7.2 will be deprecated on 6/29/2018. See the Deprecation Schedule for more details.
3.7.2 5/25/2017
  • Adds setDebugMode to ImaSdkSettings.
  • SDK version 3.7.1 will be deprecated on 5/25/2018. See the Deprecation Schedule for more details.
3.7.1 3/24/2017
  • Resolves a namespace conflict when using Proguard.
  • Jar size reduced by around 30KB.
  • SDK version 3.7.0 will be deprecated on 3/24/2018. See the Deprecation Schedule for more details.
3.7.0 3/13/2017
  • Fixes an issue where some IMA classes were inadvertently merged into ProGuard's a.a.a.a package.
  • SDK version 3.6.0 will be deprecated on 3/13/2018. See the Deprecation Schedule for more details.
3.6.0 2/16/2017
  • Adds the following to Ad:
    • getAdWrapperCreativeIds()
    • getAdvertiserName()
    • getCreativeAdId()
    • getCreativeId()
    • getDealId()
    • getSurveyUrl()
    • getUniversalAdIdRegistry()
    • getUniversalAdIdValue()
  • Adds AdsManager.requestNextAdBreak().
  • Adds the following to AdsRenderingSettings:
    • setEnablePreloading()
    • getEnablePreloading()
  • Adds the following to AdsRequest:
    • setContentDuration()
    • setContentKeywords()
    • setContentTitle()
  • SDK version 3.5.2 will be deprecated on 2/16/2018. See the Deprecation Schedule for more details.
3.5.2 11/14/2016
  • Adds an SDK-owned video player that optionally handles ad playback.
  • Adds CompanionAdSlot.ClickListener and methods to add and remove a listener.
  • Fixes an issue with invalid getViewability() error logs.
  • Fixes an issue with icons' clickthrough behavior and not rendering correctly.
  • SDK version 3.4.0 will be deprecated on 11/14/2017. See the Deprecation Schedule for more details.
3.4.0 9/12/2016
  • Fixes a duplicate files error when using Google Play services version 9.0.0 and up.
3.3.2 7/11/2016
3.3.0 5/31/2016
3.2.1 4/7/2016
  • Service release, no new features.
3.1.3 12/16/2015
3.b13.3 (beta) 9/10/2015
  • Service release, no new features.
3.b12.1 (beta) 7/20/2015
3.b11.4 (beta) 5/21/2015
  • Adds the following to the API:
    • AdError.AdErrorCode.VAST_EMPTY_RESPONSE
    • AdError.getErrorNumber()
    • AdsRequest.setAdWillAutoPlay(Boolean)
    • CompanionAdSlot.isFilled()
    • ImaSdkSettings.setPlayerType(String)
    • ImaSdkSettings.setPlayerVersion(String)
3.b10.3 (beta) 3/24/2015
  • Added ImaSdkSettings.getMaxRedirects and ImaSdkSettings.setMaxRedirects.
  • IMA API classes are now final.
  • SDK version numbers are now in the format 3.bX.Y with b to indicate the SDK's beta status.
  • The following AdError.AdErrorCode values have been removed:
    • API_ERROR - instead use UNKNOWN_AD_RESPONSE.
    • PLAYLIST_MALFORMED_RESPONSE - instead use UNKNOWN_AD_RESPONSE.
    • REQUIRED_LISTENERS_NOT_ADDED - was not being raised by the SDK.
    • VAST_INVALID_URL - instead use VAST_LOAD_TIMEOUT.
Beta v9 10/17/2014
  • Adds the Ad APIs getTitle, getDescription, and getContentType.
  • Adds information about ad pod position to the ad UI, for example, "Ad 1 of 4: (0:13)".
  • You should no longer directly control the pause/play/resume of ads using your video player. Instead, use AdsManager.pause() and AdsManager.resume().
Beta v8 6/12/2014
  • Fixes an issue with the ad UI not clearing for skippable ads.
  • Documents the error code for media file load timeouts.
Beta v7 5/27/2014
  • Fixes an issue with Google Play services. The SDK now requires that Google Play services be built into your app. For more information, see Set Up Google Play services SDK.
Beta v6 4/14/2014
  • Adds VAST 3 support.
  • Adds partial VMAP support (parity with current Ad Manager ad rules).
  • Adds the following to the API:
    • AdError.AdErrorCode.ADS_REQUEST_NETWORK_ERROR
    • AdEvent.AdEventType.LOG
    • AdEvent.getAdData()
    • AdPodInfo.getMaximumDuration()
    • AdPodInfo.getPodIndex()
    • AdPodInfo.getTimeOffset()
  • Fixes a bug where mid-rolls with an optimized pod with a wrapper caused all other ads in the pod to be skipped.
  • AdsRenderingSettings passed to the AdsManager will no longer be ignored.
  • Fixed multiple bugs to add stability.
Beta v5 12/12/2013
  • Fixes issue with skippable ads in playlists.
Beta v4 10/15/2013
  • Added ability to reset correlator values by calling contentComplete on the AdsLoader.
Beta v3 9/5/2013
  • Service release, no new features.
Beta v2 7/7/2013
  • Public release of Beta version of SDK.
Closed Beta v2 6/24/2013
  • Added API to set UI language on ImaSdkSettings object. Note that this is used to set the UI language, not the ad language.
  • Fixed conflict that was being encountered when an app included both IMA SDK and AdMob SDK libraries.
  • Added logging for various internal performance metrics.
Closed Beta v1 4/2/2013
  • Initial Beta release. The following are known issues with the Beta release:

    SDK-related

    The following AdEvents available within the HTML5 IMA SDK are not supported within the Android v3 IMA SDK: IMPRESSION, LOG, SKIPPABLE_STATE_CHANGED, STOPPED, VOLUME_CHANGED, VOLUME_MUTED

    Sample App-related

    1. There is an intermittent issue where the ad player does not properly resume after the user has clicked through on an ad. For example, occasionally, when you return to the app after clicking through on an ad, resuming play of that ad causes it to skip to the end and complete, rather than resuming where it left off prior to click through.
    2. The ads returned by the "Instream 2" ad tag are not compatible with the v3 IMA Android SDK.
    3. The sample player does not automatically disable seeking (scrubbing) while ads are playing. Be sure to disable seeking in your video player while ads are being played.