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;
12 optional string project_id = 5;
15 optional StatusCode code = 1;
16 optional string message = 2;
18 message PushServiceRegistration {
19 optional PushService service = 1;
20 optional GcmRegistration gcm_registration = 2;
22 message GcmRegistration {
23 optional string device_token = 1;
25 message DeviceIdentifiers {
26 optional int32 ulr_device_id = 1;
27 optional DeviceIdentity device_identity = 2;
28 optional Identity registrant = 3;
32 repeated string email = 2;
34 optional string id = 1;
35 optional TokenStatus status = 3;
36 optional Debug debug = 4;
38 message DeviceFingerprint {
39 optional string manufacturer = 1;
40 optional string model = 2;
41 optional PlatformType type = 3;
42 optional string platform_version = 4;
44 message TokenTechnology {
45 optional TokenMedium medium = 1;
46 repeated TokenInstructionType instruction_type = 2;
48 message DeviceCapabilities {
49 repeated TokenTechnology token_technology = 2;
51 message TokenInstruction {
52 optional TokenInstructionType token_instruction_type = 1;
53 optional TokenMedium medium = 2;
54 optional string token_id = 4;
57 optional InstructionType instruction_type = 1;
58 optional TokenInstruction token_instruction = 2;
59 optional int64 delay_millis = 3;
60 optional int64 ttl_millis = 4;
61 optional string published_message_id = 5;
62 optional string subscription_id = 6;
63 optional DirectiveConfiguration configuration = 7;
66 optional DeviceCapabilities capabilities = 1;
67 repeated Directive active_directive = 2;
70 optional string served_by_task = 1;
71 repeated string token_id = 3;
72 optional int64 request_time_millis = 4;
74 message TokenObservation {
75 optional string token_id = 1;
76 repeated TokenSignals signals = 2;
78 message TokenSignals {
79 optional TokenMedium medium = 1;
80 optional int32 rssi = 2;
81 optional int64 observed_time_millis = 3;
83 message AccessPolicy {
84 optional int64 ttl_millis = 1;
88 optional AclType acl_type = 1;
89 optional string named_acl_name = 2;
90 optional bytes referenced_acl_consistency_token = 5;
92 message PublishedMessage {
93 optional string id = 1;
94 optional AccessPolicy access_policy = 2;
95 optional Message message = 3;
96 optional TokenExchangeStrategy token_exchange_strategy = 5;
97 optional OptInStateFilter opt_in_state_filter = 6;
99 message TokenExchangeStrategy {
100 optional AudioConfiguration audio_configuration = 1;
101 optional BroadcastScanConfiguration broadcast_scan_configuration = 2;
103 message SubscribedMessage {
105 optional string published_message_id = 1;
106 optional string publisher_identity_id = 2;
107 optional string publisher_device_id = 3;
108 optional int64 creation_timestamp_millis = 4;
109 optional int64 ttl_millis = 5;
110 optional TokenExchangeStrategy token_exchange_strategy = 7;
112 repeated string subscription_id = 1;
113 optional Message published_message = 2;
114 optional Debug debug = 3;
115 repeated TokenObservation required_token = 5;
118 optional MessageType type = 2;
119 optional bytes payload = 3;
121 message MessageType {
122 optional string type = 2;
124 message Subscription {
125 optional string id = 1;
126 optional int64 ttl_millis = 3;
127 optional MessageType message_type = 4;
128 optional TokenExchangeStrategy token_exchange_strategy = 7;
129 optional OptInStateFilter opt_in_state_filter = 8;
131 message MessageResult {
132 optional string published_message_id = 1;
134 message SubscriptionResult {
135 optional string subscription_id = 1;
137 message OptInStateFilter {
138 repeated OptInState allowed_opt_in_state = 1;