// 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;
}