GoogleDataTransport (FireLog BatchedLogRequest, Protobuf)

GoogleDataTransport (FireLog BatchedLogRequest, Protobuf) (google/googledatatransport-firelog-batchlog-protobuf)

operated by: Google LLC (get company information on datarequests.org)
The GoogleDataTransport SDK is a transport layer used internally by many other Firebase (e.g. Crashlytics, Performance, Core) Google (e.g. ML Kit) SDKs and services. Source It batches application-specific data from within an app to Google, using a common endpoint regardless of the actual SDK that was integrated by the app developer. 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://firebaselogging-pa.googleapis.com/v1/firelog/legacy/batchlog
  • https://crashlyticsreports-pa.googleapis.com/v1/firelog/legacy/batchlog
  • https://firebaselogging.googleapis.com/v0cc/log/batch

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. Decode the request body as a protocol buffer (Protobuf). Store that in the result for the request body.
  2. Get the property at JSONPath $.1[?(@[2] === 462)].3.*.6 in the result for the request body. Store that in the result for the request body at logEvents_FIREPERF.
  3. Get the property at JSONPath $.1[?(@[2] === 1710)].3.6 in the result for the request body. Store that in the result for the request body at logEvents_GDT_CLIENT_METRICS.
  4. Get the property at JSONPath $.1[?(@[2] === 1974)].3.6 in the result for the request body. Store that in the result for the request body at logEvents_FIREBASE_APPQUALITY_SESSION.
  5. Get the property at JSONPath $.1[?(@[2] === 137)].3.6 in the result for the request body. Store that in the result for the request body at logEvents_FIREBASE_COREDIAGNOSTICS.
  6. Get the property at JSONPath $.1[?(@[2] === 1326)].3.*.6 in the result for the request body. Store that in the result for the request body at logEvents_FIREBASE_ML_LOG_SDK.
