// Copyright 2019 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. syntax = "proto2"; option optimize_for = LITE_RUNTIME; option java_package = "org.chromium.components.metrics"; package metrics; // Provides information about the launch of an item (such as an app or a file) // from the ChromeOS launcher. One event is recorded for every launch // originating from any launcher UI component, and this is the only circumstance // that records events. All fields prefixed with "hashed_" are hashed-and- // peppered values: the value is concatenated with a user-specific secret value, // and then hashed. For privacy reasons this process is designed to be one-way, // so that the server cannot easily recover the original values. // // Next tag: 10 message ChromeOSAppListLaunchEventProto { // A per-user, per-client ID that is used only for app list launch event // logging. optional fixed64 recurrence_ranker_user_id = 1; // Enumerates the different UI components of the launcher that a user can // perform a launch from. enum LaunchType { // No launch type specified. This is invalid and will cause the event to be // dropped. LAUNCH_TYPE_UNSPECIFIED = 0; // Launches from the zero-state suggested apps chips or app search result // tiles. APP_TILES = 1; // Launches from the non-apps search result list. RESULTS_LIST = 2; } optional LaunchType launch_type = 2; // Hour of the day from 0 to 23 inclusive. This is the user's local time // rounded to the nearest hour. optional int32 hour = 3; // String length of the search query associated with this launch. If there was // no query, this is zero. optional int32 search_query_length = 4; // Below here, all fields are hashed data. // The hashed target item of the launch, eg. an app ID, filepath, or omnibox // suggestion. optional fixed64 hashed_target = 5; // The hashed search query associated with the launch. Before hashing, the // query is the empty string if there is no search query for this launch. optional fixed64 hashed_query = 6; // Hashed of the most-recently-visited domain when this launch occurred. optional fixed64 hashed_domain = 7; // Hash of the app ID of the most-recently-opened app when this launch // occurred. This can be an app ID of a Chrome app, Arc++ app, or PWA. optional fixed64 hashed_app = 8; // Which search provider produced the launched item. enum SearchProviderType { // No result type specified. PROVIDER_UNSPECIFIED = 0; // Recent queries from the Omnibox provider. OMNIBOX = 1; // Zero-state files provider. ZERO_STATE_FILE = 2; // Drive QuickAccess provider. DRIVE_QUICK_ACCESS = 3; } optional SearchProviderType search_provider_type = 9; }