generatePlayIntegrityChallenge method

Generates a challenge that protects the integrity of an immediately following integrity verdict request to the Play Integrity API.

The next call to ExchangePlayIntegrityToken using the resulting integrity token will verify the presence and validity of the challenge. A challenge should not be reused for multiple calls.

request - The metadata request object.

Request parameters:

app - Required. The relative resource name of the app, in the format: projects/{project_number}/apps/{app_id} If necessary, the project_number element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google's AIP 2510 standard. Value must have pattern ^projects/\[^/\]+/apps/\[^/\]+$.

$fields - Selector specifying which fields to include in a partial response.

Completes with a GoogleFirebaseAppcheckV1GeneratePlayIntegrityChallengeResponse.

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<GoogleFirebaseAppcheckV1GeneratePlayIntegrityChallengeResponse>
    generatePlayIntegrityChallenge(
  GoogleFirebaseAppcheckV1GeneratePlayIntegrityChallengeRequest request,
  core.String app, {
  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_ =
      'v1/' + core.Uri.encodeFull('$app') + ':generatePlayIntegrityChallenge';

  final response_ = await _requester.request(
    url_,
    'POST',
    body: body_,
    queryParams: queryParams_,
  );
  return GoogleFirebaseAppcheckV1GeneratePlayIntegrityChallengeResponse
      .fromJson(response_ as core.Map<core.String, core.dynamic>);
}