Today we’re announcing the open beta release of the AdMob API v1. It offers a new and improved way to interact with AdMob reporting data programmatically.
Built with app publishers in mind, the new AdMob API will replace the need for you to use the AdSense API and provide enhanced capabilities to query AdMob reporting data. For example, unlike the AdSense API that uses different definitions of certain ads metrics for app publishers, the AdMob API includes metrics that are consistent with the AdMob UI.
The AdMob API v1 beta release offers the following benefits for app publishers:
Receive metrics that are more accurate and consistent with the AdMob UI.
Gain access to mediation reporting programmatically.
Integrate newer technologies like JSON REST into your product sooner.
We will continue to make improvements to the AdMob API and we encourage you to join the open beta now and provide feedback to influence the product roadmap before the general release.
How can I join the beta?
The beta is available to all AdMob users. You can start with the Getting Started guide or use the client libraries that we have created for you. Additional client library samples will be coming soon.
Today we’re releasing the Display & Video 360 API v1. It offers a new, improved way to interact with your Display & Video 360 resources programmatically.
This initial API release includes new asynchronous Structured Data File (SDF) download functionality. This allows for the generation and downloading of large SDFs without worrying about individual API requests timing out. This is a change compared to the existing DoubleClick Bid Manager (DBM) API SDF Download service. Along with this change, other major changes include:
New default version logic that utilizes the default version of the partner or advertiser specified by the user.
New filter capabilities, including the ability to specify the exact resources to include in the generated files.
New response format that returns the generated SDFs as a .zip file to download, rather than JSON.
The Display Video 360 API SDF Download service will be replacing the DBM API SDF Download service. The deprecation of that service will be announced soon, and an immediate migration to the new API is advised. You can get started setting up the Display & Video 360 API here, and downloading Structured Data Files here.
More functionality will be coming to the Display & Video 360 API in the coming months, including line item management and targeting. Keep an eye out for future announcements!
Today we’re releasing the Display & Video 360 API v1. It offers a new, improved way to interact with your Display & Video 360 resources programmatically.
This initial API release includes new asynchronous Structured Data File (SDF) download functionality. This allows for the generation and downloading of large SDFs without worrying about individual API requests timing out. This is a change compared to the existing DoubleClick Bid Manager (DBM) API SDF Download service. Along with this change, other major changes include:
New default version logic that utilizes the default version of the partner or advertiser specified by the user.
New filter capabilities, including the ability to specify the exact resources to include in the generated files.
New response format that returns the generated SDFs as a .zip file to download, rather than JSON.
The Display Video 360 API SDF Download service will be replacing the DBM API SDF Download service. The deprecation of that service will be announced soon, and an immediate migration to the new API is advised. You can get started setting up the Display & Video 360 API here, and downloading Structured Data Files here.
More functionality will be coming to the Display & Video 360 API in the coming months, including line item management and targeting. Keep an eye out for future announcements!
Today we’re announcing the v3_0 release of the Google Ads API beta. To use the v3_0 features via the new endpoint, please update your client libraries. If you are upgrading from v1 or v2, some of your code may require changes when you switch to the new v3 endpoint. Please see the migration guide for more information on breaking changes.
Here are the highlights:
Added the ability to stream results from GoogleAdsService.SearchStream(). This is the recommended way for retrieving large scale data from GoogleAdsSearch. Please see this guide for more details.
The updated client libraries and code examples will be published next week. If you have any questions or need additional help, please contact us via the forum. Nadine Wang, on behalf of the Google Ads API Team
We are excited to announce the stable release of Android Studio 3.6 with a targeted set of features addressing quality in primarily code editing and debugging use cases. This is our first release after the end of Project Marble, which was focused on making the fundamental features and flows of the Integrated Development Environment (IDE) rock-solid. We learned a lot from Project Marble and in Android Studio 3.6 we introduce a small set of features, polished existing features, and spent a notable effort addressing bugs and improving underlying performance to ensure we meet the high quality bar we set in the past year.
Some highlights of Android Studio 3.6 include a new way to quickly design, develop and preview app layouts using XML, with a new Split View in the design editors. Additionally, you no longer have to manually type in GPS coordinates to test location with your app because we now embedded Google Maps right into the Android Emulator extended control panel. Finally, we’ve made it easier to optimize your app and find bugs with automatic memory leak detection for Fragments and Activities. We hope all of these features help you be happier and more productive while developing on Android.
Thank you to those who gave your early feedback in preview releases. Your feedback helped us iterate and improve features in Android Studio 3.6. If you are ready for the next stable release, and want to use a new set of productivity features, Android Studio 3.6 is ready to download for you to get started.
Below is a full list of new features in Android Studio 3.6, organized by key developer flows.
Design
Split view in design editors
Design editors, such as the Layout Editor and Navigation Editor, now provide a Split view that enables you to see both the Design and Code views of your UI at the same time. Split view replaces and improves upon the earlier Preview window, and can be configured on a file-by-file basis to preserve context information like zoom factor and design view options, so you can choose the view that works best for each use case. To enable split view, click the Split icon in the top-right corner of the editor window. Learn more.
Split view for design editors
Color picker resource tab
In this release we wanted to make it easier to apply colors you have defined as color resources. In Android Studio 3.6, the color picker populates the color resources in your app for you to quickly choose and replace color resources values. The color picker is accessible in the design tools as well as in the XML editor.
Color picker resource tab
Develop
View binding
View binding is a feature that allows you to more easily write code that interacts with views by providing compile-time safety when referencing views in your code. When enabled, view binding generates a binding class for each XML layout file present in that module. In most cases, view binding replaces findViewById. You can reference all views that have an ID with no risk of null pointer or class cast exceptions.These differences mean that incompatibilities between your layout and your code will result in your build failing at compile time rather than at runtime. To enable view binding in your project, include the following in each module’s build.gradle file:
android {
viewBinding.enabled = true
}
For more information, check out this blog post by one of our developer experts.
Android NDK updates
The following Android NDK features in Android Studio, previously supported in Java, are now also supported in Kotlin:
Navigate from a JNI declaration to the corresponding implementation function in C/C++. View this mapping by hovering over the C or C++ item marker near the line number in the managed source code file.
Automatically create a stub implementation function for a JNI declaration. Define the JNI declaration first and then type “jni” or the method name in the C/C++ file to activate.
Android Studio 3.6 includes the IntelliJ 2019.2 platform release. This IntelliJ release includes many improvements from a new services tool window to much improved startup times. Learn more
Add classes with Apply Changes
You can now add a class and then deploy that code change to your running app by clicking either Apply Code Changes or Apply Changes and Restart Activity.
To learn more about the difference between these two actions, see Apply Changes.
Build
Android Gradle Plugin (AGP) updates
Android Gradle plugin 3.6 and higher includes support for the Maven Publish Gradle plugin, which allows you to publish build artifacts to an Apache Maven repository. The Android Gradle plugin creates a component for each build variant artifact in your app or library module that you can use to customize a publication to a Maven repository. This change will make it easier to manage the release lifecycle for your various targets. Learn more
Additionally, Android Gradle plugin has made significant performance improvement for annotation processing/KAPT for large projects. This is caused by AGP now generating R class bytecode directly, instead of .java files.
New packaging tool
The Android build team is continuously working on changes to improve build performance, and in this release we changed the default packaging tool to zipflinger for debug builds. Users should see an improvement in build speed, but you can also revert to using the old packaging tool by setting android.useNewApkCreator=false in your gradle.properties file.
Edit your gradle.properties file to disable the new packaging tool
Test
Android Emulator - Google Maps UI
Android Emulator 29.2.12 includes a new way for app developers to interface with the emulated device location. We embedded the Google Maps user interface in the extended controls menu to make it easier to specify locations and also to construct routes from pairs of locations. Individual points can be saved and re-sent to the device as the virtual location, while routes can be generated through typing in addresses or clicking two points. These routes can be replayed in real time as locations along the route are sent to the guest OS.
Android Emulator location UI with real-time location streaming
Multi-display support
Emulator 29.1.10 includes preliminary support for multiple virtual displays. As more devices are available that have multiple displays, it is important to test your app on a variety of multi-display configurations. Users can configure multiple displays through the settings menu (Extended Controls > Settings).
Multi-display support in Android Emulator
Configure secondary displays in the Android Emulator Extended Controls Panel
Resumable SDK downloads
When downloading Android SDK components and tools using the Android Studio SDK Manager, Android Studio now allows you to resume downloads that were interrupted (for example, due to a network issue) instead of restarting the download from the beginning. This enhancement is especially helpful for large downloads, such as the Android Emulator or system images, when internet connectivity is unreliable.
Pause and resume SDK downloads
In-place updates for imported APKs
Android Studio allows you to import externally-built APKs to debug and profile them. Previously, when changes to those APKs were made, you would have to manually import them again and reattach symbols and sources. Android Studio 3.6 now automatically detects changes made to the imported APK file and gives you an option to re-import it in-place.
Attach Kotlin sources to imported APKs
We added support for attaching Kotlin source files to imported APKs. To learn more, see Attach Kotlin/Java sources.
Attach Kotlin/Java sources to imported APKs
Optimize
Leak detection in Memory Profiler
Based on your feedback, we’ve added in the Memory Profiler the ability to detect Activity and Fragment instances which may have leaked. To get started, capture or import a heap dump file in the Memory Profiler, and check the Activity/Fragment Leaks checkbox to generate the results. For more information on how Android Studio detects leaks, please see our documentation.
Detect leaked Activities and Fragments in the Memory Profiler
Deobfuscate class and method bytecode in APK Analyzer
When using the APK Analyzer to inspect DEX files, you can now deobfuscate class and method bytecode. While in the DEX file viewer, load the ProGuard mappings file for the APK you’re analyzing. When loaded, you will be able to right-click on the class or method you want to inspect by selecting Show bytecode. Learn more
Deobfuscate class and method bytecode by selecting Show Bytecode in the APK Analyzer
To recap, Android Studio 3.6 includes these new enhancements & features:
Design
Split View in Design Editors
Color Picker Resource Tab
Develop
View binding
Android NDK support updates
IntelliJ Platform Update
Add classes with Apply Changes
Build
Android Gradle Plugin (AGP) Updates
New packaging tool
Test
Android Emulator Google Maps UI
Multi-display support
Resumable SDK downloads
In-place updates for imported APKs
Optimize
Leak detection in Memory Profiler
Deobfuscate class and method bytecode in APK Analyzer
Attach Kotlin sources to imported APKs
Getting Started
Download
Download Android Studio 3.6 from the download page. If you are using a previous release of Android Studio, you can simply update to the latest version of Android Studio. To use the mentioned Android Emulator features make sure you are running at least Android Emulator v29.2.12 downloaded via the Android Studio SDK Manager.
As mentioned above, we appreciate any feedback on things you like, and issues or features you would like to see. If you find a bug or issue, feel free to file an issue. Follow us -- the Android Studio development team ‐ on Twitter and on Medium.
We're happy to announce that v202002 of the Google Ad Manager API is available starting today. This version includes several new features around video ads.
For “Ad Exchange historical” reports, there are several new video Columns available beginning with “AD_EXCHANGE_VIDEO_”. Here are a few of the new metrics:
AD_EXCHANGE_VIDEO_START – the number of impressions where the video was played for video ads by Ad Exchange properties
AD_EXCHANGE_VIDEO_SKIPS – The number of times a skippable video is skipped
AD_EXCHANGE_VIDEO_UNMUTE – The number of times a user unmutes the video ad
We're happy to announce that v201911 of the Google Ad Manager API is available starting today. This version brings new reporting and video features, unlocking new possibilities for automation in your Ad Manager network.
Reporting
We’re improving our reporting error messages so that you can better understand what went wrong in a number of situations, including when a report has an invalid date range.
On video line items, you can now read and write customVastExtension, which provides access to XML extensions that are part of the VAST specification (both v3 and v4).
For further configurability of Dynamic Ad Insertion, you can now set the mediaPlaylistOriginForwardingType and mediaPlaylistOriginPathPrefix fields on CdnConfigurations.
If you’re on an older version of the Ad Manager API, now is a great time to upgrade to take advantage of these and other recent features like the TargetingPresetService, which was added in v201905. The release notes contain the full list of API changes for v201911 and all other active API versions.
Feel free to reach out to us on the Ad Manager API forum with any API-related questions.
We're happy to announce that v201908 of the Google Ad Manager API is available starting today. There are several highly requested features in this new version of the API.
Reporting
You can now access “Advertiser (Classified)” and “Brand (Classified)” dimensions through the API.
Programmatic LineItems and ProposalLineItems now have an allowedFormats field, which gives publishers more control over what types of creatives a buyer can add.
LiveStreamEvents
You can now use the slateCreativeId field to programmatically set live stream slates, which are shown during gaps in a live stream ad break that cannot be filled with a dynamically served ad.
The release notes contain the full list of API changes for v201908.
If you have questions about these or any other API changes, reach out to us on the Ad Manager API forums.
Today we’re announcing the v2_1 releases of the Google Ads API beta. To use the v2_1 features via the new endpoint, please update update your client libraries. If you are upgrading from v1, some of your code may break when you switch to the new v2 endpoint. Please see the migration guide for more information on breaking changes.
Here are the highlights:
Introduced AdService for updating existing ads that were created using AdGroupAdService. Updating ads maintains existing metrics.
Introduced summary rows when retrieving data from GoogleAdService.Search() by setting return_summary_row to true in the request. The summary row contains the report totals.
Introduced the AdGroupAdAssetView resource for querying ad asset metrics.
Added the ability to retrieve all label resource names associated with the AdGroup resource using AdGroup.labels and with the Campaign resource using Campaign.labels.
Added time_zone, test_account, manager, descriptive_name, currency_code, and id to CustomerClient to make it easier to retrieve customers in an account hierarchy.
Where can I learn more? The following resources can help you get going with the Google Ads API:
The updated client libraries and code examples will be published by August 16. If you have any questions or need additional help, please contact us via the forum.
Nadine Sundquist, on behalf of the Google Ads API Team
Today we’re announcing the v1_3 release of the Google Ads API. With this version, you’ll continue pointing to v1 as your endpoint; however, you'll need to update your client libraries in order to use v1_3 features.
The updated client libraries and code examples will be published by May 24, 2019. If you have any questions or need help, please contact us via the forum. Nadine Sundquist, on behalf of the Google Ads API Team