Wednesday, August 1, 2012

Custom color picker in Google Calendar


Google Calendar users have had the ability to change the colors of specific events or calendars from a default color palette. Users can now choose a custom color if the default palette does not meet their needs.



Release track:


Rapid



Editions included:


Google Apps, Google Apps for Business, Government and Education



How to access what's new:


Click on "Choose custom color" on the bottom of the existing color picker.



For more information:


http://support.google.com/calendar/bin/answer.py?hl=en&answer=37227



whatsnew.googleapps.com


Get these product update alerts by email


Subscribe to the RSS feed of these updates

Scheduled Release track features update 7/31/12


- Documents: Users will have the ability to create documents offline. You must be running the latest version of Chrome or ChromeOS and install the Google Drive Chrome app to use this feature.



The following features are intended for release to these domains on August 7th:

No new features to announce.



Release track: 

Scheduled*



Editions included: 

Google Apps, Google Apps for Business, Government and Education



For more information:

http://googledocs.blogspot.com/2012/07/offline-updates-and-quick-look-back-at.html

http://support.google.com/docs/bin/answer.py?hl=en&hlrm=en&answer=1628469



*Scheduled Release track: Domains with ‘Scheduled Release’ option enabled in the administrator control panel. Learn more.



whatsnew.googleapps.com


Get these product update alerts by email


Subscribe to the RSS feed of these updates

Tuesday, July 31, 2012

Getting AdMob ads to work with cocos2D

cocos2d for iPhone is a popular framework for building 2D games for iOS. Integrating AdMob ads into cocos2d apps has gotten significantly easier with the latest version of the framework; This blog post will show you three things to keep in mind using v0.99.5b3 or higher of the cocos2d framework. It is assumed that you already have some familiarity with cocos2d.




Initialization

Create and initialize a GADBannerView in the RootViewController class. You can put this code into a new method knowing that it will be called from the AppDelegate after the view hierarchy has been set up. This code adds to the standard banner view example in the docs.




- (void)initGADBanner {

// NOTE:
// Add your publisher ID here and fill in the GADAdSize constant for
// the ad you would like to request.
bannerView_ = [[GADBannerView alloc] initWithAdSize:kGADAdSizeBanner];
bannerView_.adUnitID = @"PUBLISHER_ID_HERE";
bannerView_.delegate = self;
[bannerView_ setRootViewController:self];

[self.view addSubview:bannerView_];
[bannerView_ loadRequest:[self createRequest]];
// Use the status bar orientation since we haven't signed up for
// orientation change notifications for this class.
[self resizeViews];
}



Performance Considerations

Notice the addSubview: in initGADBanner:. Why did we add the GADBannerView directly to the RootViewController’s hierarchy instead of the cocos2d scene’s hierarchy? cocos2d scenes are OpenGL views, whereas our GADBannerView is a UIWebView wrapped in a native UIView. OpenGL views will usually be refreshed often, whereas our GADBannerView will be mostly static. Placing our GADBannerView on top of the OpenGL view therefore can lead to a performance decrease as the device will have more drawing to do.



You can test if this performance decrease is significant for your specific project by logging the frame rate when you place the ad within the OpenGL view and outside of it. The performance cost is usually only significant when you are dealing with very complex hierarchies.




View Layout

Since we’ve decided to place our GADBannerView into the RootViewController’s view hierarchy, we also need to now make sure to resize our cocos2d view to make space for our GADBannerView. The resizeViews: in initGADBanner: is called for this purpose. The implementation for resizeViews: is below. The main OpenGL view which encompasses all of the cocos2d scenes can be grabbed using the +sharedDirector object. The code below assumes you’re going to display the ad at the top of your screen, and have a device that’s in landscape.





