Using an AdControl in a Trial App (Windows Phone)
I had to search around for this information so I thought it would be nice to have it somewhere handy. Here’s the scenario: You want to put ads into your Windows Phone app, but only when it is in trial mode.
To start:
- Download the Microsoft Ads SDK
- Sign into the Microsoft pubCenter and add an ad and an application to your account. You will get an ad id and an application id that we’ll use below to display the ads.
Add structure for your AdControl
I decided that the best way to do this was to create a Grid layout with 2 rows. The top row is for all the important stuff in my app and the bottom row is holding my AdControl. The XAML looks something like this:
<Grid x:Name="LayoutRoot" >
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid x:Name="MyContent">
<!-- all my UI goes here -->
</Grid>
<Border x:Name="AdControlHolder" Grid.Row="1">
</Border>
</Grid>
Add logic to include the AdControl if we are in trial mode
If I don’t place anything in my Border control, it will be completely invisible. So what we’re going to do is:
- Check to see if our app is in a trial mode
- If it is, add the AdControl. Otherwise do nothing.
The only problem with this is that it can be difficult to test. For one thing, the AdControl requires some custom parameters to run in a test environment. Additionally, we can’t set the app to “trial mode” in the test environment, so we have to simulate it. I’ve tried to take all this and encapsulate it in a block of code.
LicenseInformation info = new LicenseInformation();
#if DEBUG
if (true)
#else
if ( info.IsTrial() )
#endif
{
// running in trial mode
AdControl ac = new AdControl();
#if DEBUG
ac.AdUnitId = "Image480_80";
// or for text ads
//ac.AdUnitId = "TextAd";
// or for smaller ads
//ac.AdUnitId = "Image300_50";
ac.ApplicationId = "test_client";
#else
ac.AdUnitId = "000000"; // insert your AdUnitId from the pubCenter site
// add your ApplicationId from the pubCenter
ac.ApplicationId = "12345678-1234-1234-1234-123456789012";
#endif
ac.Width = 480;
ac.Height = 80;
AdControlHolder.Child = ac;
}
And that should be good to get started!
Comments
- Anonymous
November 02, 2014
Thanks, Where is the best place to add the adControl? In the page's OnNavigatedTo handler, or in _Loaded ?