Skip to content

Commit f092647

Browse files
authored
[Sessions] Update Sessions proto with newest changes (#10386)
1 parent d01cda5 commit f092647

File tree

5 files changed

+83
-63
lines changed

5 files changed

+83
-63
lines changed

FirebaseSessions/ProtoSupport/Protos/sessions.options

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@ firebase.appquality.sessions.ApplicationInfo.app_id type:FT_POINTER
2929
firebase.appquality.sessions.ApplicationInfo.device_model type:FT_POINTER
3030
firebase.appquality.sessions.ApplicationInfo.development_platform_name type:FT_POINTER
3131
firebase.appquality.sessions.ApplicationInfo.development_platform_version type:FT_POINTER
32+
firebase.appquality.sessions.ApplicationInfo.session_sdk_version type:FT_POINTER
3233
firebase.appquality.sessions.AndroidApplicationInfo.package_name type:FT_POINTER
33-
firebase.appquality.sessions.AndroidApplicationInfo.sdk_version type:FT_POINTER
3434
firebase.appquality.sessions.AndroidApplicationInfo.version_name type:FT_POINTER
3535
firebase.appquality.sessions.AppleApplicationInfo.bundle_short_version type:FT_POINTER
36-
firebase.appquality.sessions.AppleApplicationInfo.sdk_version type:FT_POINTER
36+
firebase.appquality.sessions.AppleApplicationInfo.mcc_mnc type:FT_POINTER

FirebaseSessions/ProtoSupport/Protos/sessions.proto

Lines changed: 32 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@
2323
// "wireless_android_play_playlog.NetworkConnectionInfo"
2424
// 5. Any new proto fields of type string, repeated, or bytes must be specified
2525
// in the sessions.options file as "type:FT_POINTER"
26+
// 6. Remove any Lint comments (eg. IfChanged lines)
27+
// 7. Remove any optional specifiers
2628
//
2729

2830
syntax = "proto3";
@@ -33,6 +35,7 @@ package firebase.appquality.sessions;
3335

3436
// Contains the relevant information around an App Quality Session.
3537
// See go/app-quality-unified-session-definition for more details.
38+
// Next tag: 4
3639
message SessionEvent {
3740
// The type of event being reported.
3841
EventType event_type = 1;
@@ -43,13 +46,15 @@ message SessionEvent {
4346
}
4447

4548
// Enum denoting all possible session event types.
49+
// Next tag: 2
4650
enum EventType {
47-
EVENT_UNKNOWN = 0;
51+
EVENT_TYPE_UNKNOWN = 0;
4852
// This event type is fired as soon as a new session begins.
49-
EVENT_SESSION_START = 1;
53+
SESSION_START = 1;
5054
}
5155

5256
// Contains session-specific information relating to the event being uploaded.
57+
// Next tag: 7
5358
message SessionInfo {
5459
// A globally unique identifier for the session.
5560
string session_id = 1;
@@ -60,22 +65,25 @@ message SessionInfo {
6065
string firebase_installation_id = 3;
6166
// The device-reported timestamp at which the event occurred.
6267
int64 event_timestamp_us = 4;
63-
// Any sampling rate being applied to these events on device.
64-
// 1.0 implies no sampling.
65-
float sampling_rate = 5;
68+
6669
// The data collection status for each related SDK.
6770
DataCollectionStatus data_collection_status = 6;
6871
}
6972

7073
// Contains the data collection status for each related SDK.
74+
// Next tag: 4
7175
message DataCollectionStatus {
7276
// The collection status of the FirePerf SDK.
7377
DataCollectionState performance = 1;
7478
// The collection status for the Crashlytics SDK.
7579
DataCollectionState crashlytics = 2;
80+
// Any sampling rate being applied to these events on device.
81+
// 1.0 implies no sampling.
82+
float session_sampling_rate = 3;
7683
}
7784

7885
// Enum denoting all possible states for SDK data collection.
86+
// Next tag: 6
7987
enum DataCollectionState {
8088
COLLECTION_UNKNOWN = 0;
8189
// This product SDK is not present in this version of the app.
@@ -93,6 +101,7 @@ enum DataCollectionState {
93101
}
94102

95103
// App-level information collected from the device.
104+
// Next tag: 8
96105
message ApplicationInfo {
97106
// Commonly known as the GMP App Id
98107
string app_id = 1;
@@ -102,6 +111,8 @@ message ApplicationInfo {
102111
string development_platform_name = 3;
103112
// The version of the development platform in use by the app. Eg. 2020.3.33f1
104113
string development_platform_version = 4;
114+
// The version of the Firebase-Sessions SDK in use
115+
string session_sdk_version = 7;
105116

106117
oneof platform_info {
107118
// App info relevant only to Android apps
@@ -120,11 +131,10 @@ message ApplicationInfo {
120131
// - model
121132
// - country
122133
// - network_connection_info
134+
// Next tag: 4
123135
message AndroidApplicationInfo {
124136
// The applications package name. Eg. com.google.search
125137
string package_name = 1;
126-
// The version of the Android Firebase-Sessions SDK in use
127-
string sdk_version = 2;
128138
// The version name as specified in the app's manifest
129139
// https://developer.android.com/guide/topics/manifest/manifest-element#vname
130140
string version_name = 3;
@@ -137,24 +147,31 @@ message AndroidApplicationInfo {
137147
// - os_full_version
138148
// - model
139149
// - country
150+
// Next tag: 6
140151
message AppleApplicationInfo {
141152
// The application's bundle id. Eg. com.google.search
142153
string bundle_short_version = 1;
143-
// The version of the Apple Firebase-Sessions SDK in use
144-
string sdk_version = 2;
145154
// Describes the network connectivity of the device
146155
NetworkConnectionInfo network_connection_info = 3;
147156
// Collects the OS running. Eg. iOS, iPadOs, tvOS, etc.
148157
OsName os_name = 4;
158+
// The mobile country code / mobile network code (MCC/MNC) of the device's
159+
// SIM/home network (not the device's active network)
160+
// e.g., 310004 for Verizon USA.
161+
string mcc_mnc = 5;
149162
}
150163

151164
// The name of the operating system on which the application is running.
152165
// Currently Apple only.
153166
enum OsName {
154-
OS_NAME_UNKNOWN = 0;
155-
OS_NAME_IOS = 1;
156-
OS_NAME_IPAD_OS = 2;
157-
OS_NAME_MAC_OS = 3;
158-
OS_NAME_TV_OS = 4;
159-
OS_NAME_WATCH_OS = 5;
167+
UNKNOWN_OSNAME = 0;
168+
MACOS = 1;
169+
MACCATALYST = 2;
170+
IOS_ON_MAC = 3;
171+
IOS = 4;
172+
TVOS = 5;
173+
WATCHOS = 6;
174+
IPADOS = 7;
175+
// Indicates no data was provided by the device (old sdk, Android)
176+
UNSPECIFIED = 8;
160177
}

FirebaseSessions/Protogen/nanopb/sessions.nanopb.c

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

36-
const pb_field_t firebase_appquality_sessions_SessionInfo_fields[7] = {
36+
const pb_field_t firebase_appquality_sessions_SessionInfo_fields[6] = {
3737
PB_FIELD( 1, BYTES , SINGULAR, POINTER , FIRST, firebase_appquality_sessions_SessionInfo, session_id, session_id, 0),
3838
PB_FIELD( 2, BYTES , SINGULAR, POINTER , OTHER, firebase_appquality_sessions_SessionInfo, previous_session_id, session_id, 0),
3939
PB_FIELD( 3, BYTES , SINGULAR, POINTER , OTHER, firebase_appquality_sessions_SessionInfo, firebase_installation_id, previous_session_id, 0),
4040
PB_FIELD( 4, INT64 , SINGULAR, STATIC , OTHER, firebase_appquality_sessions_SessionInfo, event_timestamp_us, firebase_installation_id, 0),
41-
PB_FIELD( 5, FLOAT , SINGULAR, STATIC , OTHER, firebase_appquality_sessions_SessionInfo, sampling_rate, event_timestamp_us, 0),
42-
PB_FIELD( 6, MESSAGE , SINGULAR, STATIC , OTHER, firebase_appquality_sessions_SessionInfo, data_collection_status, sampling_rate, &firebase_appquality_sessions_DataCollectionStatus_fields),
41+
PB_FIELD( 6, MESSAGE , SINGULAR, STATIC , OTHER, firebase_appquality_sessions_SessionInfo, data_collection_status, event_timestamp_us, &firebase_appquality_sessions_DataCollectionStatus_fields),
4342
PB_LAST_FIELD
4443
};
4544

46-
const pb_field_t firebase_appquality_sessions_DataCollectionStatus_fields[3] = {
45+
const pb_field_t firebase_appquality_sessions_DataCollectionStatus_fields[4] = {
4746
PB_FIELD( 1, UENUM , SINGULAR, STATIC , FIRST, firebase_appquality_sessions_DataCollectionStatus, performance, performance, 0),
4847
PB_FIELD( 2, UENUM , SINGULAR, STATIC , OTHER, firebase_appquality_sessions_DataCollectionStatus, crashlytics, performance, 0),
48+
PB_FIELD( 3, FLOAT , SINGULAR, STATIC , OTHER, firebase_appquality_sessions_DataCollectionStatus, session_sampling_rate, crashlytics, 0),
4949
PB_LAST_FIELD
5050
};
5151

52-
const pb_field_t firebase_appquality_sessions_ApplicationInfo_fields[7] = {
52+
const pb_field_t firebase_appquality_sessions_ApplicationInfo_fields[8] = {
5353
PB_FIELD( 1, BYTES , SINGULAR, POINTER , FIRST, firebase_appquality_sessions_ApplicationInfo, app_id, app_id, 0),
5454
PB_FIELD( 2, BYTES , SINGULAR, POINTER , OTHER, firebase_appquality_sessions_ApplicationInfo, device_model, app_id, 0),
5555
PB_FIELD( 3, BYTES , SINGULAR, POINTER , OTHER, firebase_appquality_sessions_ApplicationInfo, development_platform_name, device_model, 0),
5656
PB_FIELD( 4, BYTES , SINGULAR, POINTER , OTHER, firebase_appquality_sessions_ApplicationInfo, development_platform_version, development_platform_name, 0),
5757
PB_ANONYMOUS_ONEOF_FIELD(platform_info, 5, MESSAGE , ONEOF, STATIC , OTHER, firebase_appquality_sessions_ApplicationInfo, android_app_info, development_platform_version, &firebase_appquality_sessions_AndroidApplicationInfo_fields),
5858
PB_ANONYMOUS_ONEOF_FIELD(platform_info, 6, MESSAGE , ONEOF, STATIC , UNION, firebase_appquality_sessions_ApplicationInfo, apple_app_info, development_platform_version, &firebase_appquality_sessions_AppleApplicationInfo_fields),
59+
PB_FIELD( 7, BYTES , SINGULAR, POINTER , OTHER, firebase_appquality_sessions_ApplicationInfo, session_sdk_version, apple_app_info, 0),
5960
PB_LAST_FIELD
6061
};
6162

62-
const pb_field_t firebase_appquality_sessions_AndroidApplicationInfo_fields[4] = {
63+
const pb_field_t firebase_appquality_sessions_AndroidApplicationInfo_fields[3] = {
6364
PB_FIELD( 1, BYTES , SINGULAR, POINTER , FIRST, firebase_appquality_sessions_AndroidApplicationInfo, package_name, package_name, 0),
64-
PB_FIELD( 2, BYTES , SINGULAR, POINTER , OTHER, firebase_appquality_sessions_AndroidApplicationInfo, sdk_version, package_name, 0),
65-
PB_FIELD( 3, BYTES , SINGULAR, POINTER , OTHER, firebase_appquality_sessions_AndroidApplicationInfo, version_name, sdk_version, 0),
65+
PB_FIELD( 3, BYTES , SINGULAR, POINTER , OTHER, firebase_appquality_sessions_AndroidApplicationInfo, version_name, package_name, 0),
6666
PB_LAST_FIELD
6767
};
6868

6969
const pb_field_t firebase_appquality_sessions_AppleApplicationInfo_fields[5] = {
7070
PB_FIELD( 1, BYTES , SINGULAR, POINTER , FIRST, firebase_appquality_sessions_AppleApplicationInfo, bundle_short_version, bundle_short_version, 0),
71-
PB_FIELD( 2, BYTES , SINGULAR, POINTER , OTHER, firebase_appquality_sessions_AppleApplicationInfo, sdk_version, bundle_short_version, 0),
72-
PB_FIELD( 3, MESSAGE , SINGULAR, STATIC , OTHER, firebase_appquality_sessions_AppleApplicationInfo, network_connection_info, sdk_version, &NetworkConnectionInfo_fields),
71+
PB_FIELD( 3, MESSAGE , SINGULAR, STATIC , OTHER, firebase_appquality_sessions_AppleApplicationInfo, network_connection_info, bundle_short_version, &NetworkConnectionInfo_fields),
7372
PB_FIELD( 4, UENUM , SINGULAR, STATIC , OTHER, firebase_appquality_sessions_AppleApplicationInfo, os_name, network_connection_info, 0),
73+
PB_FIELD( 5, BYTES , SINGULAR, POINTER , OTHER, firebase_appquality_sessions_AppleApplicationInfo, mcc_mnc, os_name, 0),
7474
PB_LAST_FIELD
7575
};
7676

0 commit comments

Comments
 (0)