- (void)resizeViews: {
// If the banner hasn't been created yet, no need for resizing views.
if (!bannerView_) {
return;
}
// If ad is not showing, no need to resize views.
BOOL adIsShowing = [self.view.subviews containsObject:bannerView_];
if (!adIsShowing) {
return;
}

// Frame of the main RootViewController which we call the root view.
CGRect rootViewFrame = self.view.frame;
// Frame of the main RootViewController view that holds the cocos2d view.
CGRect glViewFrame = [[CCDirector sharedDirector] openGLView].frame;
CGRect bannerViewFrame = bannerView_.frame;
CGRect frame = bannerViewFrame;
// The updated x and y coordinates for the origin of the banner.
CGFloat yLocation = 0.0;
CGFloat xLocation = 0.0;

// Move the root view underneath the ad banner.
glViewFrame.origin.y = bannerViewFrame.size.height;
// The superView has not had its width and height updated yet so use those
// values for the x and y of the new origin respectively. The game is in
// landscape.
xLocation = (rootViewFrame.size.height -
bannerViewFrame.size.width) / 2.0;

frame.origin = CGPointMake(xLocation, yLocation);
bannerView_.frame = frame;


// The super view's frame hasn't been updated so use its width
// as the height. Assume device is in landscape.
glViewFrame.size.height = rootViewFrame.size.width -
bannerViewFrame.size.height;
glViewFrame.size.width = rootViewFrame.size.height;

[[CCDirector sharedDirector] openGLView].frame = glViewFrame;
}



With that, you should now see AdMob ads show up in your cocos2d application. Look out for a follow-up to this blog post where we will discuss how to handle autorotation. As always, feel free to direct any questions you have to our forum or join us for our upcoming hangout.





Introducing the Multi-Channel Funnels Reporting API

Measuring how marketing efforts influence conversions can be difficult, especially when your customers interact with multiple marketing channels over time before converting. Last fall, we launched Multi-Channel Funnels in Google Analytics, a new set of reports that help shed light on the full path users follow to conversion, rather than just the last click. One request we’ve had since the beginning was to make this data available via an API to allow developers to extend and automate use cases with the data. So today we’re releasing the new Google Analytics Multi-Channel Funnels Reporting API.



The API allows you to query for metrics like Assisted Conversions, First Interactions Conversions, and Last Interaction conversions, as well as Top Paths, Path Length and Time Lag, to incorporate conversion path data into your applications. Key use cases we’ve seen so far involve combining this conversion path data with other data sources, such as cost data, creating new visualizations, as well as using this data to automate processes such as bidding.



For example, Cardinal Path used the new Multi-Channel Funnels API, Analytics Canvas ETL (Extract, Transform, Load) and Tableau Software to help their client, C3 Presents, uncover how time and channels affected Lollapalooza ticket sales in an analysis dubbed “MCF DNA.” The outcome was a new visualization, similar to a DNA graph, that helped shed light on how channels appeared throughout the conversion funnel.






MCF DNA Visualization in Tableu Software





In another case, Mazeberry, an analytics company from France, helped their client 123Fleurs decrease customer acquisition costs by 20% by integrating data from the Multi-Channel Funnels API into a new reporting framework. Their application, Mazeberry Express, combines media cost and full conversion path data to provide new Cost Per Acquisition (CPA) and Return on Investment (ROI) metrics that provide a more complete understanding of how online channels are working together to influence conversions.






Mazeberry Express Screenshot - Focus on a Channel





Please note that this functionality only works with the new v3.0 API libraries, so you should upgrade now if you haven’t already (see our migration guide). We look forward to seeing how you make use of this new data source.







Monday, July 30, 2012

Socialize and grow your blog with Google+



Blogger lets you share your thoughts, grow your readership, and engage with your audience. But we want to make Blogger even better by letting you tap into the growing Google+ community. Today, we’re adding a new “Google+” tab in the Blogger dashboard, so you now have a central place to start growing your blog with Google+. This means you can now:

Connect your blog to a Google+ profile or page
If you blog under your own name, you’ve already been able to associate your blog with your personal Google+ profile.  Starting today, you can now connect your blog to a Google+ page for your brand, business or organization.


Notify followers when you publish, and let them recommend your content
Each time you post on your blog, we'll show you a Google+ share box to let you notify followers that you have new blog content.  If they like what you share, followers can +1 or reshare your post to their own friends on Google+. This ripple effect exposes links to your content to a wider audience.




Build enduring connections with your audience
Adding the Google+ gadget to your blog makes it easy for people to add your profile or page to their circles when they like something you’ve published. Forming connections with readers that last after they've left your blog is essential.  

To get started, click the “Google+” tab in the Blogger dashboard and then the “Upgrade” button. If you’ve already upgraded to Google+, we’ll help you associate your blog with your profile or page.




We'll be introducing more settings on this tab in the future, so stay tuned for additional ways to get more out of Blogger with Google+.  If you have questions, you can learn more in our Help Center.

Doubling down on mobile in DoubleClick for Publishers

66% of the population accesses the Internet every day on their smartphone (source: Google and Ipsos Our Mobile Planet: Understanding the Mobile Consumer, May 2012), and never leaves home without their device(s).

