OLD | NEW |
---|---|
(Empty) | |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 // | |
5 // Logging information for Android "checkin" events (automatic, periodic | |
6 // requests made by Android devices to the server). | |
7 | |
8 syntax = "proto2"; | |
9 | |
10 option optimize_for = LITE_RUNTIME; | |
11 option retain_unknown_fields = true; | |
12 package checkin_proto; | |
13 | |
14 // Build characteristics unique to the Chrome browser, and Chrome OS | |
15 message ChromeBuildProto { | |
16 // option (datapol.msg_semantic_type) = ST_SOFTWARE_ID; | |
Nicolas Zea
2014/01/04 01:40:19
remove this?
fgorski
2014/01/06 20:34:12
Done.
| |
17 | |
18 enum Platform { | |
19 PLATFORM_WIN = 1; | |
20 PLATFORM_MAC = 2; | |
21 PLATFORM_LINUX = 3; | |
22 PLATFORM_CROS = 4; | |
23 PLATFORM_IOS = 5; | |
24 // Just a placeholder. Likely don't need it due to the presence of the | |
25 // Android GCM on phone/tablet devices. | |
26 PLATFORM_ANDROID = 6; | |
27 } | |
28 | |
29 enum Channel { | |
30 CHANNEL_STABLE = 1; | |
31 CHANNEL_BETA = 2; | |
32 CHANNEL_DEV = 3; | |
33 CHANNEL_CANARY = 4; | |
34 CHANNEL_UNKNOWN = 5; // for tip of tree or custom builds | |
35 } | |
36 | |
37 // The platform of the device. | |
38 optional Platform platform = 1; | |
39 | |
40 // The Chrome instance's version. | |
41 optional string chrome_version = 2; | |
42 | |
43 // The Channel (build type) of Chrome. | |
44 optional Channel channel = 3; | |
45 } | |
46 | |
47 // Information sent by the device in a "checkin" request. | |
48 message AndroidCheckinProto { | |
49 // option (logs_proto.msg_details) = { | |
Nicolas Zea
2014/01/04 01:40:19
remove this, and other internal/unused fields or c
fgorski
2014/01/06 20:34:12
Done.
| |
50 // may_appear_in: { source_type: "gfstmp/android" | |
51 // log_type: "checkin_tmplog" } | |
52 // may_appear_in: { source_type: "android" log_type: "checkin_weblog" } | |
53 // }; | |
54 | |
55 // NOTE: the device identifier is in GwsLog.UserInfo.AndroidID, not here. | |
56 // optional android.AndroidBuildProto build = 1; | |
57 | |
58 // For devices running MCS on Chrome, build-specific characteristics | |
59 // of the browser. There are no hardware aspects (except for ChromeOS). | |
60 // This will only be populated for Chrome builds/ChromeOS devices | |
61 optional checkin_proto.ChromeBuildProto chrome_build = 13; | |
Nicolas Zea
2014/01/04 01:40:19
nit: have fields ordered numerically? so chrome_bu
fgorski
2014/01/06 20:34:12
Done.
| |
62 | |
63 // For devices running MCS on IOS, build-specific characteristics of | |
64 // the MCS library version number and the underlying OS/hardware details. | |
65 // This will only be populated for IOS devices | |
66 // optional android.IOSBuildProto iosBuild = 11; | |
67 | |
68 // Time (Java epoch) of the device's last successful checkin. | |
Nicolas Zea
2014/01/04 01:40:19
s/Java epoch/Millseconds since the Unix epoch
fgorski
2014/01/06 20:34:12
Done.
| |
69 optional int64 last_checkin_msec = 2; | |
70 | |
71 // Requested group membership (may not be honored depending on policy). | |
72 // See AndroidExtension.assigned_group for the actual membership we assign. | |
73 // repeated string requested_group = 5; | |
74 | |
75 // Events and statistics are collected since that last successful checkin. | |
76 // repeated android.AndroidEventProto event = 3; | |
77 // repeated android.AndroidStatisticProto stat = 4; | |
78 | |
79 // The current MCC+MNC of the mobile device's current cell. | |
80 optional string cell_operator = 6; | |
81 | |
82 // The MCC+MNC of the SIM card (different from operator if the | |
83 // device is roaming, for instance). | |
84 optional string sim_operator = 7; | |
85 | |
86 // The device's current roaming state (reported starting in eclair builds). | |
87 // Currently one of "{,not}mobile-{,not}roaming", if it is present at all. | |
88 optional string roaming = 8; | |
89 | |
90 // For devices supporting multiple user profiles (which may be | |
91 // supported starting in jellybean), the ordinal number of the | |
92 // profile that is checking in. This is 0 for the primary profile | |
93 // (which can't be changed without wiping the device), and 1,2,3,... | |
94 // for additional profiles (which can be added and deleted freely). | |
95 optional int32 user_number = 9; | |
96 | |
97 // Class of device. Indicates the type of build proto | |
98 // (IosBuildProto/ChromeBuildProto/AndroidBuildProto) | |
99 // That is included in this proto | |
100 optional DeviceType type = 12 [default = DEVICE_ANDROID_OS]; | |
101 | |
102 // Note: 10 was skipped due to a few devices incorrectly using the field | |
103 // before it was first used. | |
104 // Next 14 | |
105 } | |
106 | |
107 // enum values correspond to the type of device. | |
108 // Used in the AndroidCheckinProto and Device proto. | |
109 enum DeviceType { | |
110 | |
Nicolas Zea
2014/01/04 01:40:19
nit: remove newline
fgorski
2014/01/06 20:34:12
Done.
| |
111 // Android Device | |
112 DEVICE_ANDROID_OS = 1; | |
113 | |
114 // Apple IOS device | |
115 DEVICE_IOS_OS = 2; | |
116 | |
117 // Chrome browser - Not Chrome OS. No hardware records. | |
118 DEVICE_CHROME_BROWSER = 3; | |
119 | |
120 // Chrome OS | |
121 DEVICE_CHROME_OS = 4; | |
122 } | |
OLD | NEW |