addGoogleAnalytics method
- AddGoogleAnalyticsRequest request,
- String parent, {
- String? $fields,
Links the specified FirebaseProject with an existing Google Analytics account.
Using this call, you can either: - Specify an analyticsAccountId
to
provision a new Google Analytics property within the specified account and
associate the new property with the FirebaseProject
. - Specify an
existing analyticsPropertyId
to associate the property with the
FirebaseProject
. Note that when you call AddGoogleAnalytics
: 1. The
first check determines if any existing data streams in the Google
Analytics property correspond to any existing Firebase Apps in the
FirebaseProject
(based on the packageName
or bundleId
associated
with the data stream). Then, as applicable, the data streams and apps are
linked. Note that this auto-linking only applies to AndroidApps
and
IosApps
. 2. If no corresponding data streams are found for the Firebase
Apps, new data streams are provisioned in the Google Analytics property
for each of the Firebase Apps. Note that a new data stream is always
provisioned for a Web App even if it was previously associated with a data
stream in the Analytics property. Learn more about the hierarchy and
structure of Google Analytics accounts in the
Analytics documentation.
The result of this call is an [Operation
](../../v1beta1/operations).
Poll the Operation
to track the provisioning process by calling
GetOperation until
[done
](../../v1beta1/operations#Operation.FIELDS.done) is true
. When
done
is true
, the Operation
has either succeeded or failed. If the
Operation
succeeded, its
[response
](../../v1beta1/operations#Operation.FIELDS.response) is set
to an AnalyticsDetails; if the Operation
failed, its
[error
](../../v1beta1/operations#Operation.FIELDS.error) is set to a
google.rpc.Status. To call AddGoogleAnalytics
, a project member must be
an Owner for the existing FirebaseProject
and have the [Edit
permission](https://support.google.com/analytics/answer/2884495) for the
Google Analytics account. If the FirebaseProject
already has Google
Analytics enabled, and you call AddGoogleAnalytics
using an
analyticsPropertyId
that's different from the currently associated
property, then the call will fail. Analytics may have already been enabled
in the Firebase console or by specifying timeZone
and regionCode
in
the call to [AddFirebase
](../../v1beta1/projects/addFirebase).
request
- The metadata request object.
Request parameters:
parent
- The resource name of the FirebaseProject to link to an existing
Google Analytics account, in the format: projects/PROJECT_IDENTIFIER Refer
to the FirebaseProject
[name
](../projects#FirebaseProject.FIELDS.name) field for details
about PROJECT_IDENTIFIER values.
Value must have pattern ^projects/\[^/\]+$
.
$fields
- Selector specifying which fields to include in a partial
response.
Completes with a Operation.
Completes with a commons.ApiRequestError if the API endpoint returned an error.
If the used http.Client
completes with an error when making a REST call,
this method will complete with the same error.
Implementation
async.Future<Operation> addGoogleAnalytics(
AddGoogleAnalyticsRequest request,
core.String parent, {
core.String? $fields,
}) async {
final body_ = convert.json.encode(request);
final queryParams_ = <core.String, core.List<core.String>>{
if ($fields != null) 'fields': [$fields],
};
final url_ =
'v1beta1/' + core.Uri.encodeFull('$parent') + ':addGoogleAnalytics';
final response_ = await _requester.request(
url_,
'POST',
body: body_,
queryParams: queryParams_,
);
return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>);
}