The prevalence of mobile devices enables users to constantly connect to a publisher’s content, whether on-the-go, at work, or on the couch at home.

For a publisher’s advertising business, this means display advertising has needed to evolve from purely ads in web browsers, to ads across all screens and devices. You have to help advertisers connect with your audience in whatever setting and on whatever screen they're consuming your content.

At the heart of DoubleClick for Publishers (DFP), we've built a single platform that enables publishers to seamlessly manage all of their digital advertising under one roof. In the most recent release of DFP, we’re excited to bring even more DFP desktop features to mobile so that trafficking a campaign to your website is no different to trafficking a campaign to your mobile site and application. New features include:



  • Frequency capping: You can now enforce frequency caps on mobile web sites and in mobile applications. Frequency caps can be applied to mobile campaigns and to mobile ad units, allowing you fine-grained control over the advertiser and user experience.

  • Suggested ad units: You can now create mobile ad units by approving suggestions generated from actual traffic. This saves you time by automatically creating ad units in advance, while still maintaining control over your overall inventory structure.

  • Multiple sizes for ad units in applications: You can now create ad units with multiple sizes in applications, allowing you to sell high-value custom sizes without compromising your ability to deliver standard banners or use ad networks.

  • Data transfer for mobile: If you are using the data transfer beta, you will now have access to mobile-specific reporting data, including device, carrier and OS information.




In addition to bringing the best-in-class desktop functionality of DFP to mobile, we recognize that mobile is indeed different, and presents publishers with unique advertising opportunities not found on desktop. To help publishers capitalize on new opportunities and the uniqueness of mobile, we’ve recently released the following mobile functionality:


  • SDK mediation: You can now connect with major in-app advertising networks, including iAd, via the networks’ own SDKs. You can choose which SDKs to include in your application with our adapter-based approach, minimising application size and giving you control over updates. You also have the option to serve ads from a sequence of ad networks to maximize fill rates and improve RPMs.

  • App events: You can now provide a custom advertising experience by extending the Google AdMob SDK. Creatives can pass messages to the application, allowing the application to respond (for example, to change the background color). This enables truly integrated ad formats while still using the SDK to do the heavy lifting.

  • Support for pre-loading ads: You can now pre-load ads from DFP Mobile. This enables you to improve the user experience, whether to mitigate the effect of slow mobile connections, or to match the smooth user experience of the rest of your application.





With DFP, we’re committed to giving publishers the tools they need to seamlessly manage and deliver all of their digital advertising in order to take full advantage of the multi-screen world. 



See a preview of the bids for a bid strategy

We recently announced the launch of the Target bid column in DoubleClick Search (DS) reporting, which shows you the bid that DS would have used if there were no secondary constraints in the keyword’s bid strategy. Here’s a way you can use the column to get a preview of the bids in a bid strategy, so you can feel confident that it will result in a solid return on your investment.

You’ve heard about all the great things DS has been doing to improve the Performance Bidding Suite, both in the UI and behind the scenes with improved algorithms. You’re ready to try a bid strategy, but you’d love to have some idea as to what DS is going to bid before giving over full control. Based on your bid strategy settings, how is DS going to bid on your keywords?

To get an idea, just follow these steps:



  1. Create your bid strategy and apply it to some keywords.

  2. When applying the min and max bids for the selected keywords, set a tight bid range that you’re comfortable with. For example, you could set the bids so they match the range of max CPCs, as shown in the following example:

  3. Let the bid strategy run.
    The bid strategy won’t be able to update the bid beyond the tight min and max bid limits, but it will update the
    Target bid column.

  4. Navigate to a Keywords page that contains the keywords in the bid strategy.

  5. Filter to the keywords in the bid strategy.

  6. Above the performance summary graph, click Columns and then select the Target bid column.

  7. Review the target bids. If they look reasonable, relax the bid limits to give more control to the bid strategy. In the following example, you may want to set your min bid to $5.00 and max bid to $60.00 for the keywords, to ensure that the Performance Bidding Suite has the room to set the target bids.



After you give the bid strategy control, remember that you can use Change History to gain insights into bid strategy changes with a summary of the bid rationale. In addition to the target bid, this feature lets you know how often bids are evaluated and provides details on why a change was made to a target position strategy. You also receive guidance on how to improve bid strategy performance by discovering where settings like max bid inhibit the bid changes. Learn more.

Posted by the DoubleClick Search team