Skip to content

Commit 9ca4a25

Browse files
Google APIscopybara-github
authored andcommitted
feat: add CreateRecurringAudienceList, GetRecurringAudienceList, ListRecurringAudienceLists methods to the Data API v1 alpha
feat: add the `RecurringAudienceList` type feat: add `percentage_completed`, `recurring_audience_list` fields to the `AudienceList` resource PiperOrigin-RevId: 586431787
1 parent 4279635 commit 9ca4a25

2 files changed

Lines changed: 209 additions & 1 deletion

File tree

google/analytics/data/v1alpha/BUILD.bazel

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -322,6 +322,7 @@ load(
322322

323323
csharp_proto_library(
324324
name = "data_csharp_proto",
325+
extra_opts = [],
325326
deps = [":data_proto"],
326327
)
327328

google/analytics/data/v1alpha/analytics_data_api.proto

Lines changed: 208 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -201,6 +201,200 @@ service AlphaAnalyticsData {
201201
};
202202
option (google.api.method_signature) = "parent";
203203
}
204+
205+
// Creates a recurring audience list. Recurring audience lists produces new
206+
// audience lists each day. Audience lists are users in an audience at the
207+
// time of the list's creation.
208+
//
209+
// A recurring audience list ensures that you have audience list based on the
210+
// most recent data available for use each day. If you manually create
211+
// audience list, you don't know when an audience list based on an additional
212+
// day's data is available. This recurring audience list automates the
213+
// creation of an audience list when an additional day's data is available.
214+
// You will consume fewer quota tokens by using recurring audience list versus
215+
// manually creating audience list at various times of day trying to guess
216+
// when an additional day's data is ready.
217+
//
218+
// This method is introduced at alpha stability with the intention of
219+
// gathering feedback on syntax and capabilities before entering beta. To give
220+
// your feedback on this API, complete the
221+
// [Google Analytics Audience Export API
222+
// Feedback](https://forms.gle/EeA5u5LW6PEggtCEA) form.
223+
rpc CreateRecurringAudienceList(CreateRecurringAudienceListRequest)
224+
returns (RecurringAudienceList) {
225+
option (google.api.http) = {
226+
post: "/v1alpha/{parent=properties/*}/recurringAudienceLists"
227+
body: "recurring_audience_list"
228+
};
229+
option (google.api.method_signature) = "parent,recurring_audience_list";
230+
}
231+
232+
// Gets configuration metadata about a specific recurring audience list. This
233+
// method can be used to understand a recurring audience list's state after it
234+
// has been created. For example, a recurring audience list resource will
235+
// generate audience list instances for each day, and this method can be used
236+
// to get the resource name of the most recent audience list instance.
237+
//
238+
// This method is introduced at alpha stability with the intention of
239+
// gathering feedback on syntax and capabilities before entering beta. To give
240+
// your feedback on this API, complete the
241+
// [Google Analytics Audience Export API
242+
// Feedback](https://forms.gle/EeA5u5LW6PEggtCEA) form.
243+
rpc GetRecurringAudienceList(GetRecurringAudienceListRequest)
244+
returns (RecurringAudienceList) {
245+
option (google.api.http) = {
246+
get: "/v1alpha/{name=properties/*/recurringAudienceLists/*}"
247+
};
248+
option (google.api.method_signature) = "name";
249+
}
250+
251+
// Lists all recurring audience lists for a property. This method can be used
252+
// for you to find and reuse existing recurring audience lists rather than
253+
// creating unnecessary new recurring audience lists. The same audience can
254+
// have multiple recurring audience lists that represent different dimension
255+
// combinations; for example, just the dimension `deviceId` or both the
256+
// dimensions `deviceId` and `userId`.
257+
//
258+
// This method is introduced at alpha stability with the intention of
259+
// gathering feedback on syntax and capabilities before entering beta. To give
260+
// your feedback on this API, complete the
261+
// [Google Analytics Audience Export API
262+
// Feedback](https://forms.gle/EeA5u5LW6PEggtCEA) form.
263+
rpc ListRecurringAudienceLists(ListRecurringAudienceListsRequest)
264+
returns (ListRecurringAudienceListsResponse) {
265+
option (google.api.http) = {
266+
get: "/v1alpha/{parent=properties/*}/recurringAudienceLists"
267+
};
268+
option (google.api.method_signature) = "parent";
269+
}
270+
}
271+
272+
// A request to create a new recurring audience list.
273+
message CreateRecurringAudienceListRequest {
274+
// Required. The parent resource where this recurring audience list will be
275+
// created. Format: `properties/{property}`
276+
string parent = 1 [
277+
(google.api.field_behavior) = REQUIRED,
278+
(google.api.resource_reference) = {
279+
child_type: "analyticsdata.googleapis.com/RecurringAudienceList"
280+
}
281+
];
282+
283+
// Required. The recurring audience list to create.
284+
RecurringAudienceList recurring_audience_list = 2
285+
[(google.api.field_behavior) = REQUIRED];
286+
}
287+
288+
// A recurring audience list produces new audience lists each day. Audience
289+
// lists are users in an audience at the time of the list's creation. A
290+
// recurring audience list ensures that you have audience list based on the most
291+
// recent data available for use each day.
292+
message RecurringAudienceList {
293+
option (google.api.resource) = {
294+
type: "analyticsdata.googleapis.com/RecurringAudienceList"
295+
pattern: "properties/{property}/recurringAudienceLists/{recurring_audience_list}"
296+
plural: "recurringAudienceLists"
297+
singular: "recurringAudienceList"
298+
};
299+
300+
// Output only. Identifier. The recurring audience list resource name assigned
301+
// during creation. This resource name identifies this
302+
// `RecurringAudienceList`.
303+
//
304+
// Format:
305+
// `properties/{property}/recurringAudienceLists/{recurring_audience_list}`
306+
string name = 1 [
307+
(google.api.field_behavior) = IDENTIFIER,
308+
(google.api.field_behavior) = OUTPUT_ONLY
309+
];
310+
311+
// Required. The audience resource name. This resource name identifies the
312+
// audience being listed and is shared between the Analytics Data & Admin
313+
// APIs.
314+
//
315+
// Format: `properties/{property}/audiences/{audience}`
316+
string audience = 2 [(google.api.field_behavior) = REQUIRED];
317+
318+
// Output only. The descriptive display name for this audience. For example,
319+
// "Purchasers".
320+
string audience_display_name = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
321+
322+
// Required. The dimensions requested and displayed in the audience list
323+
// response.
324+
repeated AudienceDimension dimensions = 4
325+
[(google.api.field_behavior) = REQUIRED];
326+
327+
// Optional. The number of remaining days that a recurring audience export
328+
// will produce an audience list instance. This counter decreases by one each
329+
// day, and when it reaches zero, no new audience lists will be created.
330+
//
331+
// Recurring audience list request for Analytics 360 properties default to 180
332+
// days and have a maximum of 365 days. Requests for standard Analytics
333+
// properties default to 14 days and have a maximum of 30 days.
334+
//
335+
// The minimum value allowed during creation is 1. Requests above their
336+
// respective maximum will be coerced to their maximum.
337+
optional int32 active_days_remaining = 5
338+
[(google.api.field_behavior) = OPTIONAL];
339+
340+
// Output only. Audience list resource names for audience list instances
341+
// created for this recurring audience list. One audience list is created for
342+
// each day, and the audience list will be listed here.
343+
//
344+
// This list is ordered with the most recently created audience list first.
345+
repeated string audience_lists = 6
346+
[(google.api.field_behavior) = OUTPUT_ONLY];
347+
}
348+
349+
// A request to retrieve configuration metadata about a specific recurring
350+
// audience list.
351+
message GetRecurringAudienceListRequest {
352+
// Required. The recurring audience list resource name.
353+
// Format:
354+
// `properties/{property}/recurringAudienceLists/{recurring_audience_list}`
355+
string name = 1 [
356+
(google.api.field_behavior) = REQUIRED,
357+
(google.api.resource_reference) = {
358+
type: "analyticsdata.googleapis.com/RecurringAudienceList"
359+
}
360+
];
361+
}
362+
363+
// A request to list all recurring audience lists for a property.
364+
message ListRecurringAudienceListsRequest {
365+
// Required. All recurring audience lists for this property will be listed in
366+
// the response. Format: `properties/{property}`
367+
string parent = 1 [
368+
(google.api.field_behavior) = REQUIRED,
369+
(google.api.resource_reference) = {
370+
child_type: "analyticsdata.googleapis.com/RecurringAudienceList"
371+
}
372+
];
373+
374+
// Optional. The maximum number of recurring audience lists to return. The
375+
// service may return fewer than this value. If unspecified, at most 200
376+
// recurring audience lists will be returned. The maximum value is 1000
377+
// (higher values will be coerced to the maximum).
378+
int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
379+
380+
// Optional. A page token, received from a previous
381+
// `ListRecurringAudienceLists` call. Provide this to retrieve the subsequent
382+
// page.
383+
//
384+
// When paginating, all other parameters provided to
385+
// `ListRecurringAudienceLists` must match the call that provided the page
386+
// token.
387+
string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
388+
}
389+
390+
// A list of all recurring audience lists for a property.
391+
message ListRecurringAudienceListsResponse {
392+
// Each recurring audience list for a property.
393+
repeated RecurringAudienceList recurring_audience_lists = 1;
394+
395+
// A token, which can be sent as `page_token` to retrieve the next page.
396+
// If this field is omitted, there are no subsequent pages.
397+
optional string next_page_token = 2;
204398
}
205399

