Implementing advert in Windows Phone app using Nokia NAX with CSharp

Implementing advert in Windows Phone app using Nokia NAX with CSharp




One of the new ways of advertising in Windows Phone application is to use Nokia Ad Exchange (NAX), powered by Inneractive. If you live in country where you can’t use Microsoft Ad Exchange, you can easily use NAX to earn some money from your Windows Phone app.
NAX is a mobile in-app advertising exchange offering access to the top ad networks in the world. With one API and one partner, you’ll get access to over 120 ad agencies and networks, and you only need PayPal account to get your money.
The key NAX features are:

  • Optimization across 120+ ad networks
  • Payment enabled in over 200 countries
  • Manage your own ad campaigns to promote your app
  • Powerful ad performance dashboard
  • NAX is free for developers

This article shows how to implement location based NAX ad (Banner) in your Windows Phone 8 application. The instructions complement the Windows Phone SDK guidelines on Inneractive wiki.

A NAX Dashboard at

Step 1 – Register and download SDK

First what you need to do is to register on
After that you need to download SDK from SDKs page for Windows Phone 8. Current version is 1.1.3 (14 February 2013). I propose you to look at Ad Placement Strategy.html document in folder Documentation with suggestions where to put your advert. The selected location influences how much will you earn from each ad.

Step 2 – Put ad files into Windows Phone project

From the InneractiveAdSDK folder of the extracted SDK, copy files to the root of your Visual Studio project (root for simplicity only, you can put these files in a separate folder):

  • Inneractive.Ad.dll
  • InneractiveAdLocation.cs (use this file only if you want to use location based ad in your WP app)

Files from InneractiveAdSDK folder

and then in Visual Studio for your Project do Add/Existing Item and choose both of the files.

Step 3 – Register NAX add dll file

You need to register Inneractive.Ad.dll file. Use References/Add Reference, click Browse button and find dll file from your Windows Phone solution.
After successful adding of dll file you need to get this reference:

Inneractive.Ad.dll added in reference section of the Project

Step 4 – Include capabilities

In order to NAX work in your app you need to activate some of the capabilities. From Properties/WMAppManifest.xaml file activate next check boxes in Capabilities section:


Step 5 – Display NAX ad in XAML

First, you need to add control in XAML where your ad will be positioned. We will use NAX control StackPanel using Grid:

 x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">




Height=“53” Name=“nax_control” Grid.Row=“1”>
> List of supported ad sizes:

  • 300 x 50
  • 320 x 53
  • 300 x 250 (Rectangle)
  • 320 x 480 (Full Screen)

We will use 320×53 pixel size on the bottom of the page using Grid.
The final result is:

NAX banner implemented in Windows Phone Page

Step 6 – C# code for NAX

After adding control in XAML code we need to write some code using C#. First we need to add two namespace in page where we want to put our ad control, in this case MainPage.xaml.cs with:

using Inneractive.Nokia.Ad;
using InneractiveAdLocation;

I recommend you include namespace:

using Microsoft.Phone.Net.NetworkInformation;

NetworkInformation is to check if Internet connection is available with method: DeviceNetworkInformation.IsNetworkAvailable.
Then define optionalParams before main constructor in the class. All logic are in two methods MainPage_Loaded(): and iaLocation_Done()

public partial class MainPage : PhoneApplicationPage
Dictionary<InneractiveAd.IaOptionalParams, string> optionalParams;
// Constructor
public MainPage()
// Sample code to localize the ApplicationBar
this.Loaded += new RoutedEventHandler(MainPage_Loaded);
private void MainPage_Loaded(object sender, RoutedEventArgs e)
if (DeviceNetworkInformation.IsNetworkAvailable)
// Watch location
IaLocationClass iaLocation = new IaLocationClass();
iaLocation.Done += new System.EventHandler<IaLocationEventArgs>(iaLocation_Done);
optionalParams = new Dictionary<InneractiveAd.IaOptionalParams, string>();
optionalParams.Add(InneractiveAd.IaOptionalParams.Key_OptionalAdWidth, "320"); //ad width
optionalParams.Add(InneractiveAd.IaOptionalParams.Key_OptionalAdHeight, "53"); //add height
//Show Add Banner. Remarks: pay attention to use Application Id from NAX
if (optionalParams != null)
InneractiveAd iaBanner = new InneractiveAd("ApplicationId", InneractiveAd.IaAdType.IaAdType_Banner, 30, optionalParams);
void iaLocation_Done(object sender, IaLocationEventArgs e)
// Add location, if received
if (e != null && e.location != null)
optionalParams.Add(InneractiveAd.IaOptionalParams.Key_Gps_Coordinates, e.location);
catch (Exception ex)
System.Diagnostics.Debug.WriteLine("Error: " + ex.ToString());
Note: ApplicationId_NAX is generated from from Add App section.

Add App section to create new AppID

You need to enter information including:

  • Mobile platform
  • Application name
  • Category
  • Does your app use location

After this you get generated Application Id for you application. This is crucial info to track your ad banner in your Windows Phone app in Nokia NAX dashboard.
Generated Application Id (AppID) that you need to use in your app (we call it ApplicationId_NAX in our app):

Created NAX AppID that you need to use in C# code

That is it!
I hope that you can earn some money using Nokia NAX ad.

Leave a Reply

Your email address will not be published. Required fields are marked *