Note
These SDKs version are now deprecated. To view the Changelog of the current SDKs, click here.
Version 7.0.5
October 2017
Fixed
- Improved Centering Ads algorithm
- Bug fixes
Version 7.0.4
October 2017
Fixed
- Fixed VPAID bugs
Version 7.0.3
September 2017
Fixed
- Performance and stability
Version 7.0.2
September 2017
Fixed
- Performance and stability
Version 7.0.1
August 2017
Fixed
- Fixed VPAID bugs
- Support auto-hide for Interstitial Ads
Version 6.5.4
4 April 2017
Fixed
- Added MOAT SDK to the release package, relevant documentation can be found on this link
- Bug fixes
Version 6.5.3
6 Mary 2017
Updates
- Updated API - the InneractiveAdManager.activityPaused and InneractiveAdManager.activityResumed are deprecated and no need to use them anymore
Fixed
- Bug fixes
Version 6.5.0
16 January 2017
Updates
- Updated device location algorithm with improved performance
- Updated permissions in the AAR file
Version 6.4.1
23 October 2016
Fixed
- Minor bug fixes
Version 6.4.0
18 October 2016
Updates
- Added support for AAR
- Added new API for video duration and video progress
- Updated Video UI:
- Added Expand and Collapse controls for Native Ads
- Added new API to show the Call To Action button over the video in-feed
- Added Customised click mode for native in-feed - open landing page or video in full-screen
- Added new skip mode ('Immediately') allowing the User to close the Interstitial Ad without delay
- Added new API to position the video controls inside or outside the video
Fixed
- Bug fixes
Version 6.3.1
11 September 2016
Fixed
- Bug fixes
Version 6.3.0
31 August 2016
Updates
- Added new API for positioning video controls and progress bar color
Fixed
- Bug fixes
Version 6.2.0
7 August 2016
Fixed
- Deprecated 'Default Ad loaded' API (inneractiveDefaultBannerLoaded, inneractiveDefaultInterstitialLoaded)
- Android 7.0 (Nougat) support
- Bug fixes
Version 6.1.5.1
14 June 2016
Updates
- Added support for itegrating Native Ads within Recycler and ViewPager
Fixed
- Bug fixes: Fixed various video performance issues
- Improved Recycler view integration: Showing the video first frame instead of a Black frame when the video Native Ad is ready
Version 6.1.5
4 May 2016
Fixed
- Minor bug fixes
Version 6.1.4.2
19 April 2016
Fixed
- Bug fixes
Version 6.1.4.1
3 April 2016
Fixed
- Bug fixes
Version 6.1.4
30 March 2016
Updates
- Improved support for RecyclerView
Fixed
- Bug fixes
Version 6.1.3.1
9 March 2016
Fixed
- Minor bug fixes
Version 6.1.3
3 March 2016
Fixed
- Bug fixes
- Fixed various performance issues
Version 6.1.2
8 February 2016
Updates
- Updated new mute button to video ads
Fixed
- Bug fixes
Version 6.1.0
27 December 2015
Updates
- Added mute button to video ads.
- Update Native API for requesting Image or Video only (Use function setMode in Class InneractiveNativeAdRequest)
- Update API for positioning the video controls (Mute, Time) over the Ad layout (Using Class InneractiveVideoOverlayPosition instead of InneractivePlayerTimePosition)
- Block Auto-redirect - Redirection without use interaction is now blocked and reported to Inneractive for inspection
Fixed
- Bug fixes
Version 6.0.1.1
20 October 2015
Fixed
- Minor bug fixes
Version 6.0.1
15 October 2015
Updates
- Android 6.0 (Marshmallow) Support - Replaced usage of HttpClient with HttpURLConnection
- Added new full screen video orientation modes for both Portrait, Landscape and Auto-Rotation
Fixed
- Bug fixes
Version 6.0.0
4 August 2015
Updates
- Support Native Ads based on IAB Native Extension 1.0 (part of OpenRTB2.3)
- New IA Branding
- Uses Gson for parsing Json objects
Fixed
- Bug fixes
Version 5.0.5.1
17 June 2015
Updates
- New AdMob plugin - easier to integrate
Fixed
- Bug fixes
Version 5.0.5
31 April 2015
Updates
- Added Publisher Configuration for video behaviour
- New MoPub plugin – easier to integrate
- Added new events for Interstitial:
- Report Video completion event
- Is the Interstitial Ad is video
Fixed
- Bug Fixes
Version 5.0.4.1
9 March 2015
Fixed
- Bug fixes
- Unity Plugin support
- Interstitial video enhancements
Version 5.0.4
1 December 2014
Updates
- Updated Google Play Services 21.0 support.
- Vast improvements:
- Fixed various stability and performance issues.
- Supports new media types and devices.
- Upgraded media player UI.
Fixed
- Bug fixes
Version 5.0.3
1 September 2014
Fixed
- Bug fixes
Version 5.0.2
29 July 2014
Updates
- Added the option to disable Android ID and Device ID. The default is enabled.
- Updated Millennial Media 5.3.0 support.
- Updated Google Play Services 18.0 support.
- Updated MoPub 2.3 support.
-
- Rich Media improvements were added.
-
- Ad Report feature was added for Debug level.
Following Google's new advertising id policy (https://support.google.com/googleplay/android-developer/answer/6048248?rd=1), we've added new API for Android ID and Device ID control:
publicvoidsetAndroidIdEnabled(booleanenabled); publicvoidsetDeviceIdEnabled(booleanenabled);
The default will be true, and will provide the Android ID and Device ID encrypted.
Version 5.0.1
1 July 2014
Updates
- Millennial Media SDK is bundled in.
- Advertising ID (Google Play Services) was added along with Limited Ad Tracking.
- New events were added to the listeners.
- loading ad timeout control was added.
- Upgraded infrastructure with new API. For detailed information: https://confluence.inner-active.com/display/DevWiki/Android+SDK+guidelines
- VAST improvements were implemented.
The following table summarizes implementation differences between the Previous Android SDK (v4.0.4) and the new Android SDK (v5.0.1) and can be used as a checklist when migrating.
Concept | Previous Android SDK | Android SDK 5.0.1 |
---|---|---|
Importing library classes | import com.inneractive.api.ads.*; | public interface InneractiveBannerAdListener { public void inneractiveBannerLoaded(InneractiveAdView banner); public void inneractiveDefaultBannerLoaded(InneractiveAdView banner); public void inneractiveBannerFailed(InneractiveAdView banner,InneractiveErrorCode errorCode); public void inneractiveBannerClicked(InneractiveAdView banner); public void inneractiveBannerExpanded(InneractiveAdView banner); public void inneractiveBannerCollapsed(InneractiveAdView banner); public void inneractiveBannerResized(InneractiveAdView banner); public void inneractiveAdWillOpenExternalApp(InneractiveAdView banner); public void inneractiveInternalBrowserDismissed(InneractiveAdView banner); } |
Declaring the Activity in AndroidManifest.xml | InneractiveAd iaView = new InneractiveAd(Context,"MyCompany_MyApp", InneractiveAd.IaAdType.Banner,60); or: InneractiveAd.displayAd(Context,ViewGroup,"MyCompany_MyApp", InneractiveAd.IaAdType.Banner, 60); // few APIs are available for both options |
InneractiveAdView iaView = new InneractiveAdView(Context,"MyCompany_MyApp",AdType.Banner); iaView.setRefreshInterval(30); // Displaying the ad iaView.loadAd(); // static option was deprecated. |
Passing optional parameters | Hashtable<InneractiveAd.IaOptionalParams, String> metaData = new Hashtable<InneractiveAd.IaOptionalParams,String>(); metaData.put(InneractiveAd.IaOptionalParams.Key_Keywords,"Arcade"); metaData.put(InneractiveAd.IaOptionalParams.Key_Age, "34"); metaData.put(InneractiveAd.IaOptionalParams.Key_Gender,"M"); metaData.put(InneractiveAd.IaOptionalParams.Key_Alignment, String.valueOf(InneractiveAd.IaAdAlignment.CENTER)); metaData.put(InneractiveAd.IaOptionalParams.Key_RequiredAdWidth, "320"); metaData.put(InneractiveAd.IaOptionalParams.Key_RequiredAdHeight, "50"); metaData.put(InneractiveAd.IaOptionalParams.Key_OptionalAdWidth, "320"); metaData.put(InneractiveAd.IaOptionalParams.Key_OptionalAdWidth, "50"); InneractiveAd iaView = new InneractiveAd(Context, "MyCompany_MyApp", InneractiveAd.IaAdType.Banner, 60, metaData); |
InneractiveAdView iaView = InneractiveAdView(this, "MyCompany_MyApp", AdType.Banner); iaView.setRefreshInterval(30); iaView.setKeywords("Arcade, Action"); iaView.setAge(34); iaView.setGender(Gender.FEMALE); iaView.setZipCode("94401"); iaView.setBannerAdListener(this); iaView.loadAd(); // Deprecated: Key_Alignment, Key_RequiredAdWidth, Key_RequiredAdHeight, Key_OptionalAdWidth, Key_OptionalAdHeight |
Importing library classes | import com.inneractive.api.ads.*; | import com.inneractive.api.ads.sdk.*; |
Setting Listener | class MyClass implements InneractiveAdListener { public void onIaAdReceived() {} public void onIaDefaultAdReceived() {} public void onIaAdFailed() {} public void onIaAdClicked() {} public void onIaAdResize() {} public void onIaAdResizeClosed() {} public void onIaAdExpand() {} public void onIaAdExpandClosed() {} } iaView.setInneractiveListener(new MyClass()); |
class MyClass implements InneractiveBannerAdListener { public void inneractiveBannerLoaded(InneractiveAdView banner) {} public void inneractiveDefaultBannerLoaded(InneractiveAdView banner) {} public void inneractiveBannerFailed(InneractiveAdView banner, InneractiveErrorCode errorCode){} public void inneractiveBannerClicked(InneractiveAdView banner){} public void inneractiveBannerExpanded(InneractiveAdView banner){} public void inneractiveBannerCollapsed(InneractiveAdView banner){} public void inneractiveBannerResized(InneractiveAdView banner){} public void inneractiveAdWillOpenExternalApp(InneractiveAdView banner){} public void inneractiveInternalBrowserDismissed(InneractiveAdView banner) } iaView.setInneractiveListener(new MyClass()); |
Inneractive Ad View lifecycle methods | @Override public void onDestroy() { if(iaView != null) adView.cleanUp(); super.onDestroy(); } |
public void onDestroy() { if(iaView != null) adView.cleanUp(); super.onDestroy(); } @Override public void onDestroy() { if(iaView != null) adView.destroy(); super.onDestroy(); } |
Creating InneractiveAdView in XML and loading an ad |
<com.inneractive.api.ads.InneractiveAd android:id="@+id/banner_ad" xmlns:inneractive= "http://schemas.android.com/apk/res/com.inneractive.api.ads.sampleforxml" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity= "center_horizontal" inneractive:appID="MyCompany_MyApp" inneractive:adType="Banner" inneractive:age="27" inneractive:gender="F" inneractive:keywords="entertainment,movies" inneractive:refreshInterval="60" /> // No Java code required, only if you wish to set the listener |
<com.inneractive.api.ads.sdk.InneractiveAdView android:id="@+id/banner_ad" xmlns:inneractive="http://schemas.android.com/apk/res/com.inneractive.api.ads.sample" android:layout_width="match_parent" android:layout_height="match_parent" inneractive:appId="MyCompany_MyApp" inneractive:adType="BANNER" inneractive:refreshInterval="60" inneractive:age="27" inneractive:gender="FEMALE" inneractive:zipCode="94404" inneractive:keywords="entertainment,movies" /> // Java code required. iaBanner = (InneractiveAdView) findViewById(R.id.banner_ad); iaBanner.setBannerAdListener(this); iaBanner.loadAd(); |
Declaring the Activity in AndroidManifest.xml | Concept Previous Android SDK Android SDK v5.0.1 |