3 option optimize_for = LITE_RUNTIME;
4 import "config_data.proto";
6 import "identity.proto";
7 message ClientVersion {
8 optional string client = 1;
9 optional string version_name = 2;
10 optional int64 version_code = 3;
11 optional string certificate_fingerprint = 4;
14 optional StatusCode code = 1;
15 optional string message = 2;
17 message PushServiceRegistration {
18 optional PushService service = 1;
19 optional GcmRegistration gcm_registration = 2;
21 message GcmRegistration {
22 optional string device_token = 1;
24 message DeviceIdentifiers {
25 optional int32 ulr_device_id = 1;
26 optional DeviceIdentity device_identity = 2;
27 optional Identity registrant = 3;
31 repeated string email = 2;
33 optional string id = 1;
34 optional TokenStatus status = 3;
35 optional Debug debug = 4;
37 message DeviceFingerprint {
38 optional string manufacturer = 1;
39 optional string model = 2;
40 optional PlatformType type = 3;
41 optional string platform_version = 4;
43 message TokenTechnology {
44 optional TokenMedium medium = 1;
45 repeated TokenInstructionType instruction_type = 2;
47 message DeviceCapabilities {
48 repeated TokenTechnology token_technology = 2;
50 message TokenInstruction {
51 optional TokenInstructionType token_instruction_type = 1;
52 optional TokenMedium medium = 2;
53 optional string token_id = 4;
56 optional InstructionType instruction_type = 1;
57 optional TokenInstruction token_instruction = 2;
58 optional int64 delay_millis = 3;
59 optional int64 ttl_millis = 4;
60 optional string published_message_id = 5;
61 optional string subscription_id = 6;
62 optional DirectiveConfiguration configuration = 7;
65 optional DeviceCapabilities capabilities = 1;
66 repeated Directive active_directive = 2;
69 optional string served_by_task = 1;
70 repeated string token_id = 3;
71 optional int64 request_time_millis = 4;
73 message TokenObservation {
74 optional string token_id = 1;
75 repeated TokenSignals signals = 2;
77 message TokenSignals {
78 optional TokenMedium medium = 1;
79 optional int32 rssi = 2;
80 optional int64 observed_time_millis = 3;
82 message AccessPolicy {
83 optional int64 ttl_millis = 1;
87 optional AclType acl_type = 1;
88 optional string named_acl_name = 2;
89 optional bytes referenced_acl_consistency_token = 5;
91 message PublishedMessage {
92 optional string id = 1;
93 optional AccessPolicy access_policy = 2;
94 optional Message message = 3;
95 optional TokenExchangeStrategy token_exchange_strategy = 5;
96 optional OptInStateFilter opt_in_state_filter = 6;
98 message TokenExchangeStrategy {
99 optional AudioConfiguration audio_configuration = 1;
100 optional BroadcastScanConfiguration broadcast_scan_configuration = 2;
102 message SubscribedMessage {
104 optional string published_message_id = 1;
105 optional string publisher_identity_id = 2;
106 optional string publisher_device_id = 3;
107 optional int64 creation_timestamp_millis = 4;
108 optional int64 ttl_millis = 5;
109 optional TokenExchangeStrategy token_exchange_strategy = 7;
111 repeated string subscription_id = 1;
112 optional Message published_message = 2;
113 optional Debug debug = 3;
114 repeated TokenObservation required_token = 5;
117 optional MessageType type = 2;
118 optional bytes payload = 3;
120 message MessageType {
121 optional string type = 2;
123 message Subscription {
124 optional string id = 1;
125 optional int64 ttl_millis = 3;
126 optional MessageType message_type = 4;
127 optional TokenExchangeStrategy token_exchange_strategy = 7;
128 optional OptInStateFilter opt_in_state_filter = 8;
130 message MessageResult {
131 optional string published_message_id = 1;
133 message SubscriptionResult {
134 optional string subscription_id = 1;
136 message OptInStateFilter {
137 repeated OptInState allowed_opt_in_state = 1;