рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд╣рдо
рдЗрдирд░рдПрдХреНрдЯрд┐рд╡ рддрдХрдиреАрдХ рдкрд░ рдЖрдзрд╛рд░рд┐рдд Nokia Ad Exchange (NAX) рдХреЗ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЙрдкрдпреЛрдЧ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджрд┐рдЦрд╛рдПрдВрдЧреЗ
ред ред
NAX рдЖрдкрдХреЛ рд╕рдмрд╕реЗ рдмрдбрд╝реЗ рд╡рд┐рдЬреНрдЮрд╛рдкрди рд╡рд┐рдирд┐рдордп рдиреЗрдЯрд╡рд░реНрдХ рддрдХ рдкрд╣реБрдБрдЪ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЖрдкрдХреЛ рдкреИрд╕реЗ рдХрдорд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ PayPal рдЦрд╛рддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
NAX рдХреА рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ:
- рдПрдХ рдПрд╕рдбреАрдХреЗ рдХреЗ рд╕рд╛рде 120 рд╕реЗ рдЕрдзрд┐рдХ рд╡рд┐рдЬреНрдЮрд╛рдкрди рдиреЗрдЯрд╡рд░реНрдХ рддрдХ рдкрд╣реБрдВрдЪред
- рднреБрдЧрддрд╛рди 200 рд╕реЗ рдЕрдзрд┐рдХ рджреЗрд╢реЛрдВ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИрдВред
- рдЕрдкрдиреЗ рдЖрд╡реЗрджрди рдХреЛ рдмрдврд╝рд╛рд╡рд╛ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдЬреНрдЮрд╛рдкрди рдЕрднрд┐рдпрд╛рди рдХреЛ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ред
- рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд╡рд┐рдЬреНрдЮрд╛рдкрди рдирд┐рдпрдВрддреНрд░рдг рдХрдХреНрд╖ред
- NAX рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдореБрдлреНрдд рд╣реИред
NAX рдХрд╛ рдЙрдкрдпреЛрдЧ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╡рд┐рдВрдбреЛрдЬ рдлреЛрди 8 рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд╛рд╕ рдЙрдкрдХрд░рдг рдХреЗ рд╕рд╛рде рдкреГрд╖реНрда рдкрд░ рдПрд╕рдбреАрдХреЗ рдХреЛ
рдкрдВрдЬреАрдХреГрдд рдХрд░рдирд╛ рдФрд░ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рд╣рдо рджреГрдврд╝рддрд╛ рд╕реЗ рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╡рд┐рдЬреНрдЮрд╛рдкрди рдкреНрд▓реЗрд╕рдореЗрдВрдЯ рд╕реНрдЯреНрд░реИрдЯреЗрдЬреАред Html рдлрд╝рд╛рдЗрд▓ рдкрдврд╝реЗрдВ, рдЬрд┐рд╕рдореЗрдВ рд╡рд┐рдЬреНрдЮрд╛рдкрди рдЗрдХрд╛рдИ рд░рдЦрдиреЗ рдХреЗ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдкрд░ рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ рд╣реИред рдЪрдпрдирд┐рдд рд╕реНрдерд╛рди рд╡рд┐рдЬреНрдЮрд╛рдкрди рд╕реЗ рдкреНрд░рд╛рдкреНрдд рд▓рд╛рдн рдХреЛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд░реВрдк рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИред
рдПрдХ рд╡рд┐рдВрдбреЛрдЬ рдлреЛрди рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдПрдХ рд╡рд┐рдЬреНрдЮрд╛рдкрди рдлрд╝рд╛рдЗрд▓ рд░рдЦрдХрд░
рдЕрдирдкреИрдХ рдХрд┐рдП рдЧрдП рдПрд╕рдбреАрдХреЗ рдХреЗ рдЗрдирд░рдПрдХреНрдЯрд┐рд╡рдПрдбреАрдПрд╕рдХреЗрдХреЗ рдлреЛрд▓реНрдбрд░ рд╕реЗ, рдЖрдкрдХреЛ рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдЕрдкрдиреЗ рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд░реВрдЯ рдлреЛрд▓реНрдбрд░ рдореЗрдВ рдХреЙрдкреА рдХрд░рдирд╛ рд╣реЛрдЧрд╛ (рд╕рд░рд▓рддрд╛ рдХреЗ рд▓рд┐рдП рд░реВрдЯ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рдкреНрд▓реЗрд╕рдореЗрдВрдЯ рдЬрд░реВрд░реА рд╣реИ, рдлрд╛рдЗрд▓ рдХреЛ рдПрдХ рдЕрд▓рдЧ рдлреЛрд▓реНрдбрд░ рдореЗрдВ рднреА рд░рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ):
- рднреАрддрд░реА рд╕рдХреНрд░рд┐рдпред
- InneractiveAdLocation.cs (рдпрд╣ рдлрд╝рд╛рдЗрд▓ рдХреЗрд╡рд▓ рддрднреА рдирд┐рдХрд╛рд▓реА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдП рдЬрдм рдЖрдк рдЕрдкрдиреЗ WP рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рд╕реНрдерд╛рди-рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рд╡рд┐рдЬреНрдЮрд╛рдкрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ)ред

