Poniżej znajdziesz omówienie możliwości metody interfejsu Realtime API do raportowania. interfejsu Google Analytics Data API v1. Szczegółowy opis interfejsu API znajdziesz w Dokumentacja API.
Zdarzenia pojawiają się w raportach w czasie rzeczywistym w ciągu kilku sekund od przesłania do Google. Google Analytics. Raporty Czas rzeczywisty pokazują zdarzenia i dane o korzystaniu w określonych przedziałach czasu od chwili obecnej do 30 minut temu (do 60 minut w przypadku Google usług w Analytics 360) i można ich używać w takich aplikacjach jak transmisje na żywo. z liczników użytkowników witryny.
Raporty w czasie rzeczywistym obsługują ograniczony podzbiór wymiarów i danych w porównaniu z funkcją podstawowego raportowania interfejsu Data API w wersji 1.
Udostępniane funkcje z podstawowymi raportami
Żądania raportu Czas rzeczywisty mają taką samą semantykę co żądania raportów podstawowych wiele wspólnych funkcji. Przykład: podział na strony, Filtry wymiarów i Właściwości użytkownika działają tak samo w raportach Czas rzeczywisty jako raporty podstawowe. Zapoznaj się z omówienie podstawowych funkcji raportowania w interfejsie Data API w wersji 1, , ponieważ w pozostałej części tego dokumentu skupiono się na funkcjach Żądania raportów w czasie rzeczywistym.
Prośba o raport
Aby żądać raportów w czasie rzeczywistym, możesz utworzyć RunRealtimeReportRequest obiektu. Zalecamy, aby zacząć od tych parametrów żądania:
- Co najmniej 1 prawidłowy wpis w polu dimensions.
- Co najmniej jeden prawidłowy wpis w polu dane.
Oto przykładowe żądanie z zalecanymi polami.
POST https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID:runRealtimeReport
{
"dimensions": [{ "name": "country" }],
"metrics": [{ "name": "activeUsers" }]
}
import com.google.analytics.data.v1beta.BetaAnalyticsDataClient;
import com.google.analytics.data.v1beta.Dimension;
import com.google.analytics.data.v1beta.DimensionHeader;
import com.google.analytics.data.v1beta.Metric;
import com.google.analytics.data.v1beta.MetricHeader;
import com.google.analytics.data.v1beta.Row;
import com.google.analytics.data.v1beta.RunRealtimeReportRequest;
import com.google.analytics.data.v1beta.RunRealtimeReportResponse;
/**
* Google Analytics Data API sample application demonstrating the creation of a realtime report.
*
* <p>See
* https://developers.google.com/analytics/devguides/reporting/data/v1/rest/v1beta/properties/runRealtimeReport
* for more information.
*
* <p>Before you start the application, please review the comments starting with "TODO(developer)"
* and update the code to use correct values.
*
* <p>To run this sample using Maven:
*
* <pre>{@code
* cd google-analytics-data
* mvn compile exec:java -Dexec.mainClass="com.google.analytics.data.samples.RunRealtimeReportSample"
* }</pre>
*/
public class RunRealtimeReportSample {
public static void main(String... args) throws Exception {
// TODO(developer): Replace with your Google Analytics 4 property ID before running the sample.
String propertyId = "YOUR-GA4-PROPERTY-ID";
sampleRunRealtimeReport(propertyId);
}
// Runs a realtime report on a Google Analytics 4 property.
static void sampleRunRealtimeReport(String propertyId) throws Exception {
// Initialize client that will be used to send requests. This client only needs to be created
// once, and can be reused for multiple requests. After completing all of your requests, call
// the "close" method on the client to safely clean up any remaining background resources.
try (BetaAnalyticsDataClient analyticsData = BetaAnalyticsDataClient.create()) {
RunRealtimeReportRequest request =
RunRealtimeReportRequest.newBuilder()
.setProperty("properties/" + propertyId)
.addDimensions(Dimension.newBuilder().setName("country"))
.addMetrics(Metric.newBuilder().setName("activeUsers"))
.build();
// Make the request.
RunRealtimeReportResponse response = analyticsData.runRealtimeReport(request);
printRunRealtimeReportResponse(response);
}
}
// Prints results of a runRealReport call.
static void printRunRealtimeReportResponse(RunRealtimeReportResponse response) {
System.out.printf("%s rows received%n", response.getRowsList().size());
for (DimensionHeader header : response.getDimensionHeadersList()) {
System.out.printf("Dimension header name: %s%n", header.getName());
}
for (MetricHeader header : response.getMetricHeadersList()) {
System.out.printf("Metric header name: %s (%s)%n", header.getName(), header.getType());
}
System.out.println("Report result:");
for (Row row : response.getRowsList()) {
System.out.printf(
"%s, %s%n", row.getDimensionValues(0).getValue(), row.getMetricValues(0).getValue());
}
}
}
use Google\Analytics\Data\V1beta\Client\BetaAnalyticsDataClient;
use Google\Analytics\Data\V1beta\Dimension;
use Google\Analytics\Data\V1beta\Metric;
use Google\Analytics\Data\V1beta\MetricType;
use Google\Analytics\Data\V1beta\RunRealtimeReportRequest;
use Google\Analytics\Data\V1beta\RunRealtimeReportResponse;
/**
* Runs a realtime report on a Google Analytics 4 property.
* @param string $propertyId Your GA-4 Property ID
*/
function run_realtime_report(string $propertyId)
{
// Create an instance of the Google Analytics Data API client library.
$client = new BetaAnalyticsDataClient();
// Make an API call.
$request = (new RunRealtimeReportRequest())
->setProperty('properties/' . $propertyId)
->setDimensions([new Dimension(['name' => 'country'])])
->setMetrics([new Metric(['name' => 'activeUsers'])]);
$response = $client->runRealtimeReport($request);
printRunRealtimeReportResponse($response);
}
/**
* Print results of a runRealtimeReport call.
* @param RunRealtimeReportResponse $response
*/
function printRunRealtimeReportResponse(RunRealtimeReportResponse $response)
{
printf('%s rows received%s', $response->getRowCount(), PHP_EOL);
foreach ($response->getDimensionHeaders() as $dimensionHeader) {
printf('Dimension header name: %s%s', $dimensionHeader->getName(), PHP_EOL);
}
foreach ($response->getMetricHeaders() as $metricHeader) {
printf(
'Metric header name: %s (%s)%s',
$metricHeader->getName(),
MetricType::name($metricHeader->getType()),
PHP_EOL
);
}
print 'Report result: ' . PHP_EOL;
foreach ($response->getRows() as $row) {
printf(
'%s %s' . PHP_EOL,
$row->getDimensionValues()[0]->getValue(),
$row->getMetricValues()[0]->getValue()
);
}
}
from google.analytics.data_v1beta import BetaAnalyticsDataClient
from google.analytics.data_v1beta.types import (
Dimension,
Metric,
RunRealtimeReportRequest,
)
from run_report import print_run_report_response
def run_sample():
"""Runs the sample."""
# TODO(developer): Replace this variable with your Google Analytics 4
# property ID before running the sample.
property_id = "YOUR-GA4-PROPERTY-ID"
run_realtime_report(property_id)
def run_realtime_report(property_id="YOUR-GA4-PROPERTY-ID"):
"""Runs a realtime report on a Google Analytics 4 property."""
client = BetaAnalyticsDataClient()
request = RunRealtimeReportRequest(
property=f"properties/{property_id}",
dimensions=[Dimension(name="country")],
metrics=[Metric(name="activeUsers")],
)
response = client.run_realtime_report(request)
print_run_report_response(response)
/**
* TODO(developer): Uncomment this variable and replace with your GA4
* property ID before running the sample.
*/
// propertyId = 'YOUR-GA4-PROPERTY-ID';
// Imports the Google Analytics Data API client library.
const {BetaAnalyticsDataClient} = require('@google-analytics/data');
// Creates a client.
const analyticsDataClient = new BetaAnalyticsDataClient();
// Runs a realtime report on a Google Analytics 4 property.
async function runRealtimeReport() {
const [response] = await analyticsDataClient.runRealtimeReport({
property: `properties/${propertyId}`,
dimensions: [
{
name: 'country',
},
],
metrics: [
{
name: 'activeUsers',
},
],
});
printRunReportResponse(response);
}
runRealtimeReport();
// Prints results of a runReport call.
function printRunReportResponse(response) {
console.log(`${response.rowCount} rows received`);
response.dimensionHeaders.forEach(dimensionHeader => {
console.log(`Dimension header name: ${dimensionHeader.name}`);
});
response.metricHeaders.forEach(metricHeader => {
console.log(
`Metric header name: ${metricHeader.name} (${metricHeader.type})`
);
});
console.log('Report result:');
response.rows.forEach(row => {
console.log(
`${row.dimensionValues[0].value}, ${row.metricValues[0].value}`
);
});
}
Zgłoś odpowiedź
Odpowiedź na raport Czas rzeczywisty żądania API to głównie nagłówek i wiersze. Nagłówek składa się z: DimensionHeaders i MetricHeaders; która zawiera listę kolumn w raporcie. Każdy wiersz zawiera parametr DimensionValues i MetricValues dla kolumn w raport. Kolejność kolumn jest taka sama w żądaniu, nagłówku i każdy wiersz.
Przykładowa odpowiedź na powyższe żądanie:
{
"dimensionHeaders": [
{
"name": "country"
}
],
"metricHeaders": [
{
"name": "activeUsers",
"type": "TYPE_INTEGER"
}
],
"rows": [
{
"dimensionValues": [
{
"value": "Japan"
}
],
"metricValues": [
{
"value": "2541"
}
]
},
{
"dimensionValues": [
{
"value": "France"
}
],
"metricValues": [
{
"value": "12"
}
]
}
],
"rowCount": 2
}
Wymiary
Wymiary opisują i grupują dane o zdarzeniach w ramach
witrynie lub aplikacji. np. wymiar city
wskazuje miasto („Paryż”)
lub „Nowy Jork”), z którego pochodzi każde zdarzenie. W żądaniu raportu możesz
określić zero lub więcej wymiarów. Zobacz wymiary w czasie rzeczywistym.
.
Na przykład to żądanie grupuje aktywnych użytkowników w 2 kolumnach wymiarów:
POST https://analyticsdata.googleapis.com/v1beta/property/GA_PROPERTY_ID:runRealtimeReport
{
"dimensions": [
{
"name": "country"
},
{
"name": "city"
}
],
"metrics": [{ "name": "activeUsers" }]
}
import com.google.analytics.data.v1beta.BetaAnalyticsDataClient;
import com.google.analytics.data.v1beta.Dimension;
import com.google.analytics.data.v1beta.Metric;
import com.google.analytics.data.v1beta.RunRealtimeReportRequest;
import com.google.analytics.data.v1beta.RunRealtimeReportResponse;
/**
* Google Analytics Data API sample application demonstrating the creation of a realtime report.
*
* <p>See
* https://developers.google.com/analytics/devguides/reporting/data/v1/rest/v1beta/properties/runRealtimeReport
* for more information.
*
* <p>Before you start the application, please review the comments starting with "TODO(developer)"
* and update the code to use correct values.
*
* <p>To run this sample using Maven:
*
* <pre>{@code
* cd google-analytics-data
* mvn compile exec:java -Dexec.mainClass="com.google.analytics.data.samples.RunRealtimeReportWithMultipleDimensionsSample"
* }</pre>
*/
public class RunRealtimeReportWithMultipleDimensionsSample {
public static void main(String... args) throws Exception {
// TODO(developer): Replace with your Google Analytics 4 property ID before running the sample.
String propertyId = "YOUR-GA4-PROPERTY-ID";
sampleRunRealtimeReportWithMultipleDimensions(propertyId);
}
// Runs a realtime report on a Google Analytics 4 property.
static void sampleRunRealtimeReportWithMultipleDimensions(String propertyId) throws Exception {
// Initialize client that will be used to send requests. This client only needs to be created
// once, and can be reused for multiple requests. After completing all of your requests, call
// the "close" method on the client to safely clean up any remaining background resources.
try (BetaAnalyticsDataClient analyticsData = BetaAnalyticsDataClient.create()) {
RunRealtimeReportRequest request =
RunRealtimeReportRequest.newBuilder()
.setProperty("properties/" + propertyId)
.addDimensions(Dimension.newBuilder().setName("country"))
.addDimensions(Dimension.newBuilder().setName(("city")))
.addMetrics(Metric.newBuilder().setName("activeUsers"))
.build();
// Make the request.
RunRealtimeReportResponse response = analyticsData.runRealtimeReport(request);
// Prints the response using a method in RunRealtimeReportSample.java
RunRealtimeReportSample.printRunRealtimeReportResponse(response);
}
}
}
use Google\Analytics\Data\V1beta\Client\BetaAnalyticsDataClient;
use Google\Analytics\Data\V1beta\Dimension;
use Google\Analytics\Data\V1beta\Metric;
use Google\Analytics\Data\V1beta\MetricType;
use Google\Analytics\Data\V1beta\RunRealtimeReportRequest;
use Google\Analytics\Data\V1beta\RunRealtimeReportResponse;
/**
* Runs a realtime report on a Google Analytics 4 property.
* @param string $propertyId Your GA-4 Property ID
*/
function run_realtime_report_with_multiple_dimensions(string $propertyId)
{
// Create an instance of the Google Analytics Data API client library.
$client = new BetaAnalyticsDataClient();
// Make an API call.
$request = (new RunRealtimeReportRequest())
->setProperty('properties/' . $propertyId)
->setDimensions([
new Dimension(['name' => 'country']),
new Dimension(['name' => 'city']),
])
->setMetrics([new Metric(['name' => 'activeUsers'])]);
$response = $client->runRealtimeReport($request);
printRunRealtimeReportWithMultipleDimensionsResponse($response);
}
/**
* Print results of a runRealtimeReport call.
* @param RunRealtimeReportResponse $response
*/
function printRunRealtimeReportWithMultipleDimensionsResponse(RunRealtimeReportResponse $response)
{
printf('%s rows received%s', $response->getRowCount(), PHP_EOL);
foreach ($response->getDimensionHeaders() as $dimensionHeader) {
printf('Dimension header name: %s%s', $dimensionHeader->getName(), PHP_EOL);
}
foreach ($response->getMetricHeaders() as $metricHeader) {
printf(
'Metric header name: %s (%s)%s',
$metricHeader->getName(),
MetricType::name($metricHeader->getType()),
PHP_EOL
);
}
print 'Report result: ' . PHP_EOL;
foreach ($response->getRows() as $row) {
printf(
'%s %s' . PHP_EOL,
$row->getDimensionValues()[0]->getValue(),
$row->getMetricValues()[0]->getValue()
);
}
}
from google.analytics.data_v1beta import BetaAnalyticsDataClient
from google.analytics.data_v1beta.types import (
Dimension,
Metric,
RunRealtimeReportRequest,
)
from run_report import print_run_report_response
def run_sample():
"""Runs the sample."""
# TODO(developer): Replace this variable with your Google Analytics 4
# property ID before running the sample.
property_id = "YOUR-GA4-PROPERTY-ID"
run_realtime_report_with_multiple_dimensions(property_id)
def run_realtime_report_with_multiple_dimensions(property_id="YOUR-GA4-PROPERTY-ID"):
"""Runs a realtime report on a Google Analytics 4 property."""
client = BetaAnalyticsDataClient()
request = RunRealtimeReportRequest(
property=f"properties/{property_id}",
dimensions=[Dimension(name="country"), Dimension(name="city")],
metrics=[Metric(name="activeUsers")],
)
response = client.run_realtime_report(request)
print_run_report_response(response)
/**
* TODO(developer): Uncomment this variable and replace with your GA4
* property ID before running the sample.
*/
// propertyId = 'YOUR-GA4-PROPERTY-ID';
// Imports the Google Analytics Data API client library.
const {BetaAnalyticsDataClient} = require('@google-analytics/data');
// Initialize client that will be used to send requests. This client only
// needs to be created once, and can be reused for multiple requests.
const analyticsDataClient = new BetaAnalyticsDataClient();
// Runs a realtime report on a Google Analytics 4 property.
async function runRealtimeReportWithMultipleDimensions() {
const [response] = await analyticsDataClient.runRealtimeReport({
property: `properties/${propertyId}`,
dimensions: [
{
name: 'country',
},
{
name: 'city',
},
],
metrics: [
{
name: 'activeUsers',
},
],
});
printRunReportResponse(response);
}
runRealtimeReportWithMultipleDimensions();
// Prints results of a runReport call.
function printRunReportResponse(response) {
console.log(`${response.rowCount} rows received`);
response.dimensionHeaders.forEach(dimensionHeader => {
console.log(`Dimension header name: ${dimensionHeader.name}`);
});
response.metricHeaders.forEach(metricHeader => {
console.log(
`Metric header name: ${metricHeader.name} (${metricHeader.type})`
);
});
console.log('Report result:');
response.rows.forEach(row => {
console.log(
`${row.dimensionValues[0].value}, ${row.metricValues[0].value}`
);
});
}
Wiersz w odpowiedzi raportu może np. zawierać następującą treść: Ten wiersz oznacza 47 aktywnych użytkowników Twojej witryny lub aplikacji ze zdarzeniami z przylądka Cape Miasto w RPA w ciągu ostatnich 30 minut.
"rows": [
...
{
"dimensionValues": [
{
"value": "South Africa"
},
{
"value": "Cape Town"
}
],
"metricValues": [
{
"value": "47"
}
]
},
...
],
Dane
Dane to ilościowe pomiary danych zdarzeń związanych z: do witryny lub aplikacji. W żądaniu raportu możesz określić co najmniej 1 rodzaj danych. Pełną listę interfejsów API znajdziesz na stronie Dane czasu rzeczywistego. Nazwy danych dostępne w żądaniach.
To żądanie wyświetli na przykład 2 rodzaje danych pogrupowane według wymiaru
unifiedScreenName
:
POST https://analyticsdata.googleapis.com/v1beta/property/GA_PROPERTY_ID:runRealtimeReport
{
"dimensions": [{ "name": "unifiedScreenName" }],
"metrics": [
{
"name": "screenPageViews"
},
{
"name": "keyEvents"
}
],
}
import com.google.analytics.data.v1beta.BetaAnalyticsDataClient;
import com.google.analytics.data.v1beta.Dimension;
import com.google.analytics.data.v1beta.Metric;
import com.google.analytics.data.v1beta.RunRealtimeReportRequest;
import com.google.analytics.data.v1beta.RunRealtimeReportResponse;
/**
* Google Analytics Data API sample application demonstrating the creation of a realtime report.
*
* <p>See
* https://developers.google.com/analytics/devguides/reporting/data/v1/rest/v1beta/properties/runRealtimeReport
* for more information.
*
* <p>Before you start the application, please review the comments starting with "TODO(developer)"
* and update the code to use correct values.
*
* <p>To run this sample using Maven:
*
* <pre>{@code
* cd google-analytics-data
* mvn compile exec:java -Dexec.mainClass="com.google.analytics.data.samples.RunRealtimeReportWithMultipleMetricsSample"
* }</pre>
*/
public class RunRealtimeReportWithMultipleMetricsSample {
public static void main(String... args) throws Exception {
// TODO(developer): Replace with your Google Analytics 4 property ID before running the sample.
String propertyId = "YOUR-GA4-PROPERTY-ID";
sampleRunRealtimeReportWithMultipleMetrics(propertyId);
}
// Runs a realtime report on a Google Analytics 4 property.
static void sampleRunRealtimeReportWithMultipleMetrics(String propertyId) throws Exception {
// Initialize client that will be used to send requests. This client only needs to be created
// once, and can be reused for multiple requests. After completing all of your requests, call
// the "close" method on the client to safely clean up any remaining background resources.
try (BetaAnalyticsDataClient analyticsData = BetaAnalyticsDataClient.create()) {
RunRealtimeReportRequest request =
RunRealtimeReportRequest.newBuilder()
.setProperty("properties/" + propertyId)
.addDimensions(Dimension.newBuilder().setName("unifiedScreenName"))
.addMetrics(Metric.newBuilder().setName(("screenPageViews")))
.addMetrics(Metric.newBuilder().setName("keyEvents"))
.build();
// Make the request.
RunRealtimeReportResponse response = analyticsData.runRealtimeReport(request);
// Prints the response using a method in RunRealtimeReportSample.java
RunRealtimeReportSample.printRunRealtimeReportResponse(response);
}
}
}
use Google\Analytics\Data\V1beta\Client\BetaAnalyticsDataClient;
use Google\Analytics\Data\V1beta\Dimension;
use Google\Analytics\Data\V1beta\Metric;
use Google\Analytics\Data\V1beta\MetricType;
use Google\Analytics\Data\V1beta\RunRealtimeReportRequest;
use Google\Analytics\Data\V1beta\RunRealtimeReportResponse;
/**
* Runs a realtime report on a Google Analytics 4 property.
* @param string $propertyId Your GA-4 Property ID
*/
function run_realtime_report_with_multiple_metrics(string $propertyId)
{
// Create an instance of the Google Analytics Data API client library.
$client = new BetaAnalyticsDataClient();
// Make an API call.
$request = (new RunRealtimeReportRequest())
->setProperty('properties/' . $propertyId)
->setDimensions([new Dimension(['name' => 'unifiedScreenName'])])
->setMetrics([
new Metric(['name' => 'screenPageViews']),
new Metric(['name' => 'keyEvents']),
]);
$response = $client->runRealtimeReport($request);
printRunRealtimeReportWithMultipleMetricsResponse($response);
}
/**
* Print results of a runRealtimeReport call.
* @param RunRealtimeReportResponse $response
*/
function printRunRealtimeReportWithMultipleMetricsResponse(RunRealtimeReportResponse $response)
{
printf('%s rows received%s', $response->getRowCount(), PHP_EOL);
foreach ($response->getDimensionHeaders() as $dimensionHeader) {
printf('Dimension header name: %s%s', $dimensionHeader->getName(), PHP_EOL);
}
foreach ($response->getMetricHeaders() as $metricHeader) {
printf(
'Metric header name: %s (%s)%s',
$metricHeader->getName(),
MetricType::name($metricHeader->getType()),
PHP_EOL
);
}
print 'Report result: ' . PHP_EOL;
foreach ($response->getRows() as $row) {
printf(
'%s %s' . PHP_EOL,
$row->getDimensionValues()[0]->getValue(),
$row->getMetricValues()[0]->getValue()
);
}
}
from google.analytics.data_v1beta import BetaAnalyticsDataClient
from google.analytics.data_v1beta.types import (
Dimension,
Metric,
RunRealtimeReportRequest,
)
from run_report import print_run_report_response
def run_sample():
"""Runs the sample."""
# TODO(developer): Replace this variable with your Google Analytics 4
# property ID before running the sample.
property_id = "YOUR-GA4-PROPERTY-ID"
run_realtime_report_with_multiple_metrics(property_id)
def run_realtime_report_with_multiple_metrics(property_id="YOUR-GA4-PROPERTY-ID"):
"""Runs a realtime report on a Google Analytics 4 property."""
client = BetaAnalyticsDataClient()
request = RunRealtimeReportRequest(
property=f"properties/{property_id}",
dimensions=[Dimension(name="unifiedScreenName")],
metrics=[Metric(name="screenPageViews"), Metric(name="keyEvents")],
)
response = client.run_realtime_report(request)
print_run_report_response(response)
/**
* TODO(developer): Uncomment this variable and replace with your GA4
* property ID before running the sample.
*/
// propertyId = 'YOUR-GA4-PROPERTY-ID';
// Imports the Google Analytics Data API client library.
const {BetaAnalyticsDataClient} = require('@google-analytics/data');
// Creates a client.
const analyticsDataClient = new BetaAnalyticsDataClient();
// Runs a realtime report on a Google Analytics 4 property.
async function runRealtimeReportWithMultipleMetrics() {
const [response] = await analyticsDataClient.runRealtimeReport({
// The property parameter value must be in the form `properties/1234`
// where `1234` is a GA4 property Id.
property: `properties/${propertyId}`,
dimensions: [
{
name: 'unifiedScreenName',
},
],
metrics: [
{
name: 'screenPageViews',
},
{
name: 'keyEvents',
},
],
});
printRunReportResponse(response);
}
runRealtimeReportWithMultipleMetrics();
// Prints results of a runReport call.
function printRunReportResponse(response) {
console.log(`${response.rowCount} rows received`);
response.dimensionHeaders.forEach(dimensionHeader => {
console.log(`Dimension header name: ${dimensionHeader.name}`);
});
response.metricHeaders.forEach(metricHeader => {
console.log(
`Metric header name: ${metricHeader.name} (${metricHeader.type})`
);
});
console.log('Report result:');
response.rows.forEach(row => {
console.log(
`${row.dimensionValues[0].value}, ${row.metricValues[0].value}`
);
});
}
Wiersz w odpowiedzi raportu może na przykład zawierać te fragmenty: Ten wiersz
oznacza, że w przypadku tytułu strony (internetowej) lub nazwy ekranu (aplikacji) na main_menu
było 257 wyświetleń i 72 kluczowe zdarzenia w ciągu ostatnich 30 minut.
"rows": [
...
{
"dimensionValues": [
{
"value": "main_menu"
}
],
"metricValues": [
{
"value": "257"
},
{
"value": "72"
}
]
},
...
],
Zakresy minut
W żądaniu raportu Czas rzeczywisty możesz użyć parametru minuteRanges pole do określania zakresów minut danych zdarzeń do odczytu. W zapytaniu można użyć maksymalnie 2 osobnych zakresów minut. Jeśli w zapytaniu nie ma specyfikacji zakresu minut, 1-minutowy zakres dla użyjemy ostatnich 30 minut.
Na przykład w poniższym żądaniu pojawi się liczba aktywnych użytkowników w 2 osobnych minutach zakresy:
- Zakres 1: od 4 minut do chwili obecnej.
Zakres 2: od 29 minut temu do 25 minut temu (włącznie).
POST https://analyticsdata.googleapis.com/v1beta/property/GA_PROPERTY_ID:runRealtimeReport
{
"metrics": [
{
"name": "activeUsers"
}
],
"minuteRanges": [
{
"name": "0-4 minutes ago",
"startMinutesAgo": 4,
},
{
"name": "25-29 minutes ago",
"startMinutesAgo": 29,
"endMinutesAgo": 25,
}
],
}
import com.google.analytics.data.v1beta.BetaAnalyticsDataClient;
import com.google.analytics.data.v1beta.Metric;
import com.google.analytics.data.v1beta.MinuteRange;
import com.google.analytics.data.v1beta.RunRealtimeReportRequest;
import com.google.analytics.data.v1beta.RunRealtimeReportResponse;
/**
* Google Analytics Data API sample application demonstrating the creation of a realtime report.
*
* <p>See
* https://developers.google.com/analytics/devguides/reporting/data/v1/rest/v1beta/properties/runRealtimeReport
* for more information.
*
* <p>Before you start the application, please review the comments starting with "TODO(developer)"
* and update the code to use correct values.
*
* <p>To run this sample using Maven:
*
* <pre>{@code
* cd google-analytics-data
* mvn compile exec:java -Dexec.mainClass="com.google.analytics.data.samples.RunRealtimeReportWithMinuteRangesSample"
* }</pre>
*/
public class RunRealtimeReportWithMinuteRangesSample {
public static void main(String... args) throws Exception {
// TODO(developer): Replace with your Google Analytics 4 property ID before running the sample.
String propertyId = "YOUR-GA4-PROPERTY-ID";
sampleRunRealtimeReportWithMinuteRanges(propertyId);
}
// Runs a realtime report on a Google Analytics 4 property.
static void sampleRunRealtimeReportWithMinuteRanges(String propertyId) throws Exception {
// Initialize client that will be used to send requests. This client only needs to be created
// once, and can be reused for multiple requests. After completing all of your requests, call
// the "close" method on the client to safely clean up any remaining background resources.
try (BetaAnalyticsDataClient analyticsData = BetaAnalyticsDataClient.create()) {
RunRealtimeReportRequest request =
RunRealtimeReportRequest.newBuilder()
.setProperty("properties/" + propertyId)
.addMetrics(Metric.newBuilder().setName(("activeUsers")))
.addMinuteRanges(
MinuteRange.newBuilder().setName("0-4 minutes ago").setStartMinutesAgo(4))
.addMinuteRanges(
MinuteRange.newBuilder()
.setName("25-29 minutes ago")
.setEndMinutesAgo(29)
.setEndMinutesAgo(25))
.build();
// Make the request.
RunRealtimeReportResponse response = analyticsData.runRealtimeReport(request);
// Prints the response using a method in RunRealtimeReportSample.java
RunRealtimeReportSample.printRunRealtimeReportResponse(response);
}
}
}
use Google\Analytics\Data\V1beta\Client\BetaAnalyticsDataClient;
use Google\Analytics\Data\V1beta\Metric;
use Google\Analytics\Data\V1beta\MetricType;
use Google\Analytics\Data\V1beta\MinuteRange;
use Google\Analytics\Data\V1beta\RunRealtimeReportRequest;
use Google\Analytics\Data\V1beta\RunRealtimeReportResponse;
/**
* Runs a realtime report on a Google Analytics 4 property. Dimensions field is
* omitted in the query, which results in total values of active users returned
* for each minute range in the report.
*
* Note the `dateRange` dimension added to the report response automatically as
* a result of querying multiple minute ranges.
* @param string $propertyId Your GA-4 Property ID
*/
function run_realtime_report_with_minute_ranges(string $propertyId)
{
// Create an instance of the Google Analytics Data API client library.
$client = new BetaAnalyticsDataClient();
// Make an API call.
$request = (new RunRealtimeReportRequest())
->setProperty('properties/' . $propertyId)
->setMetrics([
new Metric(['name' => 'activeUsers']),
])
->setMinuteRanges([
new MinuteRange(['name' => '0-4 minutes ago', 'start_minutes_ago' => 4]),
new MinuteRange(['name' => '25-29 minutes ago', 'start_minutes_ago' => 29, 'end_minutes_ago' => 25]),
]);
$response = $client->runRealtimeReport($request);
printRunRealtimeReportWithMinuteRangesResponse($response);
}
/**
* Print results of a runRealtimeReport call.
* @param RunRealtimeReportResponse $response
*/
function printRunRealtimeReportWithMinuteRangesResponse(RunRealtimeReportResponse $response)
{
printf('%s rows received%s', $response->getRowCount(), PHP_EOL);
foreach ($response->getDimensionHeaders() as $dimensionHeader) {
printf('Dimension header name: %s%s', $dimensionHeader->getName(), PHP_EOL);
}
foreach ($response->getMetricHeaders() as $metricHeader) {
printf(
'Metric header name: %s (%s)%s',
$metricHeader->getName(),
MetricType::name($metricHeader->getType()),
PHP_EOL
);
}
print 'Report result: ' . PHP_EOL;
foreach ($response->getRows() as $row) {
printf(
'%s %s' . PHP_EOL,
$row->getDimensionValues()[0]->getValue(),
$row->getMetricValues()[0]->getValue()
);
}
}
from google.analytics.data_v1beta import BetaAnalyticsDataClient
from google.analytics.data_v1beta.types import (
Metric,
MinuteRange,
RunRealtimeReportRequest,
)
from run_report import print_run_report_response
def run_sample():
"""Runs the sample."""
# TODO(developer): Replace this variable with your Google Analytics 4
# property ID before running the sample.
property_id = "YOUR-GA4-PROPERTY-ID"
run_realtime_report_with_minute_ranges(property_id)
def run_realtime_report_with_minute_ranges(property_id="YOUR-GA4-PROPERTY-ID"):
"""Runs a realtime report on a Google Analytics 4 property. Dimensions
field is omitted in the query, which results in total values of active users
returned for each minute range in the report.
Note the `dateRange` dimension added to the report response automatically
as a result of querying multiple minute ranges.
"""
client = BetaAnalyticsDataClient()
request = RunRealtimeReportRequest(
property=f"properties/{property_id}",
metrics=[Metric(name="activeUsers")],
minute_ranges=[
MinuteRange(name="0-4 minutes ago", start_minutes_ago=4),
MinuteRange(
name="25-29 minutes ago", start_minutes_ago=29, end_minutes_ago=25
),
],
)
response = client.run_realtime_report(request)
print_run_report_response(response)
// TODO(developer): Uncomment this variable and replace with your
// Google Analytics 4 property ID before running the sample.
// propertyId = 'YOUR-GA4-PROPERTY-ID';
// Imports the Google Analytics Data API client library.
const {BetaAnalyticsDataClient} = require('@google-analytics/data');
// Initialize client that will be used to send requests. This client only
// needs to be created once, and can be reused for multiple requests.
const analyticsDataClient = new BetaAnalyticsDataClient();
// Runs a report using two date ranges.
async function runRealtimeReportWithMinuteRanges() {
const [response] = await analyticsDataClient.runRealtimeReport({
property: `properties/${propertyId}`,
minuteRanges: [
{
name: '0-4 minutes ago',
startMinutesAgo: 4,
endMinutesAgo: 0,
},
{
name: '25-29 minutes ago',
startMinutesAgo: 29,
endMinutesAgo: 25,
},
],
metrics: [
{
name: 'activeUsers',
},
],
});
printRunReportResponse(response);
}
runRealtimeReportWithMinuteRanges();
// Prints results of a runReport call.
function printRunReportResponse(response) {
console.log(`${response.rowCount} rows received`);
response.dimensionHeaders.forEach(dimensionHeader => {
console.log(`Dimension header name: ${dimensionHeader.name}`);
});
response.metricHeaders.forEach(metricHeader => {
console.log(
`Metric header name: ${metricHeader.name} (${metricHeader.type})`
);
});
console.log('Report result:');
response.rows.forEach(row => {
console.log(
`${row.dimensionValues[0].value}, ${row.metricValues[0].value}`
);
});
}
Poniżej znajdziesz pełną przykładową odpowiedź na zapytanie. Zwróć uwagę na
Automatycznie dodano dateRange
wymiar do odpowiedzi na raport
w wyniku zapytań dotyczących wielominutowych zakresów.
{
"dimensionHeaders": [
{
"name": "dateRange"
}
],
"metricHeaders": [
{
"name": "activeUsers",
"type": "TYPE_INTEGER"
}
],
"rows": [
{
"dimensionValues": [
{
"value": "0-4 minutes ago"
}
],
"metricValues": [
{
"value": "16"
}
]
},
{
"dimensionValues": [
{
"value": "25-29 minutes ago"
}
],
"metricValues": [
{
"value": "14"
}
]
}
],
"rowCount": 2,
"kind": "analyticsData#runRealtimeReport"
}