Skip to content

Commit 3580185

Browse files
committed
Basic UserID support.
1 parent 271a943 commit 3580185

File tree

2 files changed

+16
-0
lines changed

2 files changed

+16
-0
lines changed

Source/CSharpAnalytics.Tests/Protocols/Measurement/MeasurementAnalyticsClientTests.cs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,17 @@ public void MeasurementAnalyticsClient_AdjustUriBeforeRequest_Clears_Fragment()
144144
Assert.AreEqual(actual.Fragment, "");
145145
}
146146

147+
[TestMethod]
148+
public void MeasurementAnalyticsClient_AdjustUriBeforeRequest_Adds_Uid_Parameter()
149+
{
150+
var originalUri = new Uri("http://anything.really.com/something#" + DateTime.UtcNow.ToString("o"));
151+
var client = new MeasurementAnalyticsClient() { UserId = "Testing" };
152+
153+
var actual = client.AdjustUriBeforeRequest(originalUri);
154+
155+
StringAssert.Contains(actual.Query, "uid=Testing");
156+
}
157+
147158
[TestMethod]
148159
public void MeasurementAnalyticsClient_OnTrack_Fires_When_Tracked()
149160
{

Source/CSharpAnalytics/Protocols/Measurement/MeasurementAnalyticsClient.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@ public class MeasurementAnalyticsClient
2929
/// </summary>
3030
public event EventHandler<MeasurementActivity> OnTrack = delegate { };
3131

32+
public string UserId { get; set; }
33+
3234
/// <summary>
3335
/// Configure this MeasurementAnalyticsClient so it can start recording and sending analytics.
3436
/// </summary>
@@ -178,6 +180,9 @@ private static void ValidateEnum(Enum index)
178180
public Uri AdjustUriBeforeRequest(Uri uri)
179181
{
180182
var parameters = GetQueryParameters(uri.GetComponents(UriComponents.Query, UriFormat.Unescaped));
183+
if (!String.IsNullOrWhiteSpace(UserId))
184+
parameters["uid"] = UserId;
185+
181186
AddQueueTimeFromFragment(uri, parameters);
182187
return new UriBuilder(uri) { Query = GetQueryString(parameters), Fragment = "" }.Uri;
183188
}

0 commit comments

Comments
 (0)