Wednesday, March 30, 2011

Your App in Just One Tap – Advertise on AdDuplex

banner_square_advertiseI’m happy to announce that you no longer have to run ads in your app to advertise on AdDuplex. From now on you can just buy ad impressions and give your WP7 app (or site, or product, or service) some extra boost in exposure.

AdDuplex is targeted at Windows Phone specifically. So, if your main target audience is WP7 users, there is no better way to reach them. When you advertise an app on AdDuplex the user is taken into the Marketplace immediately placing him/her just one tap away from your app.

We’ve set up an introductory discount of 30% and you can take advantage of it right now. You can get an even bigger discount if your app participates in AdDuplex exchange. We are a small boutique network of Windows Phone apps and our inventory is relatively limited, so don’t miss your chance to get your slot before it’s sold out.

Learn more and join now.

In case you have any questions, suggestions or special needs, please, don’t hesitate to contact me at

Thursday, March 24, 2011

Using AdDuplex as a Fallback for Microsoft pubCenter

Quite a few of Windows Phone developers would like to make money from their apps and games. The best way to do that for US based developers (and hopefully Europeans in the future) at this moment is Microsoft’s own pubCenter. In addition to accepting US developers only, it also serves ads to US customers exclusively. Fortunately it let’s you know when it can’t serve an ad via events so you can react accordingly in your app. And there’s no better way to utilize that unused inventory than using AdDuplex.

Jeff Weber, the creator of one of the best (if not THE best) Windows Phone games – Krashlander, was kind enough to share his fallback code with us. What it does is displays pubCenter ad control when it can display and ad, but when it can’t it falls back to AdDuplex ad control.

The sample code

Both controls are just placed in a simple StackPanel and AdDuplex is set to Collapsed by default.

<ads:AdControl x:Name="MSAdControl"
Height="80" Width="480"
<AdDuplex:AdControl x:Name="AdDuplexAdControl"
Height="80" Width="480"

In code-behind event handlers are attached to pubCenter control events and depending on the result of the pubCenter request either AdDuplex or pubCenter control is collapsed and the other one is displayed.

public MyClass()
MSAdControl.AdControlError += new EventHandler<ErrorEventArgs>(MSAdControl_AdControlError);
MSAdControl.NewAd += new EventHandler(MSAdControl_NewAd);

void MSAdControl_NewAd(object sender, EventArgs e)
System.Windows.Deployment.Current.Dispatcher.BeginInvoke(() =>
AdDuplexAdControl.Visibility = Visibility.Collapsed;
MSAdControl.Visibility = Visibility.Visible;

void MSAdControl_AdControlError(object sender, Microsoft.Advertising.Mobile.UI.ErrorEventArgs e)
System.Windows.Deployment.Current.Dispatcher.BeginInvoke(() =>
MSAdControl.Visibility = Visibility.Collapsed;
AdDuplexAdControl.Visibility = Visibility.Visible;

IMPORTANT: in case you decide to implement the layout in a way that pubCenter control overlaps AdDuplex control, don’t be fooled by the fact that pubCenter control visually collapses when there’s no ad to display. It still occupies the space and catches all the taps rendering AdDuplex control unclickable. So the key is to explicitly set Microsoft’s control to Collapsed.

Thanks to Jeff for this simple but proven code snippet and check out his awesome game if you haven’t already.

Sunday, March 20, 2011

Bug fix release: Silverlight control version 1.1.2

A bug in the AdDuplex Silverlight control version 1.1.1 has been reported. It manifested itself as an exception thrown when AdDuplex control was used on several pages throughout the app. I’m sorry for the inconvenience and trouble it may have caused you.

This bug should be fixed in the new version which is now available for download through the client area.

Thank you to everyone who reported this bug and please accept my sincere apologies. In case you find any issues with the controls, please, don’t hesitate to email me or leave a comment on this blog.

Monday, March 14, 2011

Silverlight Control v.1.1.1 Released. Upgrade strongly recommended

We have released a new version of our Windows Phone 7 Silverlight AdControl. An internal issue has been identified that resulted in some inconsistencies in serving ads, especially in scenarios where AdDuplex was used as fallback to other ad networks.

The issue is not critical in most cases but important enough for the health of the network. I encourage you to upgrade the control to the newest version as soon as possible. You can download it through Downloads page in Client Area.

Another thing I’d like to ask is that you test your app in regard to AdDuplex and related issues. The process of going through the certification is not instant and it pays to check before submitting than resubmitting later.

Things to Remember

Some AdDuplex related things to remember when testing that came to our attention over the recent weeks:

  • Make sure you set AppId property to your AppId on AdDuplex network and not your marketplace app id. You can find AdDuplex AppId for your app in the Client Area.
  • Make sure AdDuplex ad is clickable. Sometimes the ad is visible but obstructed by some transparent object that “swallows” all the taps. This is especially important to check in fallback scenarios when you place AdDuplex under some other ad. Microsoft’s pubCenter ad control is known for this behavior. When it can’t show an ad it collapses some internal visible parts and is actually translucent but it doesn’t collapse altogether and still catches all taps. You should manually set it’s Visibility to Collapsed.
  • Explicitly set Visibility on the AdDuplex control to Collapsed whenever you don’t want to show it. We make every effort to detect when something covers AdDuplex control but it would be easier for everyone if you just let the control know that it’s not supposed to be visible. Remember that running AdDuplex control in some invisible form is a violation of our terms.

In case you have any questions or encounter some issues, please, don’t hesitate to contact us at

Thank you for making AdDuplex a success and lets all benefit from it!

Thursday, March 10, 2011

XNA Library is Now Available

xna_logoI’m happy to announce that you can start implementing AdDuplex ads into your great XNA games right now!

We’ve just released a public beta of the XNA library for AdDuplex and it’s available for immediate download in the client area. The package includes the library DLL, basic implementation instructions and a sample application for your reference.

Over the next couple of days I will publish a detailed tutorial describing implementation in detail.

XNA developers! Welcome to AdDuplex.

Wednesday, March 2, 2011

Migration Completed

I’m happy to report that server migration went smoothly and everything should be operational by now in full capacity. In case you notice any irregularities and/or bugs in the new setup, please, don’t hesitate to let us know at

One thing to notice is that the new servers are operating on UTC timezone settings and old ones were on CST. So, even though there was no interruption in service, you will probably notice a drop in your stats for March 2 since the “server day” was 6 hours shorter than the real one.

Tuesday, March 1, 2011

Planned Migration, Client Area Downtime

Thanks to all the app authors participating in AdDuplex network for making it a success and driving traffic up! In order to provide best possible service going forward we decided to move our servers to Windows Azure.

Tomorrow, March 2nd, 2011, we will be performing a planned migration to a new hosting environment. The core ad serving engine should stay operational throughout the process, but we will close the client area on the old server to maintain consistency. We plan to start the process around 7:00 AM GMT. Please, make any planned changes to your ads before that time. You will be able to access Client Area on a new server once DNS records are updated (usually within a day).

Thank you for your cooperation!