By Tom Ball, Google Engineering
J2ObjC 1.0 Release
By Tom Ball, Google Engineering
We are pleased to announce the release of the IMA SDK for iOS v3.1.0. This release contains support for Picture in Picture in iOS 9 and HTML5 companion ads. It also introduces a new API, [IMAAdsManager discardAdBreak]
, for discarding ad breaks. In addition, we have changed where IMAContentPlayhead
is passed to the SDK.
Picture in Picture (PiP) is a feature that was introduced in iOS 9, and now IMA publishers can add it to their existing IMA implementation. For more information, please see our PiP guide.
The IMA SDK now supports HTML5 companion ads. There is no implementation change required to use HTML5 companion ads. The SDK uses the same companion ad slot classes and delegates as before.
We have also introduced a new API for discarding ad breaks. Publishers can use [IMAAdsManager discardAdBreak] to implement timeout policies for their apps and to have more control over ad playback.
IMAContentPlayhead
is now passed into IMAAdsRequest instead of the IMAAdsManager
. This change will require an update to existing implementations.
If you have any questions about these changes, feel free to contact us via the support forum.
The Google Mobile Ads API Demo apps for Android and iOS are now available. These new apps contain advanced examples for both AdMob and DoubleClick for Publishers (DFP) that demonstrate features of the Google Mobile Ads SDK that can help you improve the user experience and maximize ad revenue. Whether you’re a new publisher or a seasoned veteran of the SDK, the API Demo apps showcase new ways to customize ad requests, experiment with multiple ad sizes, and compare AdMob and DFP technologies.
Download the API Demo apps for Android and iOS today and explore new ways to improve your integration with the Google Mobile Ads SDK!
If you have any questions regarding the new API Demo apps, feel free to contact us through our forum.
The rollout of iOS 9 is expected to come this Fall and will introduce a new privacy feature called App Transport Security (ATS) to enforce best practices in secure connections between an app and its back end. This change may need your action if you are developing with the Google Mobile Ads SDK and building an app against the iOS 9 SDK.
We recommend using HTTPS exclusively if you’re developing a new app. If you’re working on an existing app, we suggest using HTTPS as much as possible and creating a plan to migrate the rest of your app toward ATS compliance.
All iOS 9 devices running apps built with Xcode 7 that don’t disable ATS will be affected by this change. The following log message appears when a non-ATS compliant app attempts to serve an ad via HTTP on iOS 9:
“App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exceptions can be configured via your app’s Info.plist file.”
While Google remains committed to industry-wide adoption of HTTPS, there isn’t always full compliance on third party ad networks and custom creative code served via our systems. To ensure ads continue to serve on iOS9 devices for developers transitioning to HTTPS, the recommended short term fix is to add an exception that allows HTTP requests to succeed and non-secure content to load successfully.
Publishers can add an exception to their Info.plist to allow any insecure connection:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
If you have any questions regarding these changes, feel free to contact us through our forum.
In response to the growing popularity of Swift development, we’ve added Swift samples for the Google Mobile Ads SDK to our GitHub repo. To make it easier for developers to get started using Swift, we’ve also added Swift code snippets to our Get Started and Interstitial guides.
If you have any questions about using Swift with the Google Mobile Ads SDK, you can reach us on our forum. Remember that you can also find us on Google+, where we post updates on all of our Google Ads developer products.
Today we’re announcing two new versions of the Google Mobile Ads SDK: version 7.8 for Android, and version 7.4.1 for iOS. Those of you using Android Studio can download Google Repository (Rev. 20) to get the latest Gradle artifacts. Eclipse developers will find it listed as Google Play services (Rev. 26) in the Android SDK manager. Publishers with iOS apps can get the latest SDK for that platform by updating their CocoaPods Podfile to pull version 7.4.1 or by downloading it manually. These releases contain a number of stability and performance improvements, as well as some new features — including beta support for MRAID v2.0 on iOS and Android!
MRAID v2.0 offers a number of new methods that advertisers can use to improve their creatives. Ads using the new standard can store photos, resize themselves on the fly, query screen dimensions, and make calendar events using calls like this:
mraid.createCalendarEvent({
description: “A big sale at our store!”,
location: ‘123 Savings Street’,
start: ‘2015-9-01T09:00-05:00’,
end: ‘2012-12-22T10:00-05:00’
});
The new standard creates some great opportunities for increased engagement, so for more info about MRAID, see our iOS MRAID guide, our Android MRAID guide, or the IAB’s specifications document.
In the new Android release, we’ve added an isLoading
method to the AdLoader, AdView, and InterstitialAd classes so publishers can check whether an ad request is in progress. If you’re using an AdLoader
to fetch a native ad, for example, you can use a call like this to see if the request has completed:
if (!myAdLoader.isLoading()) {
/* The AdLoader isn’t busy making a request. */
myAdLoader.loadAd(new AdRequest.Builder().build());;
}
This SDK release introduces the GADMobileAds
class, which provides global settings for controlling certain information collected by the SDK. In-app purchase reporting and crash reporting are enabled by default. However, if you’d like, you can disable these settings in most instances by using the disableAutomatedInAppPurchaseReporting
and disableSDKCrashReporting
methods. See the global settings guide for more information.
For a full list of Mobile Ads SDK changes, check out our release notes. For technical questions, post them on our forum.
Last week, we released beta version 15 of the IMA SDK for iOS. This release includes two new features:
IMAAdsManager
delegatesWe’re providing more information on ad buffering by introducing new buffering events via the following optional IMAAdsManagerDelegate
methods:
adsManagerAdPlaybackReady:
adsManagerAdDidStartBuffering:
adsManager:adDidBufferToMediaTime:
Collectively, these delegate methods provide more transparency into buffer events, giving you more control over the user’s ad experience. For more detailed information on these new methods, take a look at the reference documentation.
We’ve introduced a new debugging mode setting to allow for more verbose logging to the console. You can now set IMASettings.enableDebugMode
to YES
to enable debug mode. This should not be used in production, as it will show a watermark on the ad player.
If you’re using CocoaPods with the IMA SDK, please make sure to use at least version 0.38.
As always, if you have any questions, feel free to contact us via the support forum.