рдлрд┐рд░ Visual Studio рдореЗрдВ Add / Existing Item рдЖрдЗрдЯрдо рдЦреЛрд▓реЗрдВ рдФрд░ рджреЛрдиреЛрдВ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВред
рдЗрдирд░рдПрдХреНрдЯрд┐рд╡ рд░рдЬрд┐рд╕реНрдЯрд░ .d.dll рдлрд╝рд╛рдЗрд▓
рдЕрдм рдЗрдирд░рдПрдХреНрдЯрд┐рд╡ рдлрд╛рдЗрд▓ рдХреЛ рд░рдЬрд┐рд╕реНрдЯрд░ рдХрд░реЗрдВред A..d.dll рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рдВрджрд░реНрдн / рдЬреЛрдбрд╝реЗрдВ рд╕рдВрджрд░реНрдн рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдлрд┐рд░ рдмреНрд░рд╛рдЙрдЬрд╝ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рд╡рд┐рдВрдбреЛрдЬ рдлреЛрди рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдбреАрдПрд▓рдПрд▓ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдПрдВред Dll рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рдЗрд╕ рд▓рд┐рдВрдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА:

рдпрджрд┐ рд▓рд┐рдВрдХ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдореЗрдВ рддреНрд░реБрдЯрд┐ "рдЙрдЪреНрдЪ рд╕рдВрд╕реНрдХрд░рдг рдпрд╛ рдЕрд╕рдВрдЧрдд рдЕрд╕реЗрдВрдмрд▓реА рдХрд╛ рд╕рдВрджрд░реНрдн рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдирд╣реАрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ" рдкреНрд░рдХрдЯ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдкрдХреЛ dll рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЕрдирд▓реЙрдХ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдлрд╝рд╛рдЗрд▓ рдЧреБрдгреЛрдВ рдореЗрдВ "рд╕реБрд░рдХреНрд╖рд╛" рдЯреИрдм рдкрд░ рдЬрд╛рдПрдВ рдФрд░ "рдЕрдирд▓реЙрдХ" рд╡рд┐рдХрд▓реНрдк рдЪреБрдиреЗрдВ, рдлрд┐рд░ - "рд▓рд╛рдЧреВ рдХрд░реЗрдВ"ред
рдХреНрд╖рдорддрд╛рдУрдВ рдХреЛ рдЪрд╛рд▓реВ рдХрд░реЗрдВ
NAX рдХреЗ рд▓рд┐рдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЖрд╡рд╢реНрдпрдХ рдХреНрд╖рдорддрд╛рдУрдВ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЧреБрдг / WMAppManifest.xaml рдлрд╝рд╛рдЗрд▓ рдореЗрдВ, рдХреНрд╖рдорддрд╛рдУрдВ рдореЗрдВ рдирд┐рдореНрди рдЪреЗрдХрдмреЙрдХреНрд╕ рджреЗрдЦреЗрдВ:
яГ╝ ID_CAP_LOCATION
AP ID_CAP_NETWORKING
AP ID_CAP_WEBBROWSERCOMPONENT
яГ╝ ID_CAP_PHONEDIALER
AP ID_CAP_IDENTITY_DEVICE
Xaml рдореЗрдВ NAX рдмреИрдирд░ рд╡рд┐рдЬреНрдЮрд╛рдкрди рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВ
рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдмреИрдирд░ рдХреА рд╕реНрдерд┐рддрд┐ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Xaml рдкрд░ рдирд┐рдпрдВрддреНрд░рдг рдЬреЛрдбрд╝реЗрдВред рд╣рдо рдЧреНрд░рд┐рдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ StackPanel рдирд┐рдпрдВрддреНрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ:
<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>
рдЙрдкрд▓рдмреНрдз рдмреИрдирд░ рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреА рд╕реВрдЪреА:
тАв 300 x 50
тАв 320 x 53
тАв 300 x 250 (рдЖрдпрдд)
тАв 320 x 480 (рдкреВрд░реНрдг рд╕реНрдХреНрд░реАрди)
рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╣рдо рдЧреНрд░рд┐рдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреГрд╖реНрда рдХреЗ рдирд┐рдЪрд▓реЗ рднрд╛рдЧ рдореЗрдВ 320 * 53 рдкрд┐рдХреНрд╕реЗрд▓ рдХреЗ рдЖрдХрд╛рд░ рдХреЗ рд╕рд╛рде рдПрдХ рдмреИрдирд░ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред
рдпрд╣рд╛рдБ рдкрд░рд┐рдгрд╛рдо рд╣реИ:
Nax рдмреИрдирд░ рд╡рд┐рдВрдбреЛрдЬ рдлреЛрди рдРрдк рдореЗрдВ рдПрдореНрдмреЗрдбреЗрдб рд╣реИNAX рдХреЗ рд▓рд┐рдП C # рдХреЛрдб
рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ Xaml рдкрд░ рдирд┐рдпрдВрддреНрд░рдг рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рдХреБрдЫ C # рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкрд╣рд▓реЗ рдЙрд╕ рдкреГрд╖реНрда рдкрд░ рджреЛ рдирд╛рдорд╕реНрдерд╛рди рдЬреЛрдбрд╝реЗрдВ рдЬрд╣рд╛рдБ рд╡рд┐рдЬреНрдЮрд╛рдкрди рд░рдЦрд╛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ MainPage.xaml.cs рд╣реИред
using Inneractive.Nokia.Ad; using InneractiveAdLocation;
рддреАрд╕рд░рд╛ рднреА рдЬреЛрдбрд╝реЗрдВ:
using Microsoft.Phone.Net.NetworkInformation;
NetworkInformation рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрдВрдЯрд░рдиреЗрдЯ рдХрдиреЗрдХреНрд╢рди рдХреА рдЙрдкрд▓рдмреНрдзрддрд╛ рдХреА рдЬрд╛рдБрдЪ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ: DeviceNetworkInformation.IsNetworkAvailableред
рдлрд┐рд░ рдХреНрд▓рд╛рд╕ рдореЗрдВ рдореБрдЦреНрдп рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЗ рд╕рд╛рдордиреЗ рд╡реИрдХрд▓реНрдкрд┐рдХрдкреНрд░реЗрдо рд╕реЗрдЯ рдХрд░реЗрдВред рджреЛ рддрд░реАрдХреЛрдВ рдореЗрдВ рд╕рднреА рддрд░реНрдХ: MainPage_Loaded () рдФрд░ 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 NAX if (optionalParams != null) { 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()); } } }
AppId рдмрдирд╛рдПрдБ
ApplicationId_NAX рдРрдб рдРрдк рдЖрдЗрдЯрдо рдХреЗ рддрд╣рдд nax.nokia.com рдкрд░ рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИред

рдЖрдкрдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЬрд╛рдирдХрд╛рд░реА рджрд░реНрдЬ рдХрд░рдиреА рд╣реЛрдЧреА:
тАв рдореЛрдмрд╛рдЗрд▓ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдоред
тАв рдЖрд╡реЗрджрди рдХрд╛ рдирд╛рдоред
тАв рд╢реНрд░реЗрдгреАред
тАв рдХреНрдпрд╛ рдЖрд╡реЗрджрди рд╕реНрдерд╛рди рдХреА рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
рдЙрд╕рдХреЗ рдмрд╛рдж, рдЖрдк рдЕрдкрдиреЗ рдЖрд╡реЗрджрди рдХреЗ рд▓рд┐рдП рдЙрддреНрдкрдиреНрди рдЖрд╡реЗрджрди рдЖрдИрдбреА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗред рдпрд╣ рдЬрд╛рдирдХрд╛рд░реА рдЖрдкрдХреЗ рд╡рд┐рдЬреНрдЮрд╛рдкрдиреЛрдВ рдХреЛ NAX рдХрдВрдЯреНрд░реЛрд▓ рдкреИрдирд▓ рдореЗрдВ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реЛрдЧреАред
рдпрд╣рд╛рдВ рдЬрд╛рдирд┐рдП рдХрд┐ рдРрдкреНрдкрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рд╕ рддрд░рд╣ рд╕реЗ рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИ:
рдЙрддреНрдкрдиреНрди рдПрдкрд┐рдб рдЬрд┐рд╕реЗ C # рдХреЛрдб рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПредрд╡рд╣ рд╕рдм рд╣реИред
рд╣рдо рдЖрдкрдХреЛ рдиреЛрдХрд┐рдпрд╛ NAX рд╡рд┐рдЬреНрдЮрд╛рдкрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдлрд▓ рдЖрдп рдХреА рдХрд╛рдордирд╛ рдХрд░рддреЗ рд╣реИрдВ!