adnw-sync2

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.
  1. Parse the request body as a query string. Store that in the variable q.
  2. Get the property at JSONPath payload in the variable q. Store that in the variable payload.
  3. Parse the variable payload as JSON. Store that in the result for the request body.
  4. Parse the result for the request body at context.VALPARAMS as JSON. Replace the existing value.
  5. 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.
PropertyContextPathExamples of observed values
Accelerometer Xbodycontext.ANALOG.accelerometer_xNaN
0.0
Accelerometer Ybodycontext.ANALOG.accelerometer_yNaN
9.776321
Accelerometer Zbodycontext.ANALOG.accelerometer_zNaN
0.812345
App IDbodycontext.BUNDLEcast.video.screenmirroring.casttotv
battle.royale.wallpapers.hd
com.ufotosoft.justshot
com.kossanapps.oneblock.raftsurvival
com.mondayoff.wantedfish
App versionbodycontext.APPVERS2.2.0.1
v-1.23
4.37.100786
1.1
0.1.6
Battery levelbodycontext.ANALOG.battery100.0
Carrierbodycontext.CARRIERAndroid
Free disk spacebodycontext.ANALOG.free_space5755432960
5750554624
5739204608
5731213312
5626130432
Device advertising IDbodycontext.IDFAea70edc1-ac05-481c-8d2a-66b1be496a7e
Charging statusbodycontext.ANALOG.charging0
Is device an emulator?bodycontext.VALPARAMS.is_emutrue
Is device rooted?bodycontext.ROOTED1
Languagebodycontext.LOCALEen_US
en
ru
Manufacturerbodycontext.MAKEGoogle
Modelbodycontext.MODELsdk_gphone_x86_64_arm64
OS namebodycontext.OSAndroid
OS versionbodycontext.OSVERS11
Other identifiersbodycontext.SESSION_IDb5184451-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 RAMbodycontext.ANALOG.available_memory866504704
829968384
809857024
807424000
733306880
Total RAMbodycontext.ANALOG.total_memory2076893184
Rotation Xbodycontext.ANALOG.rotation_x0.0
Rotation Ybodycontext.ANALOG.rotation_y0.0
Rotation Zbodycontext.ANALOG.rotation_z0.0
Screen heightbodycontext.SCREEN_HEIGHT683
411
Screen widthbodycontext.SCREEN_WIDTH411
683