Skip to content

Commit cb72f94

Browse files
authored
Add NetworkInformation to session start events. (#10539)
1 parent dce2e1a commit cb72f94

14 files changed

+475
-284
lines changed

FirebaseSessions/ProtoSupport/Protos/clientanalytics.proto

Lines changed: 0 additions & 79 deletions
This file was deleted.

FirebaseSessions/ProtoSupport/Protos/sessions.proto

Lines changed: 63 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,6 @@
2929

3030
syntax = "proto3";
3131

32-
import "clientanalytics.proto";
33-
3432
package firebase.appquality.sessions;
3533

3634
// Contains the relevant information around an App Quality Session.
@@ -53,6 +51,69 @@ enum EventType {
5351
SESSION_START = 1;
5452
}
5553

54+
// To describe the network connectivity of the client.
55+
// Copied from android/play/playlog/proto/clientanalytics.proto
56+
// Next tag: 3
57+
message NetworkConnectionInfo {
58+
enum NetworkType {
59+
MOBILE = 0;
60+
WIFI = 1;
61+
MOBILE_MMS = 2;
62+
MOBILE_SUPL = 3;
63+
MOBILE_DUN = 4;
64+
MOBILE_HIPRI = 5;
65+
WIMAX = 6;
66+
BLUETOOTH = 7;
67+
DUMMY = 8;
68+
ETHERNET = 9;
69+
MOBILE_FOTA = 10;
70+
MOBILE_IMS = 11;
71+
MOBILE_CBS = 12;
72+
WIFI_P2P = 13;
73+
MOBILE_IA = 14;
74+
MOBILE_EMERGENCY = 15;
75+
PROXY = 16;
76+
VPN = 17;
77+
}
78+
79+
enum MobileSubtype {
80+
UNKNOWN_MOBILE_SUBTYPE = 0;
81+
GPRS = 1;
82+
EDGE = 2;
83+
UMTS = 3;
84+
CDMA = 4;
85+
EVDO_0 = 5;
86+
EVDO_A = 6;
87+
RTT = 7;
88+
HSDPA = 8;
89+
HSUPA = 9;
90+
HSPA = 10;
91+
IDEN = 11;
92+
EVDO_B = 12;
93+
LTE = 13;
94+
EHRPD = 14;
95+
HSPAP = 15;
96+
GSM = 16;
97+
TD_SCDMA = 17;
98+
IWLAN = 18;
99+
LTE_CA = 19;
100+
NR = 20;
101+
102+
// COMBINED has value -1 in NetworkIdentity.java, but is given the value
103+
// 100 here to save (disk) space. The value -1 takes up the full 10 bytes in
104+
// a varint for enums, but the value 100 only takes up 1 byte.
105+
COMBINED = 100;
106+
}
107+
108+
// The current network connectivity type when the event was logged in the
109+
// client
110+
NetworkType network_type = 1;
111+
112+
// The current mobile connectivity subtype when the event was logged in the
113+
// client
114+
MobileSubtype mobile_subtype = 2;
115+
}
116+
56117
// Contains session-specific information relating to the event being uploaded.
57118
// Next tag: 7
58119
message SessionInfo {

FirebaseSessions/Protogen/nanopb/clientanalytics.nanopb.c

Lines changed: 0 additions & 40 deletions
This file was deleted.

FirebaseSessions/Protogen/nanopb/clientanalytics.nanopb.h

Lines changed: 0 additions & 120 deletions
This file was deleted.

FirebaseSessions/Protogen/nanopb/sessions.nanopb.c

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,12 @@ const pb_field_t firebase_appquality_sessions_SessionEvent_fields[4] = {
3333
PB_LAST_FIELD
3434
};
3535

36+
const pb_field_t firebase_appquality_sessions_NetworkConnectionInfo_fields[3] = {
37+
PB_FIELD( 1, UENUM , SINGULAR, STATIC , FIRST, firebase_appquality_sessions_NetworkConnectionInfo, network_type, network_type, 0),
38+
PB_FIELD( 2, UENUM , SINGULAR, STATIC , OTHER, firebase_appquality_sessions_NetworkConnectionInfo, mobile_subtype, network_type, 0),
39+
PB_LAST_FIELD
40+
};
41+
3642
const pb_field_t firebase_appquality_sessions_SessionInfo_fields[6] = {
3743
PB_FIELD( 1, BYTES , SINGULAR, POINTER , FIRST, firebase_appquality_sessions_SessionInfo, session_id, session_id, 0),
3844
PB_FIELD( 2, BYTES , SINGULAR, POINTER , OTHER, firebase_appquality_sessions_SessionInfo, previous_session_id, session_id, 0),
@@ -69,7 +75,7 @@ const pb_field_t firebase_appquality_sessions_AndroidApplicationInfo_fields[3] =
6975

7076
const pb_field_t firebase_appquality_sessions_AppleApplicationInfo_fields[5] = {
7177
PB_FIELD( 1, BYTES , SINGULAR, POINTER , FIRST, firebase_appquality_sessions_AppleApplicationInfo, bundle_short_version, bundle_short_version, 0),
72-
PB_FIELD( 3, MESSAGE , SINGULAR, STATIC , OTHER, firebase_appquality_sessions_AppleApplicationInfo, network_connection_info, bundle_short_version, &NetworkConnectionInfo_fields),
78+
PB_FIELD( 3, MESSAGE , SINGULAR, STATIC , OTHER, firebase_appquality_sessions_AppleApplicationInfo, network_connection_info, bundle_short_version, &firebase_appquality_sessions_NetworkConnectionInfo_fields),
7379
PB_FIELD( 4, UENUM , SINGULAR, STATIC , OTHER, firebase_appquality_sessions_AppleApplicationInfo, os_name, network_connection_info, 0),
7480
PB_FIELD( 5, BYTES , SINGULAR, POINTER , OTHER, firebase_appquality_sessions_AppleApplicationInfo, mcc_mnc, os_name, 0),
7581
PB_LAST_FIELD
@@ -80,6 +86,8 @@ const pb_field_t firebase_appquality_sessions_AppleApplicationInfo_fields[5] = {
8086

8187

8288

89+
90+
8391
/* Check that field information fits in pb_field_t */
8492
#if !defined(PB_FIELD_32BIT)
8593
/* If you get an error here, it means that you need to define PB_FIELD_32BIT
@@ -89,7 +97,7 @@ const pb_field_t firebase_appquality_sessions_AppleApplicationInfo_fields[5] = {
8997
* numbers or field sizes that are larger than what can fit in 8 or 16 bit
9098
* field descriptors.
9199
*/
92-
PB_STATIC_ASSERT((pb_membersize(firebase_appquality_sessions_SessionEvent, session_data) < 65536 && pb_membersize(firebase_appquality_sessions_SessionEvent, application_info) < 65536 && pb_membersize(firebase_appquality_sessions_SessionInfo, data_collection_status) < 65536 && pb_membersize(firebase_appquality_sessions_ApplicationInfo, android_app_info) < 65536 && pb_membersize(firebase_appquality_sessions_ApplicationInfo, apple_app_info) < 65536 && pb_membersize(firebase_appquality_sessions_AppleApplicationInfo, network_connection_info) < 65536), YOU_MUST_DEFINE_PB_FIELD_32BIT_FOR_MESSAGES_firebase_appquality_sessions_SessionEvent_firebase_appquality_sessions_SessionInfo_firebase_appquality_sessions_DataCollectionStatus_firebase_appquality_sessions_ApplicationInfo_firebase_appquality_sessions_AndroidApplicationInfo_firebase_appquality_sessions_AppleApplicationInfo)
100+
PB_STATIC_ASSERT((pb_membersize(firebase_appquality_sessions_SessionEvent, session_data) < 65536 && pb_membersize(firebase_appquality_sessions_SessionEvent, application_info) < 65536 && pb_membersize(firebase_appquality_sessions_SessionInfo, data_collection_status) < 65536 && pb_membersize(firebase_appquality_sessions_ApplicationInfo, android_app_info) < 65536 && pb_membersize(firebase_appquality_sessions_ApplicationInfo, apple_app_info) < 65536 && pb_membersize(firebase_appquality_sessions_AppleApplicationInfo, network_connection_info) < 65536), YOU_MUST_DEFINE_PB_FIELD_32BIT_FOR_MESSAGES_firebase_appquality_sessions_SessionEvent_firebase_appquality_sessions_NetworkConnectionInfo_firebase_appquality_sessions_SessionInfo_firebase_appquality_sessions_DataCollectionStatus_firebase_appquality_sessions_ApplicationInfo_firebase_appquality_sessions_AndroidApplicationInfo_firebase_appquality_sessions_AppleApplicationInfo)
93101
#endif
94102

95103
#if !defined(PB_FIELD_16BIT) && !defined(PB_FIELD_32BIT)
@@ -100,7 +108,7 @@ PB_STATIC_ASSERT((pb_membersize(firebase_appquality_sessions_SessionEvent, sessi
100108
* numbers or field sizes that are larger than what can fit in the default
101109
* 8 bit descriptors.
102110
*/
103-
PB_STATIC_ASSERT((pb_membersize(firebase_appquality_sessions_SessionEvent, session_data) < 256 && pb_membersize(firebase_appquality_sessions_SessionEvent, application_info) < 256 && pb_membersize(firebase_appquality_sessions_SessionInfo, data_collection_status) < 256 && pb_membersize(firebase_appquality_sessions_ApplicationInfo, android_app_info) < 256 && pb_membersize(firebase_appquality_sessions_ApplicationInfo, apple_app_info) < 256 && pb_membersize(firebase_appquality_sessions_AppleApplicationInfo, network_connection_info) < 256), YOU_MUST_DEFINE_PB_FIELD_16BIT_FOR_MESSAGES_firebase_appquality_sessions_SessionEvent_firebase_appquality_sessions_SessionInfo_firebase_appquality_sessions_DataCollectionStatus_firebase_appquality_sessions_ApplicationInfo_firebase_appquality_sessions_AndroidApplicationInfo_firebase_appquality_sessions_AppleApplicationInfo)
111+
PB_STATIC_ASSERT((pb_membersize(firebase_appquality_sessions_SessionEvent, session_data) < 256 && pb_membersize(firebase_appquality_sessions_SessionEvent, application_info) < 256 && pb_membersize(firebase_appquality_sessions_SessionInfo, data_collection_status) < 256 && pb_membersize(firebase_appquality_sessions_ApplicationInfo, android_app_info) < 256 && pb_membersize(firebase_appquality_sessions_ApplicationInfo, apple_app_info) < 256 && pb_membersize(firebase_appquality_sessions_AppleApplicationInfo, network_connection_info) < 256), YOU_MUST_DEFINE_PB_FIELD_16BIT_FOR_MESSAGES_firebase_appquality_sessions_SessionEvent_firebase_appquality_sessions_NetworkConnectionInfo_firebase_appquality_sessions_SessionInfo_firebase_appquality_sessions_DataCollectionStatus_firebase_appquality_sessions_ApplicationInfo_firebase_appquality_sessions_AndroidApplicationInfo_firebase_appquality_sessions_AppleApplicationInfo)
104112
#endif
105113

106114

0 commit comments

Comments
 (0)