adnw-sync2
operated by: Facebook (get company information on datarequests.org)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:\/\/(www|web)\.facebook\.com\/adnw_sync2$/
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.- Parse the request body as a query string. Store that in the variable
q
. - Get the property at JSONPath
payload
in the variableq
. Store that in the variablepayload
. - Parse the variable
payload
as JSON. Store that in the result for the request body. - Parse the result for the request body at
context.VALPARAMS
as JSON. Replace the existing value. - Parse the result for the request body at
context.ANALOG
as JSON. Replace the existing value.
1q = parseQueryString(body)
2payload = getProperty(q, {"path":"payload"})
3res.body = parseJson(payload)
4res.body.context.VALPARAMS = parseJson(res.body.context.VALPARAMS)
5res.body.context.ANALOG = parseJson(res.body.context.ANALOG)
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.Property | Context | Path | Examples of observed values |
---|---|---|---|
Accelerometer X | body | context.ANALOG.accelerometer_x | NaN 0.0 |
Accelerometer Y | body | context.ANALOG.accelerometer_y | NaN 9.776321 |
Accelerometer Z | body | context.ANALOG.accelerometer_z | NaN 0.812345 |
App ID | body | context.BUNDLE | cast.video.screenmirroring.casttotv battle.royale.wallpapers.hd com.ufotosoft.justshot com.kossanapps.oneblock.raftsurvival com.mondayoff.wantedfish |
App version | body | context.APPVERS | 2.2.0.1 v-1.23 4.37.100786 1.1 0.1.6 |
Battery level | body | context.ANALOG.battery | 100.0 |
Carrier | body | context.CARRIER | Android |
Free disk space | body | context.ANALOG.free_space | 5755432960 5750554624 5739204608 5731213312 5626130432 |
Device advertising ID | body | context.IDFA | ea70edc1-ac05-481c-8d2a-66b1be496a7e |
Charging status | body | context.ANALOG.charging | 0 |
Is device an emulator? | body | context.VALPARAMS.is_emu | true |
Is device rooted? | body | context.ROOTED | 1 |
Language | body | context.LOCALE | en_US en ru |
Manufacturer | body | context.MAKE | Google |
Model | body | context.MODEL | sdk_gphone_x86_64_arm64 |
OS name | body | context.OS | Android |
OS version | body | context.OSVERS | 11 |
Other identifiers | body | context.SESSION_ID | b5184451-46cc-4f71-97a4-4a718e96874e cb7ea8af-7851-4f08-8fb8-7e3a043dacdb 5d8d0f5c-6414-4fbf-a6c5-079065708587 46f7a22a-f770-4e7d-b2f6-7836c35f07b4 5130d0e4-9b8a-4b88-9fec-ca6a688bda1b |
Free RAM | body | context.ANALOG.available_memory | 866504704 829968384 809857024 807424000 733306880 |
Total RAM | body | context.ANALOG.total_memory | 2076893184 |
Rotation X | body | context.ANALOG.rotation_x | 0.0 |
Rotation Y | body | context.ANALOG.rotation_y | 0.0 |
Rotation Z | body | context.ANALOG.rotation_z | 0.0 |
Screen height | body | context.SCREEN_HEIGHT | 683 411 |
Screen width | body | context.SCREEN_WIDTH | 411 683 |