-
Notifications
You must be signed in to change notification settings - Fork 25
/
Copy pathcloud_event_payload.proto
196 lines (161 loc) · 6.32 KB
/
cloud_event_payload.proto
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
// Copyright 2021 Google LLC
//
// 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 = "proto3";
package google.events.firebase.firebasealerts.v1;
import "google/protobuf/timestamp.proto";
import "google/type/date.proto";
option csharp_namespace = "Google.Events.Protobuf.Firebase.FirebaseAlerts.V1";
option java_package = "com.google.events.firebase.firebasealerts.v1";
option java_outer_classname = "CloudEventPayloadProto";
option php_namespace = "Google\\Events\\Firebase\\FirebaseAlerts\\V1";
option ruby_package = "Google::Events::Firebase::FirebaseAlerts::V1";
// -- Crashlytics
// Basic information of the Crashlytics issue
message CrashlyticsIssue {
string id = 1;
string title = 2;
string subtitle = 3;
string app_version = 4;
}
message CrashlyticsNewFatalIssuePayload {
// Basic information of the Crashlytics issue
CrashlyticsIssue issue = 1;
}
message CrashlyticsNewNonfatalIssuePayload {
// Basic information of the Crashlytics issue
CrashlyticsIssue issue = 1;
}
message CrashlyticsRegressionAlertPayload {
// The type of the Crashlytics issue, e.g. new fatal, new nonfatal, ANR
string type = 1;
// Basic information of the Crashlytics issue
CrashlyticsIssue issue = 2;
// The time that the Crashlytics issues was most recently resolved before it
// began to reoccur
google.protobuf.Timestamp resolve_time = 3;
}
message CrashlyticsVelocityAlertPayload {
// Basic information of the Crashlytics issue
CrashlyticsIssue issue = 1;
// The time that the Crashlytics issue gets created
google.protobuf.Timestamp create_time = 2;
// The number of user sessions for the given app version that had this
// specific crash issue in the time period used to trigger the velocity alert,
// which is currently 1h
int64 crash_count = 3;
// The percentage of user sessions for the given app version that had this
// specific crash issue in the time period used to trigger the velocity alert,
// which is currently 1h
double crash_percentage = 4;
// The first app version where this issue was seen, and not necessarily the
// version that has triggered the alert
string first_version = 5;
}
message CrashlyticsStabilityDigestPayload {
message TrendingIssueDetails {
// The type of the Crashlytics issue, e.g. new fatal, new nonfatal, ANR
string type = 1;
// Basic information of the Crashlytics issue
CrashlyticsIssue issue = 2;
// The number of crashes that occurred with the issue
int64 event_count = 3;
// The number of distinct users that were affected by the issue
int64 user_count = 4;
}
// The date that the digest gets created, issues in the digest should
// have the same date as the digest date
google.type.Date digest_date = 5;
// A stability digest contains several trending Crashlytics issues
repeated TrendingIssueDetails trending_issues = 6;
}
message CrashlyticsNewAnrIssuePayload {
CrashlyticsIssue issue = 1;
}
message CrashlyticsMissingSymbolsPayload {
string app_version = 1;
string uuid = 2;
}
// -- Firebase Performance
message FireperfThresholdAlertPayload {
// Name of the trace or network request this alert is for (e.g.
// my_custom_trace, firebase.com/api/123)
string event_name = 1;
// The resource type this alert is for (i.e. trace, network request, screen
// rendering, etc.)
string event_type = 2;
// The metric type this alert is for (i.e. success rate, response time,
// duration, etc.)
string metric_type = 3;
// The number of events checked for this alert condition
int64 num_samples = 4;
// The threshold value of the alert condition without units (e.g. "75", "2.1")
float threshold_value = 5;
// The unit for the alert threshold (e.g. "percent", "seconds")
string threshold_unit = 6;
// The percentile of the alert condition, can be 0 if percentile is not
// applicable to the alert condition; range: [0, 100]
int32 condition_percentile = 7;
// The app version this alert was triggered for, can be empty if the alert is
// for a network request (because the alert was checked against data from all
// versions of app) or a web app (where the app is versionless)
string app_version = 8;
// The value that violated the alert condition (e.g. "76.5", "3")
float violation_value = 9;
// The unit for the violation value (e.g. "percent", "seconds")
string violation_unit = 10;
// The link to Fireconsole to investigate more into this alert
string investigate_uri = 11;
}
// -- App Distribution
message AppDistroNewTesterIosDevicePayload {
string tester_name = 1;
string tester_email = 2;
string tester_device_model_name = 3;
string tester_device_identifier = 4;
}
message AppDistroInAppFeedbackPayload {
// Resource name. Format:
// projects/{project_number}/apps/{app_id}/releases/{release_id}/feedbackReports/{feedback_id}
string feedback_report = 1;
// Deep link back to the Firebase console.
string feedback_console_uri = 8;
// Name of the tester.
string tester_name = 2;
// Email address of the tester.
string tester_email = 3;
// Version consisting of `versionName` and `versionCode` for Android and
// `CFBundleShortVersionString` and `CFBundleVersion` for iOS.
string app_version = 9;
// Text entered by the tester.
string text = 6;
// URI to download screenshot. This URI is fast expiring.
string screenshot_uri = 7;
reserved "display_version", "build_version", "screenshot_uris";
reserved 4, 5;
}
// -- Billing
message BillingPlanUpdatePayload {
// A Firebase plan
string billing_plan = 1;
// The email address of the person that triggered billing plan change
string principal_email = 2;
// The type of the notification, e.g. upgrade, downgrade
string notification_type = 3;
}
message BillingPlanAutomatedUpdatePayload {
// A Firebase plan
string billing_plan = 1;
// The type of the notification, e.g. upgrade, downgrade
string notification_type = 2;
}