{ :xsi_type => 'CallOnlyAd', :description1 => 'Visit the Red Planet in style.', :description2 => 'Low-gravity fun for everyone!', :display_url => 'www.example.com', :phone_number => '(555) 555-5555', :business_name => 'Universal Cruises', :call_tracked => true, :phone_number_verification_url => 'www.example.com/landing_page'}
conversionTypeId
phoneNumberVerificationUrl
ONLY
Today we are releasing v201502 of the DFP API. This release includes a revamp of the ForecastService, including support for Delivery forecasts. There are also new video features including GRP settings on line items, GRP breakdowns in forecasts, and new VIDEO_VIEWERSHIP report columns.
Sales Manager gains three new services for Packages, ProductPackages, and ProductPackageItems. Additionally, the ProposalLineItemService will now return ProposalLineItems that were created from Packages. There's also improved support for workflow rules with WorkflowValidationErrors.
Finally, Type fields have been removed from all entities. Please update your code to use xsi:type, class names, or instance of.
A detailed list of these and other changes can be found on our release notes page.
The ForecastService can now run Delivery forecasts for multiple line items. These forecasts report the number of units that will be delivered to each line item given the goals and contentions from other line items in the request. Pass prospective line items or line item IDs to getDeliveryForecast or getDeliveryForecastByIds as outlined in this Java example:
DeliveryForecast existingLineItemForecast = forecastService.runDeliveryForecastByIds(new long[] {123L, 456L}); ProspectiveLineItem prospectiveLineItem1 = new ProspectiveLineItem(); prospectiveLineItem.setLineItem(myFirstLineItem); ProspectiveLineItem prospectiveLineItem2 = new ProspectiveLineItem(); prospectiveLineItem.setLineItem(mySecondLineItem); DeliveryForecast prospectiveLineItemForecast = forecastforecastService.runDeliveryForecast(new ProspectiveLineItem[] { prospectiveLineItem1, prospectiveLineItem2});
The existing getForecast and getForecastById methods have been replaced by getAvailabilityForecast and getAvailabilityForecastById, respectively. You must now include AvalilabilityTargetingOptions to specify whether you want to include contending line items or the new TargetingBreakdown.
ProspectiveLineItem prospectiveLineItem = new ProspectiveLineItem(); prospectiveLineItem.setLineItem(myLineItem); AvailabilityForecastOptions options = new AvailabilityForecastOptions(); options.setIncludeContendingLineItems(true); options.setIncludeTargetingCriteriaBreakdown(true); AvailabilityForecast forecast = forecastService.getAvailabilityForecast(prospectiveLineItem, options);
Updating a Proposal with workflow rules may cause a WorkflowValidationError. The WorkflowValidationError will include a message defined by the network's administrator. For more information about detecting and handling specific error types, refer to this blog post.
As always, if you have any questions or feedback, reach out to us on our API forums.
- Chris Seeley, DFP API Team
Today we’re releasing v7.0.0 of the Google Mobile Ads SDK for iOS. For this release, we focused on making the SDK easier to use, including distributing it as a framework. We’re also showing our DFP publishers some love by launching new first-class APIs to support the common DFP features they’re already using with Google Publisher Tag. A detailed list of these and other changes can be found on our release notes page.
The SDK is being distributed as a framework in this release. This comes with the following benefits:
@import GoogleMobileAds;
#import "GADBannerView.h"#import "GADBannerViewDelegate.h"#import "GADRequest.h"
If all that wasn’t awesome enough, we also removed the need to include the -ObjC linker flag in your project! Just drag in the library to start using it.
-ObjC
If you’re using CocoaPods, you automatically get all of these changes by referencing version 7.0.0 of the Google-Mobile-Ads-SDK podspec. Since this is a major release, make sure you update your Podfile to grab major version 7:
pod 'Google-Mobile-Ads-SDK', '~> 7.0'
Version 7.0.0 also adds first-class support for custom targeting and category exclusions in a brand new DFPRequest object.
DFPRequest
DFPRequest *request = [DFPRequest request];request.customTargeting = @{ @"gender", @"male"};request.categoryExclusions = @[@"cars", @"sports", @"pets"];
New to 7.0.0 is the ability to roadblock creatives and prevent competing ads in mobile apps. The SDK does this by adding an updateCorrelator method with similar functionality to the same method in GPT:
[DFPRequest updateCorrelator];
All subsequent DFP ad requests will use the new correlator value until the correlator is updated again. Requests with the same correlator are capable of being roadblocked, and will not serve competing ads.
For more information on the DFP API improvements, see the developer docs.
With this release, we are also dropping support for iOS 5. We’ve noticed that almost all users are running iOS 6 or higher, and dropping support for older versions means the library can take advantage of the newer iOS APIs and offer more stability for you and your users. The SDK now supports only iOS 6.0 and up.
As always, the latest SDK can be found on our downloads page. If you have any technical questions about these updates, drop us a line on the forum.
- Eric Leichtenschlag, Mobile Ads Developer Relations