tools/AppInsights/ReadMe.md
##Application Insights SDK C++ - For UAP apps##
###Introduction### This document describes how to integrate AppInsights into your projects and the APIs available to you.
###Requirements:### This SDK will run on Windows C++ - VS 2015 UAP projects
###Download:###
###Setup:###
<sdk location>\ApplicationInsights\inc to the project properties -> VC++ Directories -> Include Directories<sdk location>\ApplicationInsights\lib\ <PLATFORM TYPE>\ release\AppInsights_Win10-UAP to the project properties -> VC++ Directories -> Library Directories<sdk location>\ApplicationInsights\lib\ <PLATFORM TYPE>\release\ApplicationInsights to project properties -> VC++ Directories -> Library WinRT Directories<sdk location>\ApplicationInsights\lib\ <PLATFORM TYPE>\ debug\AppInsights_Win10-UAP to the project properties -> VC++ Directories -> Library Directories<sdk location>\ApplicationInsights\lib\ <PLATFORM TYPE>\debug\ApplicationInsights to project properties -> VC++ Directories -> Library WinRT Directories<sdk location>\ApplicationInsights\lib\ <PLATFORM TYPE>\ <BUILD TYPE>\ApplicationInsights<sdk location>\ApplicationInsights\lib\ <PLATFORM TYPE>\ <BUILD TYPE>\AppInsights_Win10-UAP. Go to properties and set content to YES. This will copy the dll to your build directory.add using namespace ApplicationInsights::CX;
In App:App()
// this will do automatic session tracking and automatic page view collection
m_session = ref new ApplicationInsights::CX::SessionTracking();
Once you have created the root Frame, (usually at the end of App::OnLaunched) initalize m_session
String^ iKey = L"<YOUR INSTRUMENTATION KEY>";
m_session->Initialize(this, rootFrame, iKey);
using namespace ApplicationInsights::CX;
TelemetryClient^ tc = ref new TelemetryClient(L"<YOUR INSTRUMENTATION KEY>");
tc->TrackEvent(L"I'M ON PAGE 1");
tc->TrackMetric(L"Test Metric", 5.03);
###APIs###
/// <summary>
/// Initializes a new instance of the <see cref="TelemetryClient"/> class.
/// </summary>
/// <param name="iKey">The iKey.</param>
TelemetryClient(Platform::String^ iKey);
/// <summary>
/// Finalizes an instance of the <see cref="" /> class.
/// </summary>
/// <returns></returns>
virtual ~TelemetryClient();
/// <summary>
/// Tracks the event.
/// </summary>
/// <param name="eventName">Name of the event.</param>
void TrackEvent(Platform::String^ eventName);
/// <summary>
/// Tracks the trace.
/// </summary>
/// <param name="message">The message.</param>
void TrackTrace(Platform::String^ message);
/// <summary>
/// Tracks the metric.
/// </summary>
/// <param name="name">The name.</param>
/// <param name="value">The value.</param>
void TrackMetric(Platform::String^ name, double value);
/// <summary>
/// Tracks the page view.
/// </summary>
/// <param name="pageName">Name of the page.</param>
void TrackPageView(Platform::String^ pageName);
/// <summary>
/// Tracks the page view.
/// </summary>
/// <param name="pageName">Name of the page.</param>
/// <param name="duration">The duration.</param>
void TrackPageView(Platform::String^ pageName, Platform::String^ duration);
/// <summary>
/// Tracks the session start.
/// </summary>
void TrackSessionStart();
/// <summary>
/// Flushes this queue.
/// </summary>
void Flush();
/// <summary>
/// Disables all tracking.
/// </summary>
void DisableTracking();
/// <summary>
/// Enables all tracking.
/// </summary>
void EnableTracking();
/// <summary>
/// Renews the session.
/// </summary>
void RenewSession();