Notice
Due to time constraints I was not able to work on SuperAds for a long time. Luckily there are excellent alternatives: http://wpunifiedad.codeplex.com/ and http://wp7adrotator.codeplex.com.
aldarIT SuperAds 1.5
A Free Multiple Ad-Network Silverlight Control for Windows Phone 7
In a nutshell
- Can be added to you app without writing a single line of code. Just add Aldarit.SuperAds.dll (and Aldarit.SuperAds.LocationAware to your project if you want to use the control that is aware of the position of your phone). The process of adding the control to your pages and its configuration can be done entirely in Expression Blend. (Of course, XAML-warriors can do everything manually too).
- Free, no royalties.
- Tries to optimise fill rate: if an ad-network cannot provide an ad, try another network.
- Available for both US and non-US developers.
- Support for: Admob, PubCenter (Microsoft Advertising), Smaato, ZestADZ and MobFox (if you didn't already sign up for MobFox, you can do so here, and support SuperAds development by the commission I receive *hint* )
Terms and Conditions
"Controls" in this section stands for the Silverlight custom controls contained in the Aldarit.SuperAds.dll and the Aldarit.SuperAds.LocationAware libraries.
- The use of these Controls is completely at your own risk. In short: if you loose 1 million US$/€ (or any amount) directly or indirectly by using the Controls, the damages are for you.
- aldarIT does not claim any portion of the profits made by the advertisements delivered by the Controls.
- The Controls were developed to enable displaying advertisements from several ad-networks and registering impressions and 'clicks' to the network that delivered a particular advertisement. I did not intentionally include any defects or any other mechanisms that could be harmful or lead to undesirable side-effects, but I cannot guarantee the absence of these either.
- You may not distribute the Controls and their containing libraries other than as part of an application (in a XAP-file) intended to be distributed through the Microsoft Windows Phone 7 Marketplace. You may not include the Controls in an application or library that duplicates (a part of) its functionality without prior permission. You may not sell the Controls.
WMAppManifest.xml
Make sure that
<Capability Name="ID_CAP_IDENTITY_DEVICE"/>
<Capability Name="ID_CAP_WEBBROWSERCOMPONENT"/>
and if you use the LocationAwareAdControl in AldarIT.SuperAds.LocationAware.dll:
<Capability Name="ID_CAP_LOCATION"/>
are in the capabilities section of WMAppManifest.xml. They are in it by default, but you might have removed these entries.
Download
If you agree with the terms and conditions, you can download a copy of Aldarit.SuperAds here.
Don't forget to "unbock" the zip file if you downloaded it on a computer running Microsoft Windows 7.
New: If you use NuGet, there is a NuGet Package too!
Known Issues
- Since I rarely get ZestAdz ads served to in my area (ip-ranges), I couldn't test the ZestAdzAdProvider thoroughly.
- The current (April 4, 2011) version of the AdMob SDK seems in some apps/under certain circumstances lead to an app 'hang'. So test this well when you're using AdMob in your app, or resort to the old AdmobAdProvider (which is marked obsolete) for the the time being.
Change History
- 2011-01-03: Release of preview 1
- 2011-01-05: Release of preview 2.
- Minor bug fixes and refactorings.
- Added a sample AdProvider to the sample code.
- 2011-01-15: Release of preview 3.
- Introduced the LocationAwareAdControl: similar to AdControl, but automatically determines the position of the device. Some ad-providers are able to target appropriate ads to a phone when its location is known (e.g. special offers in the area).
- Replaced the use of the GeoCoordinate type with the Location type: using the GeoCoordinate type requires you to specify the ID_CAP_LOCATION in WMAppManifest.xml, which results in an extra prompt to the user when installing the app.
- Introduced the NewAd (invoked when a new ad is displayed) and AdEngaged (invoked when an ad is tapped by the user) events.
- Small changes to better comply with the ad-providers' communication protocols.
- 2011-02-09: Release of preview 4
- Animated GIFs are now supported.
- Support for HTML-based ads.
- 2011-03-05: Release of version 1.0
- Bug fixes, improved support for HTML-based ads
- Support for the MobFox ad-network based on the official API.
- Updated the ZestAdz provider implementation to reflect some changes on their side.
- 2011-03-15: Release of version 1.1
- MobFox pointed me to a serious bug in the 1.0 release, resulting in impressions not always being counted. The 1.1 version fixes this bug.
- 2011-03-31: Release of version 1.2
- Added an AdMobProvider that uses the official AdMob Windows Phone SDK for optimal compatibility. The old AdMob provider is still available, but marked obsolete.
- Added an PubCenter provider that uses the Microsoft Advertising SDK.
- Fixed a bug in ZestAdz response parsing.
- Additional smaller bugfixes.
- 2011-05-26: Release of version 1.3
- Fix for the ObjectAlreadyDisposedException that was raised in some specific situations
- Fix for the InvalidOperationException that sometimes occurred when an users taps the ad control multiple times in a short period.
- Improved Nuget package
- 2011-05-28: Release of version 1.4
- Fix for another ObjectAlreadyDisposedException that slipped through.
- 2012-02-29: Release of version 1.5
- Compatibility with latest version of MS PubCenter AdControl
Plans
- Introduce more ad-providers
- Investigate the possibility to create an ad-solution for XNA developers
- Q: There are two controls: AdControl, and LocationAwareAdControl. Which one should I use?
A: Using the LocationAwareAdControl has the benefit that this control automatically retrieves and sends the position of the device to the ad-providers when requesting an ad. This may result in better targeted ads, a higher click rate and a higher income. The disadvantage of this control is that you actually have to ask to user for permission to sends your location to an ad-provider. Apart from this AdControl and LocationAwareAdControl are virtually identical.
- Q: What does the Priority property of an AdProvider mean?
A: Ads are retrieved from ad-providers in order of their priority. For example, an ad-provider with a priority of 1 gets only queried when ad-providers with a priority of 2 or higher cannot serve an ad. Ad-providers with identical priorities get queried in a random order. If you give an ad-provider a negative (below 0) priority, no ads are requested at all.
- Q: How do I adapt the layout of the AdControl?
A:
This can be done in Expression Blend by editing a copy of its template:
- Select the AdControl you want to adapt in Expression blend and create a copy of its template:
- Blend prompts you to create a new style:
- You can now change the layout of the control. However, the default template will change in the next releases, so do this only if you are prepared to update your custom template when migrating to a newer version of AldarIT.SuperAds.
- Q: I want to use ads from ad-provider X. How do I open an account and register my application?
A: This is beyond the support I can offer. You have to follow the instructions at the individual ad-providers.
If an ad-provider does not support Windows Phone 7 yet, I learned that people had success registering their apps as Android apps, but that is your responsibility. The best way might be to contact the ad-provider for instructions.
- Q: When I compile my app, I get an error-message about a missing Google.AdMob.Ads.WindowsPhone7.dll and/or Microsoft.Advertising.Mobile.UI.dll. What should I do?
A:
Both the AdMobAdProvider as the PubCenterAdProvider require the original SDKs to ensure optimal compatibility. You can download those SDKs here (AdMob) or here (PubCenter).
Contact me:
, or