Z tego przewodnika dowiesz się, jak wysyłać zdarzenia ze strumieni danych z sieci i aplikacji na platformie Google Analytics Measurement Protocol na serwer Google Analytics, aby móc wyświetlać zdarzenia Measurement Protocol w raportach Google Analytics.
Wybierz platformę, którą chcesz zobaczyć w tym przewodniku:
Formatowanie żądania
Platforma Google Analytics Measurement Protocol obsługuje tylko żądania HTTPPOST.
Aby wysłać zdarzenie, użyj tego formatu:
POST /mp/collect HTTP/1.1
HOST: www.google-analytics.com
Content-Type: application/json
PAYLOAD_DATA
W adresie URL żądania musisz podać te parametry:
api_secret: TAJNY KLUCZ API wygenerowany w interfejsie Google Analytics.Aby utworzyć nowy tajny klucz, kliknij kolejno Administracja > Zbieranie i modyfikowanie danych > Strumienie danych > wybierz swój strumień > Tajne klucze API Measurement Protocol > Utwórz.
firebase_app_id: identyfikator aplikacji Firebase, który znajdziesz w konsoli Firebase w sekcji Ustawienia projektu > Ogólne > Twoje aplikacje > Identyfikator aplikacji.Wartość właściwości
firebase_app_idnie może być identyczna z wartością właściwościapp_instance_id.firebase_app_ididentyfikuje Twoją aplikację, aapp_instance_ididentyfikuje pojedynczą instalację aplikacji.
W przypadku protokołu pomiarowego musisz podać treść żądania w formacie treści żądania POST w formacie JSON. Oto przykład:
  {
   "app_instance_id": "APP_INSTANCE_ID",
   "events": [
      {
        "name": "login",
        "params": {
          "method": "Google",
          "session_id": "SESSION_ID",
          "engagement_time_msec": 100
        }
      }
   ]
  }
Chociaż session_start to zarezerwowana nazwa zdarzenia, utworzenie nowego parametru session_id powoduje utworzenie nowej sesji bez konieczności wysyłania parametru session_start. Dowiedz się, jak zliczane są sesje.
Wypróbuj
Oto przykład, którego możesz użyć do wysyłania wielu zdarzeń jednocześnie. Ten przykład wysyła do serwera Google Analytics zdarzenie tutorial_begin i zdarzenie join_group, zawiera informacje geograficzne za pomocą pola user_location oraz informacje o urządzeniu za pomocą pola device.
const firebaseAppId = "FIREBASE_APP_ID";
const apiSecret = "API_SECRET";
fetch(`https://www.google-analytics.com/mp/collect?firebase_app_id=${firebaseAppId}&api_secret=${apiSecret}`, {
  method: "POST",
  body: JSON.stringify({
    app_instance_id: "APP_INSTANCE_ID",
    events: [
      {
        name: "tutorial_begin",
        params: {
          "session_id": "SESSION_ID",
          "engagement_time_msec": 100
        }
      },
      {
        name: "join_group",
        params: {
          "group_id": "G_12345",
          "session_id": "SESSION_ID",
          "engagement_time_msec": 150
        }
      }
    ],
    user_location: {
      city: "Mountain View",
      region_id: "US-CA",
      country_id: "US",
      subcontinent_id: "021",
      continent_id: "019"
    },
    device: {
      category: "mobile",
      language: "en",
      screen_resolution: "1280x2856",
      operating_system: "Android",
      operating_system_version: "14",
      model: "Pixel 9 Pro",
      brand: "Google",
      browser: "Chrome",
      browser_version: "136.0.7103.60"
    }
  })
});
Format firebase_app_id zależy od platformy. Więcej informacji znajdziesz w sekcji Identyfikator aplikacji w artykule Pliki i obiekty konfiguracyjne Firebase.
Zastąp sygnaturę czasową
Protokół pomiarowy używa pierwszego sygnatury czasowej, którą znajdzie na poniższej liście, w przypadku każdego zdarzenia i właściwości użytkownika w żądaniu:
timestamp_microszdarzenia lub właściwości użytkownika.timestamp_microsżądania.- Czas, w którym Measurement Protocol otrzymał żądanie.
 
