1// Copyright 2019 The Chromium Authors 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5syntax = "proto2"; 6 7option optimize_for = LITE_RUNTIME; 8option java_package = "org.chromium.components.metrics"; 9 10package metrics; 11 12// Provides information about the launch of an item (such as an app or a file) 13// from the ChromeOS launcher. One event is recorded for every launch 14// originating from any launcher UI component, and this is the only circumstance 15// that records events. All fields prefixed with "hashed_" are hashed-and- 16// peppered values: the value is concatenated with a user-specific secret value, 17// and then hashed. For privacy reasons this process is designed to be one-way, 18// so that the server cannot easily recover the original values. 19// 20// Next tag: 10 21message ChromeOSAppListLaunchEventProto { 22 // A per-user, per-client ID that is used only for app list launch event 23 // logging. 24 optional fixed64 recurrence_ranker_user_id = 1; 25 26 // Enumerates the different UI components of the launcher that a user can 27 // perform a launch from. 28 enum LaunchType { 29 // No launch type specified. This is invalid and will cause the event to be 30 // dropped. 31 LAUNCH_TYPE_UNSPECIFIED = 0; 32 // Launches from the zero-state suggested apps chips or app search result 33 // tiles. 34 APP_TILES = 1; 35 // Launches from the non-apps search result list. 36 RESULTS_LIST = 2; 37 } 38 optional LaunchType launch_type = 2; 39 40 // Hour of the day from 0 to 23 inclusive. This is the user's local time 41 // rounded to the nearest hour. 42 optional int32 hour = 3; 43 44 // String length of the search query associated with this launch. If there was 45 // no query, this is zero. 46 optional int32 search_query_length = 4; 47 48 // Below here, all fields are hashed data. 49 50 // The hashed target item of the launch, eg. an app ID, filepath, or omnibox 51 // suggestion. 52 optional fixed64 hashed_target = 5; 53 54 // The hashed search query associated with the launch. Before hashing, the 55 // query is the empty string if there is no search query for this launch. 56 optional fixed64 hashed_query = 6; 57 58 // Hashed of the most-recently-visited domain when this launch occurred. 59 optional fixed64 hashed_domain = 7; 60 61 // Hash of the app ID of the most-recently-opened app when this launch 62 // occurred. This can be an app ID of a Chrome app, Arc++ app, or PWA. 63 optional fixed64 hashed_app = 8; 64 65 // Which search provider produced the launched item. 66 enum SearchProviderType { 67 // No result type specified. 68 PROVIDER_UNSPECIFIED = 0; 69 // Recent queries from the Omnibox provider. 70 OMNIBOX = 1; 71 // Zero-state files provider. 72 ZERO_STATE_FILE = 2; 73 // Drive QuickAccess provider. 74 DRIVE_QUICK_ACCESS = 3; 75 } 76 optional SearchProviderType search_provider_type = 9; 77} 78