mirror of
https://github.com/kidfromjupiter/nearby.git
synced 2026-09-16 15:36:12 -04:00
1123 lines
42 KiB
Protocol Buffer
1123 lines
42 KiB
Protocol Buffer
// Copyright 2022 Google LLC
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// https://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
syntax = "proto2";
|
|
|
|
package nearby.sharing.analytics.proto;
|
|
|
|
import "google/protobuf/duration.proto";
|
|
|
|
// "privacy/pattributes/annotations/proto_field.proto";
|
|
// import "storage/datapol/annotations/proto/semantic_annotations.proto";
|
|
// import "storage/googlesql/public/proto/type_annotation.proto";
|
|
import "proto/sharing_enums.proto";
|
|
|
|
option optimize_for = LITE_RUNTIME;
|
|
option java_package = "nearby.sharing.analytics.proto";
|
|
option java_outer_classname = "SharingLogProto";
|
|
option objc_class_prefix = "GNCP";
|
|
|
|
// Top-level log proto for all NearbySharing logging.
|
|
// Each log contains a key (event_type), value (a verb-noun event) pair.
|
|
// Next Tag: 90
|
|
// LINT.IfChange
|
|
message SharingLog {
|
|
/* justification = {
|
|
collection_basis: CB_CHECKBOX
|
|
purposes: [ INFRASTRUCTURE_METRICS, BUSINESS_ANALYSIS ]
|
|
} */
|
|
|
|
reserved 71; // Deprecated TransferUIEvent.
|
|
|
|
optional location.nearby.proto.sharing.EventType event_type = 1;
|
|
|
|
optional UnknownEvent unknown_event = 2;
|
|
|
|
optional AcceptAgreements accept_agreements = 3;
|
|
|
|
optional EnableNearbySharing enable_nearby_sharing = 4;
|
|
|
|
optional SetVisibility set_visibility = 5;
|
|
|
|
optional DescribeAttachments describe_attachments = 6;
|
|
|
|
optional ScanForShareTargetsStart scan_for_share_targets_start = 7;
|
|
|
|
optional ScanForShareTargetsEnd scan_for_share_targets_end = 8;
|
|
|
|
optional AdvertiseDevicePresenceStart advertise_device_presence_start = 9;
|
|
|
|
optional AdvertiseDevicePresenceEnd advertise_device_presence_end = 10;
|
|
|
|
optional SendFastInitialization send_initialization = 11;
|
|
|
|
optional ReceiveFastInitialization receive_initialization = 12;
|
|
|
|
optional DiscoverShareTarget discover_share_target = 13;
|
|
|
|
optional SendIntroduction send_introduction = 14;
|
|
|
|
optional ReceiveIntroduction receive_introduction = 15;
|
|
|
|
optional RespondToIntroduction respond_introduction = 16;
|
|
|
|
optional SendAttachmentsStart send_attachments_start = 17;
|
|
|
|
optional SendAttachmentsEnd send_attachments_end = 18;
|
|
|
|
optional ReceiveAttachmentsStart receive_attachments_start = 19;
|
|
|
|
optional ReceiveAttachmentsEnd receive_attachments_end = 20;
|
|
|
|
optional CancelSendingAttachments cancel_sending_attachments = 21;
|
|
|
|
optional CancelReceivingAttachments cancel_receiving_attachments = 22;
|
|
|
|
optional OpenReceivedAttachments open_received_attachments = 23;
|
|
|
|
optional LaunchActivity launch_activity = 24;
|
|
|
|
optional AddContact add_contact = 25;
|
|
|
|
optional RemoveContact remove_contact = 26;
|
|
|
|
optional location.nearby.proto.sharing.LogSource log_source = 27;
|
|
|
|
optional FastShareServerResponse fast_share_server_response = 28;
|
|
|
|
optional SendStart send_start = 29;
|
|
|
|
optional AcceptFastInitialization accept_fast_initialization = 30;
|
|
|
|
optional SetDataUsage set_data_usage = 31;
|
|
|
|
// The version of Nearby Sharing. E.g. "v1.0.2".
|
|
optional string version = 32 /* type = ST_SOFTWARE_ID */;
|
|
|
|
optional location.nearby.proto.sharing.EventCategory event_category = 33;
|
|
|
|
optional DismissFastInitialization dismiss_fast_initialization = 34;
|
|
|
|
optional CancelConnection cancel_connection = 35;
|
|
|
|
optional DismissPrivacyNotification dismiss_privacy_notification = 36;
|
|
|
|
// Tap privacy notification to update visibility setting.
|
|
// http://shortn/_LMJHzPFZM0
|
|
optional TapPrivacyNotification tap_privacy_notification = 37;
|
|
|
|
optional TapHelp tap_help = 38;
|
|
|
|
optional TapFeedback tap_feedback = 39;
|
|
|
|
optional AddQuickSettingsTile add_quick_settings_tile = 40;
|
|
|
|
optional RemoveQuickSettingsTile remove_quick_settings_tile = 41;
|
|
|
|
optional LaunchPhoneConsent launch_phone_consent = 42;
|
|
|
|
optional TapQuickSettingsTile tap_quick_settings_tile = 43;
|
|
|
|
optional InstallAPKStatus install_apk_status = 44;
|
|
|
|
optional VerifyAPKStatus verify_apk_status = 45;
|
|
|
|
optional LaunchConsent launch_consent = 46;
|
|
|
|
optional ProcessReceivedAttachmentsEnd process_received_attachments_end = 47;
|
|
|
|
optional ToggleShowNotification toggle_show_notification = 48;
|
|
|
|
optional SetDeviceName set_device_name = 49;
|
|
|
|
// This is a temporary logging field for FilesGo migration phase based on
|
|
// device geolocation. Example values are "Phase 1", "Phase 2", etc.
|
|
// Reference: http://shortn/_BkSTmDjzWc
|
|
optional string files_migration_phase = 50;
|
|
|
|
optional DeclineAgreements decline_agreements = 51;
|
|
|
|
optional RequestSettingPermissions request_setting_permissions = 52;
|
|
|
|
optional DeviceSettings device_settings = 53;
|
|
|
|
optional EstablishConnection establish_connection = 54;
|
|
|
|
optional AutoDismissFastInitialization auto_dismiss_fast_initialization = 55;
|
|
|
|
optional EventMetadata event_metadata = 56;
|
|
|
|
// Used only for Nearby Share Windows app now, e.g. "1.0.408". Deprecated and
|
|
// move it to the AppInfo below.
|
|
optional string app_version = 57
|
|
/* type = ST_SOFTWARE_ID */[deprecated = true];
|
|
|
|
// Used only for Nearby Share Windows app now
|
|
optional AppCrash app_crash = 58;
|
|
|
|
// Used only for Nearby Share android app now
|
|
optional TapQuickSettingsFileShare tap_quick_settings_file_share = 59;
|
|
|
|
// Used only for Nearby Share Windows app now.
|
|
// TODO(b/260732897): To deprecate, and will be replaced by
|
|
// NearbyClientLog.AppInfo.
|
|
optional AppInfo app_info = 60;
|
|
|
|
// Used only for Nearby Share android app now
|
|
optional DisplayPrivacyNotification display_privacy_notification = 61;
|
|
|
|
// Used only for Nearby Share android app now
|
|
optional DisplayPhoneConsent display_phone_consent = 62;
|
|
|
|
// Used only for Nearby Share Windows app now.
|
|
optional PreferencesUsage preferences_usage = 63;
|
|
|
|
// Used only for Nearby Share android app now.
|
|
optional DefaultOptIn default_opt_in = 64;
|
|
|
|
optional SetupWizard setup_wizard = 65;
|
|
|
|
// Used only for Nearby Share android app now.
|
|
optional TapQrCode tap_qr_code = 66;
|
|
|
|
optional QrCodeLinkShown qr_code_link_shown = 67;
|
|
|
|
optional ParsingFailedEndpointId parsing_failed_endpoint_id = 68;
|
|
|
|
optional FastInitDiscoverDevice fast_init_discover_device = 69;
|
|
|
|
optional SendDesktopNotification send_desktop_notification = 70;
|
|
|
|
optional SendDesktopTransferEvent send_desktop_transfer_event = 72;
|
|
|
|
optional SetAccount set_account = 73;
|
|
|
|
optional DecryptCertificateFailure decrypt_certificate_failure = 74;
|
|
|
|
// Used only for Nearby Share android app now.
|
|
optional ShowAllowPermissionAutoAccess show_allow_permission_auto_access = 75;
|
|
|
|
optional ShowWaitingForAccept show_waiting_for_accept = 76;
|
|
|
|
optional HighQualityMediumSetup high_quality_medium_setup = 77;
|
|
|
|
optional RpcCallStatus rpc_call_status = 78;
|
|
|
|
optional StartQrCodeSession start_qr_code_session = 79;
|
|
|
|
optional QrCodeOpenedInWebClient qr_code_opened_in_web_client = 80;
|
|
|
|
optional HatsJointEvent hats_joint_event = 81;
|
|
|
|
optional ReceivePreviews receive_previews = 82;
|
|
|
|
// Two types of QR code sharing: P2P and Cloud-based
|
|
// P2P QR code flow re-uses a lot of the existing events from scan to send.
|
|
// Cloud-based QR code flow has the following new events.
|
|
// QR code events for sender side.
|
|
optional CloudCreateSharingRequest cloud_create_sharing_request = 83;
|
|
|
|
// QR code CLOUD_REGISTER_RECEIVER event for receiver side.
|
|
optional CloudRegisterReceiver cloud_register_receiver = 84;
|
|
|
|
optional CloudUploadStart cloud_upload_start = 85;
|
|
|
|
optional CloudUploadEnd cloud_upload_end = 86;
|
|
|
|
optional CloudDownloadStart cloud_download_start = 87;
|
|
|
|
optional CloudDownloadEnd cloud_download_end = 88;
|
|
|
|
// Cloud sharing RPC call event.
|
|
optional CloudSharingRpcResult cloud_sharing_rpc_result = 89;
|
|
|
|
// Used only for Nearby Share Windows app now.
|
|
message AppInfo {
|
|
// e.g. "1.0.408"
|
|
optional string app_version = 1 /* type = ST_SOFTWARE_ID */;
|
|
// e.g. en. In Windows app, it's from the registry value.
|
|
optional string app_language = 2
|
|
/* type = ST_DEMOGRAPHIC_INFO */;
|
|
optional string update_track =
|
|
3; // e.g. "developer". In Windows app, it's from the registry value.
|
|
}
|
|
|
|
message DeviceSettings {
|
|
// Device visibility setting at Nearby Share settings page, e.g. Contacts.
|
|
optional location.nearby.proto.sharing.Visibility visibility = 1;
|
|
// Device data usage preference at Nearby Share settings page, e.g.Wi-Fi
|
|
// only, Data, etc.
|
|
optional location.nearby.proto.sharing.DataUsage data_usage = 2;
|
|
// Device name length
|
|
optional int32 device_name_size = 3;
|
|
// Whether device allows show notification when devices are sharing nearby.
|
|
optional bool is_show_notification_enabled = 4;
|
|
// True if the BlueTooth setting is enabled
|
|
optional bool is_bt_enabled = 5;
|
|
// True if the location setting is enabled
|
|
optional bool is_location_enabled = 6;
|
|
// True if the wifi setting is enabled
|
|
optional bool is_wifi_enabled = 7;
|
|
// Date(YYYYMMDD) in decimal format for the first successful transfer in
|
|
// America/Los_Angeles timezone. If no successful transfer exists, the value
|
|
// is 0.
|
|
optional int32 first_successful_transfer_date = 8
|
|
/* format = googlesql.format */;
|
|
// Date(YYYYMMDD) in decimal format for the previous successful transfer in
|
|
// America/Los_Angeles timezone. If no successful transfer exists, the value
|
|
// is 0.
|
|
optional int32 previous_successful_transfer_date = 9
|
|
/* format = googlesql.format */;
|
|
// The cumulative number of transfers the device has completed.
|
|
// Exact transfer count stored on device, but when logging put the transfer
|
|
// count in buckets, initially we use buckets: 1, 2, 3, …, 10, 11+
|
|
optional int32 lifetime_transfer_count = 10;
|
|
// Upload Contact data according to Device consent or Quick Share consent.
|
|
optional location.nearby.proto.sharing.ContactAccess contact_access = 11;
|
|
// Phone number verification.
|
|
optional location.nearby.proto.sharing.IdentityVerification
|
|
identity_verification = 12;
|
|
}
|
|
|
|
// Used only for Nearby Share Windows app now. Here is the screenshot about
|
|
// where preferences are set:
|
|
// https://screenshot.googleplex.com/6HFrEfKCPxuSiYz.
|
|
message PreferencesUsage {
|
|
optional location.nearby.proto.sharing.PreferencesAction action = 1;
|
|
optional location.nearby.proto.sharing.PreferencesActionStatus
|
|
action_status = 2;
|
|
optional location.nearby.proto.sharing.PreferencesAction prev_sub_action =
|
|
3;
|
|
optional location.nearby.proto.sharing.PreferencesAction next_sub_action =
|
|
4;
|
|
}
|
|
|
|
// EventType: UNKNOWN_EVENT_TYPE
|
|
message UnknownEvent {}
|
|
|
|
// EventType: ESTABLISH_CONNECTION
|
|
message EstablishConnection {
|
|
// The result status of the attempt to establish a connection.
|
|
optional location.nearby.proto.sharing.EstablishConnectionStatus status = 1;
|
|
|
|
optional int64 session_id = 2 /* type = ST_SESSION_ID */;
|
|
// For group share, 1-based number for transfer position.
|
|
optional int32 transfer_position = 3;
|
|
// For group share.
|
|
optional int32 concurrent_connections = 4;
|
|
// For calculating latency.
|
|
optional int64 duration_millis = 5;
|
|
optional ShareTargetInfo share_target_info = 6;
|
|
optional string referrer_name = 7;
|
|
// Deprecated. Use share_target_info.has_matching_qr_code instead.
|
|
optional bool qr_code_flow = 8 [deprecated = true];
|
|
// True if the connection established from receiver
|
|
optional bool is_incoming_connection = 9;
|
|
// Duration from when the receiver attempts to receive from a QR code to
|
|
// when the QR code sender successfully connects to this receiver. Only set
|
|
// for QR-code based receive flows.
|
|
optional google.protobuf.Duration qr_code_receiver_connect_latency = 10;
|
|
}
|
|
|
|
// EventType: ACCEPT_AGREEMENTS
|
|
message AcceptAgreements {}
|
|
|
|
// EventType: DECLINE_AGREEMENTS
|
|
message DeclineAgreements {}
|
|
|
|
// EventType: ENABLE_NEARBY_SHARING
|
|
message EnableNearbySharing {
|
|
optional location.nearby.proto.sharing.NearbySharingStatus status = 1;
|
|
optional bool has_opted_in = 2;
|
|
}
|
|
|
|
// EventType: SET_ACCOUNT
|
|
// Activity Name: SETUP_ACTIVITY or SETTINGS_ACTIVITY
|
|
message SetAccount {
|
|
optional location.nearby.proto.sharing.ActivityName activity_name = 1;
|
|
}
|
|
|
|
// EventType: SET_VISIBILITY
|
|
message SetVisibility {
|
|
// The new visibility that the device is set to.
|
|
optional location.nearby.proto.sharing.Visibility visibility = 1;
|
|
|
|
// The current visibility of the device.
|
|
optional location.nearby.proto.sharing.Visibility source_visibility = 2;
|
|
|
|
// The duration in millis of this visibility setting.
|
|
optional int64 duration_millis = 3;
|
|
|
|
optional location.nearby.proto.sharing.ActivityName source_activity_name = 4
|
|
/* type = ST_NOT_REQUIRED */;
|
|
}
|
|
|
|
// EventType: SET_DATA_USAGE
|
|
message SetDataUsage {
|
|
// The current data usage preference of the device.
|
|
optional location.nearby.proto.sharing.DataUsage original_preference = 1;
|
|
|
|
// The new data usage preference that the device is set to.
|
|
optional location.nearby.proto.sharing.DataUsage preference = 2;
|
|
}
|
|
|
|
// EventType: SCAN_FOR_SHARE_TARGETS_START
|
|
message ScanForShareTargetsStart {
|
|
// A randomly generated number to be used to join the start and end of a
|
|
// session (mostly used to compute the duration of the session, e.g. how
|
|
// long does it take for attachments to be shared/sent via the Nearby
|
|
// Connections api). A same number is used twice for the start and
|
|
// end of a session. It is not designed to be associated to user or device,
|
|
// and can only be used to join the start and end of a particular session.
|
|
// Each session itself does not contain user or device information, and is
|
|
// not designed to be joined with other sessions/events of the same user to
|
|
// reconstruct particular user's activity pattern.
|
|
optional int64 session_id = 1 /* type = ST_SESSION_ID */;
|
|
optional location.nearby.proto.sharing.SessionStatus status = 2;
|
|
optional location.nearby.proto.sharing.ScanType scan_type = 3;
|
|
optional int64 flow_id = 4 /* type = ST_SESSION_ID */;
|
|
optional string referrer_name = 5;
|
|
// Represents whether this scan was started with an active QR code session
|
|
// that can be used to help discover targets that have scanned the same QR
|
|
// code
|
|
optional bool use_qr_code = 6;
|
|
}
|
|
|
|
// EventType: SCAN_FOR_SHARE_TARGETS_END
|
|
message ScanForShareTargetsEnd {
|
|
optional int64 session_id = 1 /* type = ST_SESSION_ID */;
|
|
}
|
|
|
|
// EventType: ADVERTISE_DEVICE_PRESENCE_START
|
|
message AdvertiseDevicePresenceStart {
|
|
// No longer needed for advertisement.
|
|
optional int64 session_id = 1
|
|
/* type = ST_SESSION_ID */[deprecated = true];
|
|
optional location.nearby.proto.sharing.Visibility visibility = 2;
|
|
optional location.nearby.proto.sharing.SessionStatus status = 3;
|
|
optional location.nearby.proto.sharing.DataUsage data_usage = 4;
|
|
// No longer needed for advertisement, replace this with
|
|
// SET_NAME_DEVICE.
|
|
optional int32 device_name_size = 5 [deprecated = true];
|
|
optional string referrer_name = 6;
|
|
optional location.nearby.proto.sharing.AdvertisingMode advertising_mode = 7;
|
|
optional bool qr_code_flow = 8;
|
|
}
|
|
|
|
// EventType: ADVERTISE_DEVICE_PRESENCE_END
|
|
message AdvertiseDevicePresenceEnd {
|
|
// No longer needed for advertisement.
|
|
optional int64 session_id = 1
|
|
/* type = ST_SESSION_ID */[deprecated = true];
|
|
}
|
|
|
|
// EventType: SEND_FAST_INITIALIZATION
|
|
message SendFastInitialization {}
|
|
|
|
// EventType: RECEIVE_FAST_INITIALIZATION
|
|
message ReceiveFastInitialization {
|
|
// The time elapse from the beginning of screen unlock to the time
|
|
// when the FastInitialization is received.
|
|
optional int64 time_elapse_since_screen_unlock_millis = 1;
|
|
// True if the notification is enabled
|
|
optional bool notifications_enabled = 2;
|
|
// True if the notification is being filtered when being shown
|
|
optional bool notifications_filtered = 3;
|
|
}
|
|
|
|
// EventType: DISMISS_FAST_INITIALIZATION
|
|
message DismissFastInitialization {}
|
|
|
|
// EventType: AUTO_DISMISS_FAST_INITIALIZATION
|
|
message AutoDismissFastInitialization {}
|
|
|
|
// TODO(b/302987763): We need to deprecate flow_id and session_id in each
|
|
// event once these two fields in metadata are released to prod and
|
|
// pipelines are updated to read them.
|
|
message EventMetadata {
|
|
optional location.nearby.proto.sharing.SharingUseCase use_case = 1;
|
|
// The opt-in status before the user enters the first opt-in screen in each
|
|
// time file share or it is always “true” if the user has opted in before.
|
|
// Deprecated.
|
|
optional bool initial_opt_in = 2 [deprecated = true];
|
|
// The opt-in status after the user leaves the first opt-in screen in each
|
|
// time file share or it is always “true” if the user has opted in before.
|
|
// Deprecated.
|
|
optional bool opt_in = 3 [deprecated = true];
|
|
// The Nearby Share enable status before the user enters the first
|
|
// opt-in screen in each time file share.
|
|
// Deprecated.
|
|
optional bool initial_enable_status = 4 [deprecated = true];
|
|
// The same id means it is in the same sharing file flow of sender side.
|
|
// Ex: when sender share file to 2 receivers, the flow_id in sender side is
|
|
// the same for all the discovery/connection/transfer events.
|
|
optional int64 flow_id = 5 /* type = ST_SESSION_ID */;
|
|
// A randomly generated number to be used to join the start and end of a
|
|
// session (mostly used to compute the duration of the session, e.g. how
|
|
// long does it take for attachments to be shared/sent via the Nearby
|
|
// Connections api). A same number is used twice for the start and
|
|
// end of a session. It is not designed to be associated to user or device,
|
|
// and can only be used to join the start and end of a particular session.
|
|
// Each session itself does not contain user or device information, and is
|
|
// not designed to be joined with other sessions/events of the same user to
|
|
// reconstruct particular user's activity pattern.
|
|
optional int64 session_id = 6 /* type = ST_SESSION_ID */;
|
|
optional int32 vendor_id = 7 /* type = ST_PARTNER_ID */;
|
|
|
|
// The cloud_sharing_id: used by both sender and receiver during QR code
|
|
// cloud sharing flow to join sender and receiver events.
|
|
optional string cloud_sharing_id = 8
|
|
/* type = ST_SESSION_ID */;
|
|
// receiver session id: used by QR code cloud receiver.
|
|
optional string cloud_receiver_session_id = 9
|
|
/* type = ST_SESSION_ID */;
|
|
|
|
// The name of the external provider, it will not be set if the provider is
|
|
// not external.
|
|
optional string external_provider_name = 10;
|
|
// The service id of the external provider, it will not be set if the
|
|
// provider is not external.
|
|
optional string external_provider_id = 11
|
|
/* type = ST_SESSION_ID */;
|
|
}
|
|
|
|
// TODO(fdi): may consider adding a field about decipherability later.
|
|
// EventType: DISCOVER_SHARE_TARGET
|
|
message DiscoverShareTarget {
|
|
optional ShareTargetInfo share_target_info = 1;
|
|
// The time elapse from the beginning of an scanning session to the time
|
|
// when the share target is discovered.
|
|
optional google.protobuf.Duration duration_since_scanning = 2;
|
|
optional int64 session_id = 3 /* type = ST_SESSION_ID */;
|
|
optional int64 flow_id = 4 /* type = ST_SESSION_ID */;
|
|
optional string referrer_name = 5;
|
|
// The time elapse from the share sheet activity starts (foreground
|
|
// send surface) to the time when the share target is discovered.
|
|
// Only uses foreground send surfaces, since this is when users
|
|
// directly engage with NS to send.
|
|
optional int64 latency_since_activity_start_millis = 6 [default = -1];
|
|
optional location.nearby.proto.sharing.ScanType scan_type = 7;
|
|
|
|
// receiver session id: used by QR code cloud receiver.
|
|
optional string cloud_receiver_session_id = 8
|
|
/* type = ST_SESSION_ID */;
|
|
}
|
|
|
|
// EventType: PARSING_FAILED_ENDPOINT_ID
|
|
message ParsingFailedEndpointId {
|
|
optional string endpoint_id = 1 /* type = ST_SESSION_ID */;
|
|
// The time elapse from the beginning of an scanning session to the time
|
|
// when the share target is discovered.
|
|
optional google.protobuf.Duration duration_since_scanning = 2;
|
|
optional int64 session_id = 3 /* type = ST_SESSION_ID */;
|
|
optional int64 flow_id = 4 /* type = ST_SESSION_ID */;
|
|
optional string referrer_name = 5
|
|
/* type = ST_REFERER_URL */;
|
|
// The time elapse from the share sheet activity starts to the time
|
|
// when the share target is discovered.
|
|
optional int64 latency_since_activity_start_millis = 6 [default = -1];
|
|
optional location.nearby.proto.sharing.ScanType scan_type = 7;
|
|
// The time elapse from the beginning of sync to download the certificates
|
|
// to the time when the scanning fails in parsing.
|
|
optional google.protobuf.Duration duration_since_last_sync = 8;
|
|
optional location.nearby.proto.sharing.ParsingFailedType
|
|
parsing_failed_type = 9;
|
|
optional location.nearby.proto.sharing.DiscoveryMode discovery_mode = 10;
|
|
}
|
|
|
|
// EventType: DESCRIBE_ATTACHMENTS
|
|
message DescribeAttachments {
|
|
optional AttachmentsInfo attachments_info = 1;
|
|
|
|
// Time taken to download the attachments before sending
|
|
optional google.protobuf.Duration download_duration = 2;
|
|
}
|
|
|
|
// TODO(fdi): may want to add duration_from_scanning_millis later.
|
|
// EventType: SEND_INTRODUCTION
|
|
message SendIntroduction {
|
|
optional ShareTargetInfo share_target_info = 1;
|
|
optional int64 session_id = 2 /* type = ST_SESSION_ID */;
|
|
// 1-based number for transfer position.
|
|
optional int32 transfer_position = 3;
|
|
optional int32 concurrent_connections = 4;
|
|
}
|
|
|
|
// EventType: RECEIVE_INTRODUCTION
|
|
message ReceiveIntroduction {
|
|
optional int64 session_id = 1 /* type = ST_SESSION_ID */;
|
|
optional ShareTargetInfo share_target_info = 2;
|
|
optional string referrer_name = 3;
|
|
}
|
|
|
|
// TODO(fdi): may add AttachmentInfo, or ShareTargetInfo later.
|
|
// EventType: RESPOND_TO_INTRODUCTION
|
|
message RespondToIntroduction {
|
|
optional location.nearby.proto.sharing.ResponseToIntroduction action = 1;
|
|
optional int64 session_id = 2 /* type = ST_SESSION_ID */;
|
|
optional bool qr_code_flow = 3;
|
|
}
|
|
|
|
// EventType: SEND_ATTACHMENTS_START
|
|
message SendAttachmentsStart {
|
|
optional int64 session_id = 1 /* type = ST_SESSION_ID */;
|
|
optional AttachmentsInfo attachments_info = 2;
|
|
// 1-based number for transfer position.
|
|
optional int32 transfer_position = 3;
|
|
optional int32 concurrent_connections = 4;
|
|
// Deprecated. Use share_target_info.has_matching_qr_code instead.
|
|
optional bool qr_code_flow = 5 [deprecated = true];
|
|
optional ShareTargetInfo share_target_info = 6;
|
|
// True if the advanced protection is enabled and the sender needed to
|
|
// confirm the transfer.
|
|
optional bool advanced_protection_enabled = 7;
|
|
// True if the advanced protection flag from NearbyService BE is different
|
|
// from the mendel flag.
|
|
optional bool advanced_protection_mismatch = 8;
|
|
}
|
|
|
|
// EventType: SEND_ATTACHMENTS_END
|
|
message SendAttachmentsEnd {
|
|
optional int64 session_id = 1 /* type = ST_SESSION_ID */;
|
|
optional int64 sent_bytes = 2;
|
|
optional location.nearby.proto.sharing.AttachmentTransmissionStatus status =
|
|
3;
|
|
// 1-based number for transfer position.
|
|
optional int32 transfer_position = 4;
|
|
optional int32 concurrent_connections = 5;
|
|
optional AttachmentsInfo attachments_info = 6;
|
|
// the duration from transfer start to transfer is finished.
|
|
optional int64 duration_millis = 7;
|
|
optional ShareTargetInfo share_target_info = 8;
|
|
optional string referrer_name = 9;
|
|
// connection status from nearby connections layer
|
|
optional location.nearby.proto.sharing.ConnectionLayerStatus
|
|
connection_layer_status = 10;
|
|
// Date(YYYYMMDD) in decimal format for the first successful transfer in
|
|
// America/Los_Angeles timezone. If no successful transfer exists, the value
|
|
// is 0.
|
|
optional int32 first_successful_transfer_date = 11
|
|
/* format = googlesql.format */;
|
|
// Date(YYYYMMDD) in decimal format for the previous successful transfer in
|
|
// America/Los_Angeles timezone. If no successful transfer exists, the value
|
|
// is 0.
|
|
optional int32 previous_successful_transfer_date = 12
|
|
/* format = googlesql.format */;
|
|
// The cumulative number of transfers the device has completed.
|
|
// Exact transfer count stored on device, but when logging put the transfer
|
|
// count in buckets, initially we use buckets: 1, 2, 3, …, 10, 11+
|
|
optional int32 lifetime_transfer_count = 13;
|
|
// The medium used for the connection.
|
|
optional int32 connection_medium = 14;
|
|
// The data usage of the user settings.
|
|
optional location.nearby.proto.sharing.DataUsage data_usage = 15;
|
|
|
|
// True if the sender and receiver are mutual contacts.
|
|
optional bool is_mutual_contact = 16;
|
|
}
|
|
|
|
// EventType: RECEIVE_ATTACHMENTS_START
|
|
message ReceiveAttachmentsStart {
|
|
optional int64 session_id = 1 /* type = ST_SESSION_ID */;
|
|
optional AttachmentsInfo attachments_info = 2;
|
|
optional ShareTargetInfo share_target_info = 3;
|
|
}
|
|
|
|
// EventType: RECEIVE_ATTACHMENTS_END
|
|
message ReceiveAttachmentsEnd {
|
|
optional int64 session_id = 1 /* type = ST_SESSION_ID */;
|
|
optional int64 received_bytes = 2;
|
|
optional location.nearby.proto.sharing.AttachmentTransmissionStatus status =
|
|
3;
|
|
optional string referrer_name = 4;
|
|
optional ShareTargetInfo share_target_info = 5;
|
|
// Date(YYYYMMDD) in decimal format for the first successful transfer in
|
|
// America/Los_Angeles timezone. If no successful transfer exists, the value
|
|
// is 0.
|
|
optional int32 first_successful_transfer_date = 6
|
|
/* format = googlesql.format */;
|
|
// Date(YYYYMMDD) in decimal format for the previous successful transfer in
|
|
// America/Los_Angeles timezone. If no successful transfer exists, the value
|
|
// is 0.
|
|
optional int32 previous_successful_transfer_date = 7
|
|
/* format = googlesql.format */;
|
|
// The cumulative number of transfers the device has completed.
|
|
// Exact transfer count stored on device, but when logging put the transfer
|
|
// count in buckets, initially we use buckets: 1, 2, 3, …, 10, 11+
|
|
optional int32 lifetime_transfer_count = 8;
|
|
// The medium used for the connection.
|
|
optional int32 connection_medium = 14;
|
|
// The data usage of the user settings.
|
|
optional location.nearby.proto.sharing.DataUsage data_usage = 15;
|
|
}
|
|
|
|
// EventType: CANCEL_CONNECTION
|
|
message CancelConnection {
|
|
optional int64 session_id = 1 /* type = ST_SESSION_ID */;
|
|
// 1-based number for transfer position. 1 if log is from receiver side.
|
|
optional int32 transfer_position = 2;
|
|
optional int32 concurrent_connections = 3;
|
|
}
|
|
|
|
// EventType: CANCEL_SENDING_ATTACHMENTS
|
|
message CancelSendingAttachments {}
|
|
|
|
// EventType: CANCEL_RECEIVING_ATTACHMENTS
|
|
message CancelReceivingAttachments {}
|
|
|
|
// EventType: PROCESS_RECEIVED_ATTACHMENTS_END
|
|
message ProcessReceivedAttachmentsEnd {
|
|
optional int64 session_id = 1 /* type = ST_SESSION_ID */;
|
|
optional location.nearby.proto.sharing.ProcessReceivedAttachmentsStatus
|
|
status = 2;
|
|
}
|
|
|
|
// EventType: OPEN_RECEIVED_ATTACHMENTS
|
|
message OpenReceivedAttachments {
|
|
optional AttachmentsInfo attachments_info = 3;
|
|
optional int64 session_id = 4 /* type = ST_SESSION_ID */;
|
|
}
|
|
|
|
// EventType: LAUNCH_SETUP_ACTIVITY
|
|
message LaunchSetupActivity {}
|
|
|
|
// EventType: ADD_CONTACT
|
|
message AddContact {
|
|
optional bool was_phone_added = 1;
|
|
optional bool was_email_added = 2;
|
|
}
|
|
|
|
// EventType: REMOVE_CONTACT
|
|
message RemoveContact {
|
|
optional bool was_phone_removed = 1;
|
|
optional bool was_email_removed = 2;
|
|
}
|
|
|
|
// EventType: FAST_SHARE_SERVER_RESPONSE
|
|
message FastShareServerResponse {
|
|
optional location.nearby.proto.sharing.ServerResponseState status = 1;
|
|
optional location.nearby.proto.sharing.ServerActionName name = 2;
|
|
optional int64 latency_millis = 3;
|
|
optional location.nearby.proto.sharing.SyncPurpose purpose = 4;
|
|
optional location.nearby.proto.sharing.ClientRole requester = 5;
|
|
optional location.nearby.proto.sharing.DeviceType device_type = 6;
|
|
}
|
|
|
|
// EventType: SEND_START
|
|
message SendStart {
|
|
optional int64 session_id = 1 /* type = ST_SESSION_ID */;
|
|
// 1-based number for transfer position.
|
|
optional int32 transfer_position = 2;
|
|
optional int32 concurrent_connections = 3;
|
|
optional ShareTargetInfo share_target_info = 4;
|
|
}
|
|
|
|
// EventType: ACCEPT_FAST_INITIALIZATION
|
|
message AcceptFastInitialization {}
|
|
|
|
// EventType: LAUNCH_ACTIVITY
|
|
message LaunchActivity {
|
|
optional location.nearby.proto.sharing.ActivityName activity_name = 1;
|
|
// Elapsed time in milliseconds between startActivity and stopActivity.
|
|
optional int64 duration_millis = 2;
|
|
// The name of the package that launched the activity
|
|
optional string referrer_name = 3;
|
|
// Is previous transfer in progress.
|
|
optional bool previous_transfer_in_progress = 4;
|
|
// Whether user has opted in before. For SETUP_ACTIVITY (Opt-In half sheet)
|
|
// and SETTINGS_ACTIVITY (Settings page). b/202415050, b/203248230
|
|
optional bool has_opted_in = 5;
|
|
// Indicate which UI interaction triggers the opt-in half sheet. Currently
|
|
// this only applies to SETUP_ACTIVITY
|
|
optional location.nearby.proto.sharing.ActivityName source_activity_name =
|
|
6;
|
|
// Is the activity simply pausing or completely finishing.
|
|
optional bool is_finishing = 7;
|
|
}
|
|
|
|
// EventType: DISMISS_PRIVACY_NOTIFICATION
|
|
message DismissPrivacyNotification {}
|
|
|
|
// EventType: TAP_PRIVACY_NOTIFICATION
|
|
message TapPrivacyNotification {}
|
|
|
|
// EventType: TAP_HELP
|
|
message TapHelp {}
|
|
|
|
// EventType: TAP_FEEDBACK
|
|
message TapFeedback {}
|
|
|
|
// EventType: ADD_QUICK_SETTINGS_TILE
|
|
message AddQuickSettingsTile {}
|
|
|
|
// EventType: REMOVE_QUICK_SETTINGS_TILE
|
|
message RemoveQuickSettingsTile {}
|
|
|
|
// EventType: LAUNCH_PHONE_CONSENT
|
|
message LaunchPhoneConsent {}
|
|
|
|
// EventType: DISPLAY_PHONE_CONSENT
|
|
message DisplayPhoneConsent {}
|
|
|
|
// EventType: TAP_QUICK_SETTINGS_TILE
|
|
message TapQuickSettingsTile {}
|
|
|
|
// EventType: TAP_QUICK_SETTINGS_FILE_SHARE
|
|
message TapQuickSettingsFileShare {}
|
|
|
|
// EventType: DISPLAY_PRIVACY_NOTIFICATION
|
|
message DisplayPrivacyNotification {}
|
|
|
|
// EventType: DEFAULT_OPT_IN
|
|
message DefaultOptIn {}
|
|
|
|
// EventType: SET_DEVICE_NAME
|
|
message SetDeviceName {
|
|
optional int32 device_name_size = 1;
|
|
}
|
|
|
|
// EventType: REQUEST_SETTING_PERMISSIONS
|
|
message RequestSettingPermissions {
|
|
optional location.nearby.proto.sharing.PermissionRequestType
|
|
permission_type = 1;
|
|
optional location.nearby.proto.sharing.PermissionRequestResult
|
|
permission_request_result = 2;
|
|
}
|
|
|
|
// EventType: LAUNCH_CONSENT
|
|
message LaunchConsent {
|
|
optional location.nearby.proto.sharing.ConsentType consent_type = 1;
|
|
optional location.nearby.proto.sharing.ConsentAcceptanceStatus status = 2;
|
|
}
|
|
|
|
// EventType: INSTALL_APK_STATUS
|
|
message InstallAPKStatus {
|
|
repeated location.nearby.proto.sharing.InstallAPKStatus status = 1
|
|
[packed = true];
|
|
repeated location.nearby.proto.sharing.ApkSource source = 2 [packed = true];
|
|
}
|
|
|
|
// EventType: VERIFY_APK_STATUS
|
|
message VerifyAPKStatus {
|
|
repeated location.nearby.proto.sharing.VerifyAPKStatus status = 1
|
|
[packed = true];
|
|
repeated location.nearby.proto.sharing.ApkSource source = 2 [packed = true];
|
|
}
|
|
|
|
// EventType: TOGGLE_SHOW_NOTIFICATION
|
|
message ToggleShowNotification {
|
|
optional location.nearby.proto.sharing.ShowNotificationStatus
|
|
previous_status = 1;
|
|
optional location.nearby.proto.sharing.ShowNotificationStatus
|
|
current_status = 2;
|
|
}
|
|
|
|
// EventType: DECRYPT_CERTIFICATE_FAILURE
|
|
message DecryptCertificateFailure {
|
|
optional location.nearby.proto.sharing.DecryptCertificateFailureStatus
|
|
status = 1;
|
|
}
|
|
|
|
// EventType: SHOW_ALLOW_PERMISSION_AUTO_ACCESS
|
|
message ShowAllowPermissionAutoAccess {
|
|
// Auto permission UI activity name
|
|
// Shows the auto permission UI if the device lacks Wifi or Bluetooth
|
|
// permission and the user has not allowed Nearby Share to automatically
|
|
// enable these permissions. Once the user allows access, the UI will
|
|
// not be shown again.
|
|
// Currently, only the SHARE_SHEET_ACTIVITY and RECEIVE_SURFACE_ACTIVITY
|
|
// show the UI.
|
|
optional location.nearby.proto.sharing.ActivityName activity_name = 1;
|
|
// True if user allowed NS to auto enable Wifi/BT permissions during file
|
|
// transfer and NS will recover the permissions after transffer is complete.
|
|
optional bool allowed_auto_access = 2;
|
|
// True if the device lacks Wifi permission.
|
|
optional bool is_wifi_missing = 3;
|
|
// True if the device lacks Bluetooth permission.
|
|
optional bool is_bt_missing = 4;
|
|
}
|
|
|
|
// EventType: TAP_QR_CODE
|
|
message TapQrCode {}
|
|
|
|
// QR_CODE_LINK_SHOWN
|
|
message QrCodeLinkShown {}
|
|
|
|
// EventType: FAST_INIT_DISCOVER_DEVICE
|
|
message FastInitDiscoverDevice {
|
|
reserved 1;
|
|
// The advertisement type is NOTIFY or SILENT.
|
|
optional location.nearby.proto.sharing.FastInitType fast_init_type = 2;
|
|
// The distance of the found nearby fast init advertisement.
|
|
optional location.nearby.proto.sharing.FastInitState fast_init_state = 3;
|
|
}
|
|
|
|
// The metadata of a share target.
|
|
message ShareTargetInfo {
|
|
optional location.nearby.proto.sharing.DeviceType device_type = 1;
|
|
optional location.nearby.proto.sharing.OSType os_type = 2;
|
|
optional location.nearby.proto.sharing.DeviceRelationship
|
|
device_relationship = 3;
|
|
// Represents whether the share target has the same QR code as the local
|
|
// device.
|
|
// In sender side events, this returns whether the receiver represented by
|
|
// this ShareTargetInfo has scanned the QR code generated by this sender.
|
|
// In receiver side events, this returns whether the sender represented by
|
|
// this ShareTargetInfo is the one that generated the QR code scanned by
|
|
// this receiver.
|
|
optional bool has_matching_qr_code = 4;
|
|
|
|
// Represents whether the share target is from external provider.
|
|
optional bool is_external = 5;
|
|
}
|
|
|
|
// The metadata of attachments to be shared.
|
|
message AttachmentsInfo {
|
|
repeated TextAttachment text_attachment = 1;
|
|
repeated FileAttachment file_attachment = 2;
|
|
// The App required by sender to open the attachments.
|
|
optional string required_app = 3;
|
|
repeated WifiCredentialsAttachment wifi_credentials_attachment = 4;
|
|
repeated AppAttachment app_attachment = 5;
|
|
repeated StreamAttachment stream_attachment = 6;
|
|
}
|
|
|
|
message TextAttachment {
|
|
optional Type type = 1;
|
|
optional int64 size_bytes = 2;
|
|
// attachments are batched together by some source
|
|
optional int64 batch_id = 3 /* type = ST_SESSION_ID */;
|
|
optional location.nearby.proto.sharing.AttachmentSourceType source_type = 4;
|
|
|
|
enum Type {
|
|
UNKNOWN_TEXT_TYPE = 0;
|
|
URL = 1;
|
|
ADDRESS = 2;
|
|
PHONE_NUMBER = 3;
|
|
}
|
|
}
|
|
|
|
message FileAttachment {
|
|
optional Type type = 1;
|
|
optional int64 size_bytes = 2;
|
|
reserved 3; // optional string mime_type = 3
|
|
optional int64 offset_bytes = 4;
|
|
// attachments are batched together by some source
|
|
optional int64 batch_id = 5 /* type = ST_SESSION_ID */;
|
|
optional location.nearby.proto.sharing.AttachmentSourceType source_type = 6;
|
|
|
|
enum Type {
|
|
UNKNOWN_FILE_TYPE = 0;
|
|
IMAGE = 1;
|
|
VIDEO = 2;
|
|
ANDROID_APP = 3;
|
|
AUDIO = 4;
|
|
DOCUMENT = 5;
|
|
CONTACT_CARD = 6;
|
|
}
|
|
}
|
|
|
|
message WifiCredentialsAttachment {
|
|
optional int32 security_type = 1;
|
|
// attachments are batched together by some source
|
|
optional int64 batch_id = 2 /* type = ST_SESSION_ID */;
|
|
optional location.nearby.proto.sharing.AttachmentSourceType source_type = 3;
|
|
}
|
|
|
|
message AppAttachment {
|
|
optional string package_name = 1 /* type = ST_SOFTWARE_ID */;
|
|
// App size in bytes.
|
|
optional int64 size = 2;
|
|
// attachments are batched together by some source
|
|
optional int64 batch_id = 3 /* type = ST_SESSION_ID */;
|
|
optional location.nearby.proto.sharing.AttachmentSourceType source_type = 4;
|
|
}
|
|
|
|
message StreamAttachment {
|
|
optional string package_name = 1 /* type = ST_SOFTWARE_ID */;
|
|
// attachments are batched together by some source
|
|
optional int64 batch_id = 2 /* type = ST_SESSION_ID */;
|
|
optional location.nearby.proto.sharing.AttachmentSourceType source_type = 3;
|
|
}
|
|
|
|
message CloudAttachmentInfo {
|
|
optional location.nearby.proto.sharing.AttachmentTransmissionStatus status =
|
|
1;
|
|
oneof CloudAttachment {
|
|
TextAttachment text_attachment = 2;
|
|
FileAttachment file_attachment = 3;
|
|
WifiCredentialsAttachment wifi_credentials_attachment = 4;
|
|
AppAttachment app_attachment = 5;
|
|
StreamAttachment stream_attachment = 6;
|
|
}
|
|
// The total bytes of all attachments transferred.
|
|
optional int64 transferred_bytes = 7;
|
|
// The duration from transfer start to transfer end.
|
|
optional int64 duration_millis = 8;
|
|
}
|
|
|
|
// EventType: APP_CRASH
|
|
// Used only for Nearby Share Windows App now
|
|
message AppCrash {
|
|
optional location.nearby.proto.sharing.AppCrashReason crash_reason = 1;
|
|
}
|
|
|
|
// EventType: SETUP_WIZARD
|
|
// The results of a setup wizard flow
|
|
message SetupWizard {
|
|
// The new visibility of the device.
|
|
optional location.nearby.proto.sharing.Visibility visibility = 1;
|
|
// The previous visibility of the device.
|
|
optional location.nearby.proto.sharing.Visibility previous_visibility = 2;
|
|
}
|
|
|
|
message SendDesktopNotification {
|
|
reserved 2;
|
|
optional location.nearby.proto.sharing.DesktopNotification event = 1;
|
|
}
|
|
|
|
message SendDesktopTransferEvent {
|
|
optional location.nearby.proto.sharing.DesktopTransferEventType event = 1;
|
|
}
|
|
|
|
message ShowWaitingForAccept {
|
|
optional location.nearby.proto.sharing.ButtonStatus button_status = 1;
|
|
}
|
|
|
|
message HighQualityMediumSetup {
|
|
optional ShareTargetInfo share_target_info = 1;
|
|
optional int64 session_id = 2 /* type = ST_SESSION_ID */;
|
|
optional int64 duration_millis = 3;
|
|
optional bool is_timeout = 4;
|
|
optional int32 original_quality = 5;
|
|
optional int32 connection_medium = 6;
|
|
optional int32 connection_mode = 7;
|
|
optional int32 instant_connection_result = 8;
|
|
}
|
|
|
|
message RpcCallStatus {
|
|
enum RpcDirection {
|
|
UNKNOWN_RPC_DIRECTION = 0;
|
|
INCOMING = 1;
|
|
OUTGOING = 2;
|
|
}
|
|
|
|
optional RpcDirection direction = 1;
|
|
// Name of RPC in <ServiceName>.<MethodName> format.
|
|
optional string rpc_name = 2;
|
|
// Canonical error code of RPC.
|
|
optional int32 error_code = 3;
|
|
// Latency of RPC call in milliseconds.
|
|
optional int64 latency_millis = 4;
|
|
}
|
|
|
|
// EventType: START_QR_CODE_SESSION
|
|
message StartQrCodeSession {}
|
|
|
|
// EventType: QR_CODE_OPENED_IN_WEB_CLIENT
|
|
message QrCodeOpenedInWebClient {
|
|
enum ClientPlatform {
|
|
UNKNOWN_CLIENT_PLATFORM = 0;
|
|
// Used when the client platform is not one of the types below
|
|
GENERIC = 1;
|
|
ANDROID = 2;
|
|
IOS = 3;
|
|
CHROME_OS = 4;
|
|
WINDOWS = 5;
|
|
}
|
|
optional ClientPlatform client_platform = 1;
|
|
|
|
// Whether the /qrcode page was opened in the browser again after the user
|
|
// clicked on the "Try again" button
|
|
optional bool is_retry = 2;
|
|
}
|
|
// EventType: HATS_JOINT_EVENT
|
|
message HatsJointEvent {
|
|
optional int64 flow_id = 1 /* type = ST_SESSION_ID */;
|
|
optional string hats_session_id = 2
|
|
/* type = ST_SESSION_ID */;
|
|
}
|
|
|
|
// EventType: RECEIVE_PREVIEWS
|
|
message ReceivePreviews {
|
|
optional int32 num_previews = 1;
|
|
}
|
|
|
|
// EventType: CLOUD_CREATE_SHARING_REQUEST
|
|
message CloudCreateSharingRequest {
|
|
optional AttachmentsInfo attachments_info = 1;
|
|
optional location.nearby.proto.sharing.CloudCreateSharingResult result = 2;
|
|
// Time taken to download attachments from the Intent in milliseconds.
|
|
optional int64 attachment_download_latency_millis = 3;
|
|
// Time taken to generate and encrypt the preview thumbnail in milliseconds.
|
|
optional int64 preview_thumbnail_latency_millis = 4;
|
|
// Time taken to make the CreateSharing RPC call in milliseconds.
|
|
optional int64 rpc_latency_millis = 5;
|
|
}
|
|
|
|
// EventType: CLOUD_REGISTER_RECEIVER used by QR code cloud web receiver
|
|
message CloudRegisterReceiver {
|
|
optional location.nearby.proto.sharing.CloudRegisterReceiverResult result =
|
|
1;
|
|
}
|
|
|
|
// EventType: CLOUD_UPLOAD_START used by QR code cloud web sender
|
|
// The cloud_sharing_id and flow_id are logged in the event metadata.
|
|
message CloudUploadStart {
|
|
optional AttachmentsInfo attachments_info = 1;
|
|
optional location.nearby.proto.sharing.CloudActionType action_type = 2;
|
|
}
|
|
|
|
// EventType: CLOUD_UPLOAD_END used by QR code cloud web sender
|
|
// The cloud_sharing_id and flow_id are logged in the event metadata.
|
|
message CloudUploadEnd {
|
|
repeated CloudAttachmentInfo upload_infos = 1;
|
|
optional location.nearby.proto.sharing.CloudActionType action_type = 2;
|
|
}
|
|
|
|
// EventType: CLOUD_DOWNLOAD_START used by QR code cloud web receiver
|
|
// The cloud_sharing_id and cloud_receiver_session_id are logged in the
|
|
// event_metadata into the anonymous logs.
|
|
message CloudDownloadStart {
|
|
optional AttachmentsInfo attachments_info = 1;
|
|
optional location.nearby.proto.sharing.CloudActionType action_type = 2;
|
|
}
|
|
|
|
// EventType: CLOUD_DOWNLOAD_END used by QR code cloud web receiver
|
|
// The cloud_sharing_id and cloud_receiver_session_id are logged in the
|
|
// event_metadata into the anonymous logs.
|
|
message CloudDownloadEnd {
|
|
repeated CloudAttachmentInfo download_infos = 1;
|
|
optional location.nearby.proto.sharing.CloudActionType action_type = 2;
|
|
}
|
|
|
|
// EventType: CLOUD_SHARING_RPC_RESULT
|
|
// Event logging the result of a Cloud Sharing RPC call. This event captures
|
|
// the type of RPC, its outcome, and performance metrics.
|
|
message CloudSharingRpcResult {
|
|
// The specific RPC method that was called.
|
|
optional string rpc_name = 1;
|
|
// The canonical gRPC status code (io.grpc.Status.Code) resulting from the
|
|
// call.
|
|
optional int32 status_code = 2;
|
|
// The total time taken for the RPC call to complete, in milliseconds.
|
|
optional int64 latency_millis = 3;
|
|
// The unique identifier for the cloud sharing session, if available at the
|
|
// time of the call. This helps correlate RPC events to a specific sharing
|
|
// session.
|
|
optional string cloud_sharing_id = 4;
|
|
}
|
|
}
|
|
// LINT.ThenChange(//depot/google3/logs/proto/location/nearby/nearby_client_log.proto)
|