×
Namespaces

Variants
Actions
Revision as of 03:27, 22 November 2013 by hamishwillee (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Implementing advert in Windows Phone app using Inneractive with CSharp

From Nokia Developer Wiki
Jump to: navigation, search
{{{width}}}
12 May
2013

Needs-update.pngThis article needs to be updated: If you found this article useful, please fix the problems below then delete the {{ArticleNeedsUpdate}} template from the article to remove this warning.

Reasons: hamishwillee (talk) (22 Nov 2013)
Inneractive now work with Nokia developers directly. This article has been partially updated to refer to Inneractive, but needs to be retested. All references to NAX should be removed as part of testing/update.

This article explains how to implement location based Inneractive ad (Banner) in your Windows Phone 8 application.

SignpostIcon XAML 40.png
WP Metro Icon WP8.png
Article Metadata
Code Example
Source file: Media:NAXApp.zip
Tested with
SDK: Windows Phone SDK 8.0
Compatibility
Platform(s): Windows Phone 8
Windows Phone 8
Article
Created: Spaso Lazarevic (08 May 2013)
Last edited: hamishwillee (22 Nov 2013)

Contents

Introduction

One of the ways of advertising in Windows Phone application is to use Inneractive. If you live in country where you can’t use Microsoft Ad Exchange, you can easily use Inneractive to earn some money from your Windows Phone app.

Inneractive is a mobile in-app advertising provider.

The key Inneractive 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
  • Inneractive is free for developers


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


Step 1 – Register and download SDK

First what you need to do is to register on Inneractive

After that you need to download SDK from SDKs page for Windows Phone 8. Current version is 1.1.3 (14 February 2013).

Sdk ad.png


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

Note.pngNote: If you can't add dll file as reference with error "A reference to a higher version or incompatible assembly cannot be added to the project" you need to Unblock dll file. You can Unblock file with Right-click the Inneractive.Ad.dll file and choose Properties. At the bottom of the window, under Security, click the Unblock button and click Apply.

Step 4 – Include capabilities

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

  • ID_CAP_LOCATION
  • ID_CAP_NETWORKING
  • ID_CAP_WEBBROWSERCOMPONENT
  • ID_CAP_PHONEDIALER
  • ID_CAP_IDENTITY_DEVICE

Step 5 – Display NAX ad in XAML

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

<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="53"/>
</Grid.RowDefinitions>
 
<ListBox Grid.Row="0">
</ListBox>
 
<StackPanel Height="53" Name="nax_control" Grid.Row="1">
</StackPanel>
</Grid>

List of supported ad sizes:

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

In this example we will use 320x53 pixel size on the bottom of the page using Grid.

The final result is:

Inneractive banner implemented in Windows Phone Page

Step 6 – C# code for Inneractive

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()
{
InitializeComponent();
 
// Sample code to localize the ApplicationBar
//BuildLocalizedApplicationBar();
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);
iaLocation.StartWatchLocation();
 
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 Inneractive
//nax_control.Childred.Count()==0 => just to add one banner control on a page. Without this, code would add as many banners as you navigate to page where banner is placed
if (optionalParams != null && nax_control.Children.Count() == 0)
{
InneractiveAd iaBanner = new InneractiveAd("ApplicationId", InneractiveAd.IaAdType.IaAdType_Banner, 30, optionalParams);
nax_control.Children.Add(iaBanner);
}
}
 
void iaLocation_Done(object sender, IaLocationEventArgs e)
{
try
{
// 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());
}
}
}


Step 7 – AppId generation

Note.pngNote: ApplicationId_NAX is generated from nax.nokia.com 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.

References

This page was last modified on 22 November 2013, at 03:27.
488 page views in the last 30 days.