Visual Studio App Center

Visual Studio App Center (microsoft/appcenter-logs)

operated by: Microsoft Ireland Operations Ltd. (get company information on datarequests.org, go to tracker entry in the Exodus database)

Visual Studio App Center is a collection of services by Microsoft to help developers “continuously build, test, release, and monitor apps for every platform.” Source

Among those services are:

  • App Center Diagnostics, to “[collect] information about crashes and errors” in apps. Source
  • App Center Analytics, which “helps [developers] understand user behavior and customer engagement […]. The SDK automatically captures session count and device properties like model, OS version, etc. [Developers] can define [their] own custom events […].” Source By tracking events, developers can “learn more about […] users’ behavior and understand the interaction between […] users and […] apps.” Source

Regardless of the particular SDK or service, all data sent to App Center goes to a single endpoint. Source

Endpoint URLs

These are URLs or regexes of endpoints the tracker sends data to. We use these to determine which adapter to apply to a request. Some trackers use the same endpoint for several formats. In this case we use additional logic to match the adapter to the request, refer to the code for more information.
  • https://in.appcenter.ms/logs

Decoding steps

Every tracking library has its own way of transmitting tracking data, often even several. They are regularly pretty convoluted, nested encoding schemes. Because of that, the adapter needs to decode the request information into a consistent format. We try to keep keys and paths intact, but the structure results from our decoding. All steps used in the decoding for this adapter are documented here.
  1. Parse the request body as JSON. Store that in the result for the request body.
  2. Get the property at JSONPath Install-ID in the request headers. Store that in the result for the request headers at Install-ID.
1res.body = parseJson(body)
2res.header.Install-ID = header.Install-ID

Observed data transmissions

This is data that we observed being transmitted by this tracker. Not every request contains all of this data. The context of the data describes where we found the data in the request, the path describes the location of the data in the decoded request. The examples are a selection of observed values.
PropertyContextPathExamples of observed values
App IDbodylogs.*.device.appNamespace Tracker documentation on this propertyplus.gram.stg
com.wtov.android.weather
com.powerasdev.wetel
com.trivago
com.nirom.tele.messenger
App versionbodylogs.*.device.appVersion Tracker documentation on this property7.2.1-nplus
5.0.1200
T7.3.1-W8.8
5.33.1
7.2.1
bodylogs.*.device.appBuild Tracker documentation on this property7200
500001200
29611
2020121004
60901
Carrierbodylogs.*.device.carrierName Tracker documentation on this propertyAndroid
o2-de
T-Mobile
Languagebodylogs.*.device.locale Tracker documentation on this propertyen_US
en
fa
en_DE
de_DE
Manufacturerbodylogs.*.device.oemName Tracker documentation on this propertyGoogle
Apple
Modelbodylogs.*.device.model Tracker documentation on this propertysdk_gphone_x86_64_arm64
iPhone9,3
iPhone
iPhone10,4
sdk_gphone_x86_64
OS namebodylogs.*.device.osName Tracker documentation on this propertyAndroid
iOS
OS versionbodylogs.*.device.osVersion Tracker documentation on this property11
14.8
14.5.1
13
15.6.1
bodylogs.*.device.osBuild Tracker documentation on this propertyRSR1.201013.001
18H17
RSR1.201211.001.A1
18E212
RSR1.210722.013.A2
bodylogs.*.device.osApiLevel Tracker documentation on this property30
33
Other unique identifiers for the user, device, session, or installationheaderInstall-ID Tracker documentation on this property447e3bff-9fab-4720-af11-dcc34e8f81f4
2ddc3d73-5463-46fb-9933-0c2feba74ef8
da115d80-c1b9-4bcd-a6fa-8c4a80c8cdac
b9d7bdae-57b3-4fb7-aaa5-7862b210ec3c
ca23e9c8-9781-42fd-8cb8-66ec40949f3a
bodylogs.*.sid Tracker documentation on this property5bc5089c-5b03-45ac-b657-416aac14bc37
76820974-9860-4e97-b95c-6d54148934a4
eaae87be-cb20-4ebf-8a4f-91db094144f1
856ea2c0-2fd4-4349-8c5f-72ed567af9a1
ec9c1ea5-a634-4124-81bd-669dfe4655dc
bodylogs.*.userId Tracker documentation on this property5c1fbd3a-733d-491b-98c3-4b48d25f28fc
8a6d6b73-4e02-4100-a232-701508a09fe6
-1
048cc009-d3cc-4e30-a3f1-f396899004b0
4A5AC356-C5EA-4AC1-A64B-B6985652CFAA
Screen heightbodylogs.*.device.screenSize Tracker documentation on this property1440x2392
1334x750
640x1136
750x1334
2392x1440
Screen widthbodylogs.*.device.screenSize Tracker documentation on this property1440x2392
1334x750
640x1136
750x1334
2392x1440
Time zonebodylogs.*.device.timeZoneOffset Tracker documentation on this property60
120
Tracker SDK versionbodylogs.*.device.sdkVersion Tracker documentation on this property3.3.1
2.3.0
3.2.2
2.5.1
3.3.0
References