On May 1st 2011, I blogged my review of “Advertising Network Options for Windows Phone XNA Games”. That review showed just how few advertising-component choices there are for XNA developers on Windows Phone. It also explained severe quality issues with two of the four available solutions. Right after I posted that article, I started one-on-one discussions with Smaato, Millennial Media, and AdDuplex, to help them understand and address the issues presented. I was also in constant communication with Microsoft’s pubCenter Support team for about 6 weeks.
In the 3 months that have passed:
- AdDuplex released a couple minor revisions to its ad-component
- Microsoft has fixed various system problems and released an updated Ad SDK with its Mango Developer Tools Beta, which I reviewed yesterday.
- Millennial Media sent me a build for review in mid-May, after I had a conference call with them, but it really didn’t fix much. July’s anticipated private-beta has been delayed and they aren’t sure when the update to v0.6 will be ready.
- Smaato met with me via Skype and we exchanged various emails about SDK issues. Yesterday they sent me their v1.3 SDK change-list, but the XNA changes fall way short of what’s needed.
- No other Ad-Component provider has released an XNA component for Windows Phone 7, including MobFox (who told me in early April that they were working on one). Their mAdsense release that was announced yesterday is Silverlight-only on WP7.
So for the XNA game developer, while the advertising options have remained largely unchanged, there are a few important things to note:
- Microsoft’s PubCenter now serves ads to the UK and Netherlands and plans to add Canada, France, and Germany to that list later this year. This is very welcome news because PubCenter, despite its flaws, continues to be the best Ad-Network component for Windows Phone, and it’s biggest drawback is its inability to serve ads worldwide.
- AdDuplex now allows a monetization option for up to 80% of your impressions. More on this below.
- Smaato’s eCPM has proven to be unimpressive, particularly in countries where pubCenter does not serve ads, and I have also found new failure scenarios with Smaato.
- If your revenue stream is ad-based, you should display ads in any country where Windows Phones are sold.
- You should have a backup ad-network ready in case your primary ad-network fails for whatever reason.
Unfortunately, I can no longer recommend Smaato as a primary ad-network for WP7 XNA games, even for non-U.S. phones, and am even considering not using it altogether until its problems are fixed. So, I need to change my recommendations and fortunately, recent events have made these decisions fairly easy.
Here are my new recommendations:
- For U.S., U.K. and Netherlands phones, use PubCenter as your Primary Ad-Network while intermixing AdDuplex ads, and with a fail-over to AdDuplex
- For phones in all other countries, use AdDuplex (with monetization enabled) as your Primary Ad-Network, and optional fail-over to house ads (or possibly to Smaato if you feel lucky)
AdDuplex now allows you to monetize up to 80% of your game’s impressions, by selecting a maximum percentage of impressions to monetize in increments of 10, and with a fixed monthly eCPM that is currently $0.70. AdDuplex ads can be requested as soon as every 15 seconds, although because of the likelihood of “impressions being disqualified because of different network response times for different requests”, AdDuplex recommends a minimum request interval of 20 seconds, giving you the best revenue scenario when it has sufficient ad inventory. Understanding the “sufficient ad inventory” phrase is important because AdDuplex doesn’t always have much of an ad-inventory yet. Some days my app monetizes at the full percentage selected and other days I get no revenue at all from AdDuplex because it has low ad inventory. But the upside to this, is that AdDuplex continues to advertise your game on other Windows Phones even in low-inventory scenarios, with minimal data bandwidth usage, and with a near 100% fill-rate that is unmatched by other ad-networks.
Another important thing to note about AdDuplex is that it’s an ad-exchange network and you get about 8 impressions for every 10 that you display of other apps or games. Monetizing means that some percentage of those 8 ads will be exchanged for ads from paid advertisers. So, in order to exchange enough ads to successfully monetize your game with AdDuplex, your game must have a decent number of people playing it. Until then, you are better off using AdDuplex strictly for advertising purposes, rather than for monetization.
Right now, if you want to display house ads (or affiliate marketing ads), you need to roll your own. You’re also stuck implementing your own logic to fail-over to other ad-networks. There are a couple Silverlight solutions currently that can do these things, but no XNA solutions. If you don’t want to waste time on them, please note that I’m working on an XNA component that does both of these things and a lot more. You can read about it at http://www.improvisoft.com/blog/?p=330.
The Mango Twist
While it looks bleak for XNA developers getting well-functioning worldwide ad-serving XNA components other than AdDuplex any time soon, there is the great possibility that you’ll be able to integrate Silverlight ad-components into your XNA games with Mango. This is good news because there are many more Silverlight ad-network options available for Windows Phone and they are fairly mature too. Later this month, I’ll be looking into doing just that and will blog about it here on The ImproviSoft Blog!
CodeProject