W tym przykładzie wysyłany jest sygnatura czasowa na poziomie żądania, która ma zastosowanie do wszystkich zdarzeń i właściwości użytkownika w żądaniu. W rezultacie protokół pomiarowy przypisuje sygnaturę czasową
requestUnixEpochTimeInMicros do zdarzeń tutorial_begin i join_group
oraz właściwości użytkownika customer_tier.
{
  "timestamp_micros": requestUnixEpochTimeInMicros,
  "events": [
    {
      "name": "tutorial_begin"
    },
    {
      "name": "join_group",
      "params": {
        "group_id": "G_12345",
      }
    }
  ],
  "user_properties": {
    "customer_tier": {
      "value": "PREMIUM"
    }
  }
}
W tym przykładzie wysyłana jest sygnatura czasowa na poziomie żądania, sygnatura czasowa na poziomie zdarzenia i sygnatura czasowa na poziomie właściwości użytkownika. W rezultacie protokół pomiarowy przypisuje te sygnatury czasowe:
tutorialBeginUnixEpochTimeInMicrospodczas zawodów (tutorial_begin)customerTierUnixEpochTimeInMicrosdla właściwości użytkownikacustomer_tierrequestUnixEpochTimeInMicrosw przypadku zdarzeniajoin_groupi właściwości użytkownikanewsletter_reader.
{
  "timestamp_micros": requestUnixEpochTimeInMicros,
  "events": [
    {
      "name": "tutorial_begin",
      "timestamp_micros": tutorialBeginUnixEpochTimeInMicros
    },
    {
      "name": "join_group",
      "params": {
        "group_id": "G_12345",
      }
    }
  ],
  "user_properties": {
    "customer_tier": {
      "value": "PREMIUM",
      "timestamp_micros": customerTierUnixEpochTimeInMicros
    },
    "newsletter_reader": {
      "value": "true"
    }
  }
}
Działanie weryfikacji w przypadku zdarzeń i właściwości użytkownika z przeszłości
Zdarzenia i właściwości użytkownika można datować wstecznie maksymalnie o 72 godziny. Jeśli wartość timestamp_micros jest wcześniejsza niż 72 godziny temu, protokół pomiarowy akceptuje lub odrzuca zdarzenie lub właściwość użytkownika w ten sposób:
- Jeśli parametr 
validation_behaviornie jest skonfigurowany lub ma wartośćRELAXED, protokół pomiarowy akceptuje zdarzenie lub właściwość użytkownika, ale zastępuje jego sygnaturę czasową sygnaturą sprzed 72 godzin. - Jeśli parametr 
validation_behaviorma wartośćENFORCE_RECOMMENDATIONS, protokół pomiarowy odrzuca zdarzenie lub właściwość użytkownika. 
Ograniczenia
Wysyłanie zdarzeń Measurement Protocol do Google Analytics podlega tym ograniczeniom:
- Żądania mogą zawierać maksymalnie 25 zdarzeń.
 - Zdarzenia mogą zawierać maksymalnie 25 parametrów.
 - Zdarzenia mogą obejmować maksymalnie 25 właściwości użytkownika.
 - Nazwa właściwości użytkownika może mieć maksymalnie 24 znaki.
 - Wartości właściwości użytkownika mogą się składać z maksymalnie 36 znaków.
 - Nazwy zdarzeń mogą mieć maksymalnie 40 znaków oraz zawierać tylko znaki alfanumeryczne i znaki podkreślenia. Muszą się też zaczynać literą.
 - Nazwy parametrów, w tym parametrów produktów, mogą mieć maksymalnie 40 znaków oraz zawierać tylko znaki alfanumeryczne i znaki podkreślenia. Muszą się też zaczynać literą.
 - Wartości parametrów, w tym wartości parametrów produktów, mogą mieć maksymalnie 100 znaków w przypadku usługi standardowej Google Analytics i 500 znaków w przypadku usługi Google Analytics 360.
 - Parametry produktu mogą zawierać maksymalnie 10 parametrów niestandardowych.
 - Treść posta musi być mniejsza niż 130 KB.
 - Sygnatura czasowa musi przypadać w ciągu ostatnich 72 godzin. Szczegółowe informacje znajdziesz w sekcji Działanie weryfikacji w przypadku zdarzeń z przeszłości.
 - Zdarzenia wysyłane do Google Analytics za pomocą platformy Measurement Protocol w przypadku aplikacji nie wypełniają w Google Ads list odbiorców z sieci wyszukiwania w przypadku użytkowników aplikacji.
 
Dodatkowe wymagania dotyczące poszczególnych przypadków użycia znajdziesz w sekcji Typowe przypadki użycia.