1res.body = decodeProtobuf(body)
2res.body.logEvents_FIREPERF = res.body.$.1[?(@[2] === 462)].3.*.6
3res.body.logEvents_GDT_CLIENT_METRICS = res.body.$.1[?(@[2] === 1710)].3.6
4res.body.logEvents_FIREBASE_APPQUALITY_SESSION = res.body.$.1[?(@[2] === 1974)].3.6
5res.body.logEvents_FIREBASE_COREDIAGNOSTICS = res.body.$.1[?(@[2] === 137)].3.6
6res.body.logEvents_FIREBASE_ML_LOG_SDK = res.body.$.1[?(@[2] === 1326)].3.*.6

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 IDbody1.1.4.11 Tracker documentation on this propertycom.storytel.iphone
com.ghmhmihedenne.ghmhmihedenne
dev.netlob.spotistats
com.topgamesinc.evony
com.dermanostic
bodylogEvents_FIREPERF.*.1.3.1 Tracker documentation on this property
bodylogEvents_GDT_CLIENT_METRICS.*.4 Tracker documentation on this propertycom.groundspeak.GeocachingIntro
com.jordanpeterson.TBR---Bookshelf
com.ovyapp.ios
com.philips.cl.nutriu
com.tado.tadoapp
bodylogEvents_FIREBASE_COREDIAGNOSTICS.*.12 Tracker documentation on this propertycom.holidu.holidu
de.immonet.iphone
com.chargemap
capital.scalable.Scalable-Capital
co.pupy.app
bodylogEvents_FIREBASE_ML_LOG_SDK.*.1.1 Tracker documentation on this propertyco.thefabulous.app
com.apalonapps.plants
App versionbody1.1.4.5 Tracker documentation on this property164711
1
143
130881
2.6.0
bodylogEvents_FIREPERF.*.1.3.3 Tracker documentation on this property
bodylogEvents_FIREPERF.*.1.4.3 Tracker documentation on this property9.5.0
8.0.0
4.8.27
22.4
1.3.11
bodylogEvents_FIREBASE_APPQUALITY_SESSION.*.3.6.1 Tracker documentation on this property2.54.0
6.119.0
2
7.1.0
10822202
bodylogEvents_FIREBASE_APPQUALITY_SESSION.*.3.6.6 Tracker documentation on this property2.54.0
138
597
16464105
195
bodylogEvents_FIREBASE_ML_LOG_SDK.*.1.2 Tracker documentation on this property1.41.3
2.20.2
2.53.0
Countrybody1.1.4.6 Tracker documentation on this propertyDE
Is app in foreground?bodylogEvents_FIREPERF.*.1.5 Tracker documentation on this property1
Languagebody1.1.4.8 Tracker documentation on this propertyen
map[12:1.111960942e+09]
de
map[12:1.111960942e+09]
map[12:1.111960942e+09]
Modelbody1.1.4.7 Tracker documentation on this propertymap[13:3.6873853027168686e+18]
map[13:3.6873853027168686e+18]
map[13:3.6873853027168686e+18]
map[13:3.6873853027168686e+18]
map[13:3.6873853027168686e+18]
bodylogEvents_FIREBASE_APPQUALITY_SESSION.*.3.2 Tracker documentation on this propertyiPhone10,6
bodylogEvents_FIREBASE_COREDIAGNOSTICS.*.9 Tracker documentation on this propertymap[13:3.6873853027168686e+18]
map[13:3.6873853027168686e+18]
map[13:3.6873853027168686e+18]
map[13:3.6873853027168686e+18]
map[13:3.6873853027168686e+18]
Network connection typebodylogEvents_FIREPERF.*.1.4.5.1 Tracker documentation on this property1
bodylogEvents_FIREBASE_APPQUALITY_SESSION.*.3.6.3.1 Tracker documentation on this property1
8
OS namebody1.1.1.1 Tracker documentation on this property15
bodylogEvents_FIREBASE_APPQUALITY_SESSION.*.3.6.4 Tracker documentation on this property4
OS versionbody1.1.4.3 Tracker documentation on this property14
15
body1.1.4.4 Tracker documentation on this property14.8
14.5.1
15.6.1
bodylogEvents_FIREBASE_APPQUALITY_SESSION.*.3.9 Tracker documentation on this property15.6.1
bodylogEvents_FIREBASE_COREDIAGNOSTICS.*.22 Tracker documentation on this property14.8
14.5.1
15.6.1
Other unique identifiers for the user, device, session, or installationbodylogEvents_FIREPERF.*.4.1 Tracker documentation on this propertyf9cd1f25e6a6492585b35f5347eb220d
78f6288bef094cb0907909a001ce0ad4
9272114588f247ccb14235527ccd5945
6942f3955ad74a9da7cea098505f10c9
bodylogEvents_FIREBASE_APPQUALITY_SESSION.*.2.1 Tracker documentation on this property5260343ab62242a0900f8be9044ed0e3
11148e1398014bf0bb99ea8b4c157fea
6b531663a33e4a4e97f64b3e9867afe7
263e0fe8988f412c9fbd1aa53960a6ac
f15f3339b17047c0b685c7cad8cd4224
bodylogEvents_FIREBASE_APPQUALITY_SESSION.*.2.7 Tracker documentation on this property5260343ab62242a0900f8be9044ed0e3
11148e1398014bf0bb99ea8b4c157fea
6b531663a33e4a4e97f64b3e9867afe7
263e0fe8988f412c9fbd1aa53960a6ac
f15f3339b17047c0b685c7cad8cd4224
bodylogEvents_FIREBASE_APPQUALITY_SESSION.*.2.3 Tracker documentation on this propertyf8Zt-XzWEkgBl-4kiAgCoO
f4h8Jaxg4EAcvtWUxT6mTC
dS_hHO0MBUqviNxk7jDa02
exOIXfP2I0wdp94znIz6Q8
faVZZ3jFN0JDqpDIouOaGS
Used RAMbodylogEvents_FIREPERF.*.4.4.*.2 Tracker documentation on this property
Tracker SDK versionbodylogEvents_FIREPERF.*.1.3.2 Tracker documentation on this property
bodylogEvents_FIREPERF.*.1.4.2 Tracker documentation on this property8.12.1
8.8.0
8.11.0
7.11.0
8.12.0
bodylogEvents_FIREBASE_APPQUALITY_SESSION.*.3.7 Tracker documentation on this property10.7.0
10.9.0
10.8.0
10.12.0
10.6.0
bodylogEvents_FIREBASE_COREDIAGNOSTICS.*.18 Tracker documentation on this property81201000
map[6:[48 48] 7:[48 48]]
81100000
71100000
map[6:[48 48 48] 7:49]
bodylogEvents_FIREBASE_COREDIAGNOSTICS.*.19 Tracker documentation on this property
bodylogEvents_FIREBASE_COREDIAGNOSTICS.*.31 Tracker documentation on this propertyapple-platform/ios apple-sdk/19C51 appstore/true deploy/swiftpm device/iPhone9,3 fire-abt/8.12.1 fire-analytics/8.12.0 fire-dl/8.12.1 fire-install/8.12.1 fire-ios/8.12.1 fire-perf/8.12.1 fire-rc/8.12.1 firebase-crashlytics/8.12.1 os-version/14.8 xcode/13C100
apple-platform/ios apple-sdk/19C51 appstore/true deploy/swiftpm device/iPhone9,3 fire-abt/8.12.1 fire-analytics/8.12.0 fire-install/8.12.1 fire-ios/8.12.1 fire-perf/8.12.1 fire-rc/8.12.1 firebase-crashlytics/8.12.1 os-version/14.8 xcode/13C100
apple-platform/ios apple-sdk/19A339 appstore/true deploy/zip device/iPhone9,3 fire-abt/8.8.0 fire-analytics/8.8.0 fire-install/8.8.0 fire-ios/8.8.0 fire-perf/8.8.0 fire-rc/8.8.0 firebase-crashlytics/8.8.0 os-version/14.8 xcode/13A1030d
apple-platform/ios apple-sdk/19A339 appstore/true deploy/swiftpm device/iPhone9,3 fire-abt/8.11.0 fire-analytics/8.9.1 fire-dl/8.11.0 fire-install/8.11.0 fire-ios/8.11.0 fire-perf/8.11.0 fire-rc/8.11.0 firebase-crashlytics/8.11.0 os-version/14.8 xcode/13A1030d
apple-platform/ios apple-sdk/19C51 appstore/true deploy/cocoapods device/iPhone9,3 fire-abt/7.11.0 fire-analytics/7.11.0 fire-install/7.11.0 fire-ios/7.11.0 fire-perf/7.11.0 fire-rc/7.11.0 firebase-crashlytics/7.11.0 os-version/14.8 react-native-firebase-crashlytics/11.5.0 react-native-firebase/11.5.0 swift/true xcode/13C100
bodylogEvents_FIREBASE_ML_LOG_SDK.*.1.4 Tracker documentation on this property8.7.0
8.12.1
10.11.0
References