206400
// A request to retrieve configuration metadata about a specific audience list.
@@ -315,7 +509,7 @@ message AudienceList {
315509
// "Purchasers".
316510
string audience_display_name = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
317511

318-
// Required. The dimensions requested and displayed in the report response.
512+
// Required. The dimensions requested and displayed in the query response.
319513
repeated AudienceDimension dimensions = 4
320514
[(google.api.field_behavior) = REQUIRED];
321515

@@ -340,6 +534,19 @@ message AudienceList {
340534
// Output only. Error message is populated when an audience list fails during
341535
// creation. A common reason for such a failure is quota exhaustion.
342536
optional string error_message = 9 [(google.api.field_behavior) = OUTPUT_ONLY];
537+
538+
// Output only. The percentage completed for this audience export ranging
539+
// between 0 to 100.
540+
optional double percentage_completed = 11
541+
[(google.api.field_behavior) = OUTPUT_ONLY];
542+
543+
// Output only. The recurring audience list that created this audience list.
544+
// Recurring audience lists create audience lists daily.
545+
//
546+
// If audience lists are created directly, they will have no associated
547+
// recurring audience list, and this field will be blank.
548+
optional string recurring_audience_list = 12
549+
[(google.api.field_behavior) = OUTPUT_ONLY];
343550
}
344551

345552
// This metadata is currently blank.

0 commit comments

Comments
 (0)