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