blob: b421e003c4c89cfa9b56dae510c3fcfc20e7f162 [file] [log] [blame]
// Copyright 2020 The Feed Authors.
//
// 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
//
// http://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 feedwire;
option optimize_for=LITE_RUNTIME;
import "src/trellis/proto/display_info.proto";
import "src/trellis/proto/version.proto";
// Information about the client performing the request similar to a user-agent
// string in HTTP.
// Next ID: 10.
message ClientInfo {
enum PlatformType {
UNKNOWN_PLATFORM = 0;
ANDROID = 1;
IOS = 2;
}
enum AppType {
CHROME = 3;
reserved 0, 1, 2, 4;
}
// The type of OS that the client is running.
optional PlatformType platform_type = 1;
// The version of the OS that the client is running.
optional Version platform_version = 2;
// The type of client app.
optional AppType app_type = 3;
// The version of the client app.
optional Version app_version = 4;
// A string identifying the language and region preferences of the client.
// Follows the BCP 47 format such as "en-US" or "fr-CA"
optional string locale = 5;
// The information about the screen of the client. This is repeated because
// there are some devices that might have multiple display screens.
// (Ex fold-able phones)
repeated DisplayInfo display_info = 6;
// Identifier of the user's device. For Android devices, contains a hash of
// the gaia email and android_id, which uniquely identifies the device for
// the user. Currently set by Android clients version 4.1 and later.
optional string client_instance_id = 7;
// An Android device level identifier used for advertising, required for
// conversion tracking, see more at:
// https://support.google.com/googleplay/android-developer/answer/6048248
optional string advertising_id = 8;
// Two-letter country code as detected by the device. On Android devices,
// this comes from GServices check-in which uses the SIM card MCC (mobile
// country code), with fallback to IP geo lookup.
optional string device_country = 9;
}