# Generated by the protocol buffer compiler.  DO NOT EDIT!
# Source: google/analytics/data/v1beta/analytics_data_api.proto for package 'google.analytics.data.v1beta'
# Original file comments:
# 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.
#

require 'grpc'
require 'google/analytics/data/v1beta/analytics_data_api_pb'

module Google
  module Analytics
    module Data
      module V1beta
        module BetaAnalyticsData
          # Google Analytics reporting data service.
          class Service

            include ::GRPC::GenericService

            self.marshal_class_method = :encode
            self.unmarshal_class_method = :decode
            self.service_name = 'google.analytics.data.v1beta.BetaAnalyticsData'

            # Returns a customized report of your Google Analytics event data. Reports
            # contain statistics derived from data collected by the Google Analytics
            # tracking code. The data returned from the API is as a table with columns
            # for the requested dimensions and metrics. Metrics are individual
            # measurements of user activity on your property, such as active users or
            # event count. Dimensions break down metrics across some common criteria,
            # such as country or event name.
            rpc :RunReport, ::Google::Analytics::Data::V1beta::RunReportRequest, ::Google::Analytics::Data::V1beta::RunReportResponse
            # Returns a customized pivot report of your Google Analytics event data.
            # Pivot reports are more advanced and expressive formats than regular
            # reports. In a pivot report, dimensions are only visible if they are
            # included in a pivot. Multiple pivots can be specified to further dissect
            # your data.
            rpc :RunPivotReport, ::Google::Analytics::Data::V1beta::RunPivotReportRequest, ::Google::Analytics::Data::V1beta::RunPivotReportResponse
            # Returns multiple reports in a batch. All reports must be for the same
            # GA4 Property.
            rpc :BatchRunReports, ::Google::Analytics::Data::V1beta::BatchRunReportsRequest, ::Google::Analytics::Data::V1beta::BatchRunReportsResponse
            # Returns multiple pivot reports in a batch. All reports must be for the same
            # GA4 Property.
            rpc :BatchRunPivotReports, ::Google::Analytics::Data::V1beta::BatchRunPivotReportsRequest, ::Google::Analytics::Data::V1beta::BatchRunPivotReportsResponse
            # Returns metadata for dimensions and metrics available in reporting methods.
            # Used to explore the dimensions and metrics. In this method, a Google
            # Analytics GA4 Property Identifier is specified in the request, and
            # the metadata response includes Custom dimensions and metrics as well as
            # Universal metadata.
            #
            # For example if a custom metric with parameter name `levels_unlocked` is
            # registered to a property, the Metadata response will contain
            # `customEvent:levels_unlocked`. Universal metadata are dimensions and
            # metrics applicable to any property such as `country` and `totalUsers`.
            rpc :GetMetadata, ::Google::Analytics::Data::V1beta::GetMetadataRequest, ::Google::Analytics::Data::V1beta::Metadata
            # The Google Analytics Realtime API returns a customized report of realtime
            # event data for your property. These reports show events and usage from the
            # last 30 minutes.
            rpc :RunRealtimeReport, ::Google::Analytics::Data::V1beta::RunRealtimeReportRequest, ::Google::Analytics::Data::V1beta::RunRealtimeReportResponse
            # This compatibility method lists dimensions and metrics that can be added to
            # a report request and maintain compatibility. This method fails if the
            # request's dimensions and metrics are incompatible.
            #
            # In Google Analytics, reports fail if they request incompatible dimensions
            # and/or metrics; in that case, you will need to remove dimensions and/or
            # metrics from the incompatible report until the report is compatible.
            #
            # The Realtime and Core reports have different compatibility rules. This
            # method checks compatibility for Core reports.
            rpc :CheckCompatibility, ::Google::Analytics::Data::V1beta::CheckCompatibilityRequest, ::Google::Analytics::Data::V1beta::CheckCompatibilityResponse
          end

          Stub = Service.rpc_stub_class
        end
      end
    end
  end
end