Google 致力于为黑人社区推动种族平等。查看具体举措

Registra eventi

Gli eventi forniscono informazioni su ciò che sta accadendo nella tua app, ad esempio azioni dell'utente, eventi di sistema o errori.

Google Analytics registra automaticamente alcuni eventi per voi; non è necessario aggiungere alcun codice per riceverli. Se la tua app deve raccogliere dati aggiuntivi, puoi registrare fino a 500 diversi tipi di eventi di Analytics nella tua app. Non c'è limite al volume totale di eventi registrati dalla tua app. Si noti che i nomi degli eventi fanno distinzione tra maiuscole e minuscole e che la registrazione di due eventi i cui nomi differiscono solo nel caso in cui si otterrà due eventi distinti.

Prima di iniziare

Assicurarsi di aver impostato il progetto e può accedere Analytics come descritto in Inizia con Analytics per C ++ .

Registra eventi

Dopo aver inizializzato il firebase::analytics del modulo, è possibile utilizzarlo per registrare gli eventi con la LogEvent() metodo.

Per aiutarti a iniziare, l'SDK di Analytics definisce una serie di eventi suggeriti comuni a diversi tipi di app, tra cui app per la vendita al dettaglio e l'e-commerce, viaggi e giochi. Per ulteriori informazioni su questi eventi e quando utilizzarli, visualizza le Eventi e proprietà articoli nel Centro assistenza Firebase.

Puoi trovare i dettagli di implementazione per i tipi di evento suggeriti nelle seguenti posizioni:

  • Eventi suggeriti: vedere l'elenco dei Event costanti.
  • Parametri prescritti: vedere l'elenco dei Parameters costanti.

L'esempio seguente mostra come accedere un suggerito SELECT_CONTENT evento:

  const analytics::Parameter kSelectContentParameters[] = {
    analytics::Parameter(analytics::kParameterItemID , id),
    analytics::Parameter(analytics::kParameterItemName, "name"),
    analytics::Parameter(analytics::kUserPropertySignUpMethod, "Google"),
    analytics::Parameter("favorite_food", mFavoriteFood),
    analytics::Parameter("user_id", mUserId),
  };
  analytics::LogEvent(
    analytics::kEventSelectContent, kSelectContentParameters,
    sizeof(kSelectContentParameters) / sizeof(kSelectContentParameters[0]));

Oltre ai parametri prescritti, è possibile aggiungere a qualsiasi evento i seguenti parametri:

  • I parametri personalizzati: i parametri personalizzati non sono direttamente rappresentati nei rapporti Analytics, ma possono essere utilizzati come filtri in Pubblico definizioni che possono essere applicati ad ogni rapporto. I parametri personalizzati sono inclusi anche nei dati esportati in BigQuery se la vostra applicazione è legata a un progetto BigQuery.

  • VALUE parametri: VALUE è un parametro generale scopo che è utile per accumulare una metrica chiave che riguarda un evento Analytics. Gli esempi includono entrate, distanza, tempo e punti.

Se la tua applicazione ha esigenze specifiche non coperte da un tipo di evento Analytics suggerito, puoi registrare i tuoi eventi Analytics personalizzati come mostrato in questo esempio:

// Copyright 2016 Google Inc. All rights reserved.
//
// 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.

#include "firebase/analytics.h"
#include "firebase/analytics/event_names.h"
#include "firebase/analytics/parameter_names.h"
#include "firebase/analytics/user_property_names.h"
#include "firebase/app.h"

// Thin OS abstraction layer.
#include "main.h"  // NOLINT

// Execute all methods of the C++ Analytics API.
extern "C" int common_main(int argc, const char* argv[]) {
  namespace analytics = ::firebase::analytics;
  ::firebase::App* app;

  LogMessage("Initialize the Analytics library");
#if defined(__ANDROID__)
  app = ::firebase::App::Create(GetJniEnv(), GetActivity());
#else
  app = ::firebase::App::Create();
#endif  // defined(__ANDROID__)

  LogMessage("Created the firebase app %x",
             static_cast<int>(reinterpret_cast<intptr_t>(app)));
  analytics::Initialize(*app);
  LogMessage("Initialized the firebase analytics API");

  LogMessage("Enabling data collection.");
  analytics::SetAnalyticsCollectionEnabled(true);
  // App session times out after 30 minutes.
  // If the app is placed in the background and returns to the foreground after
  // the timeout is expired analytics will log a new session.
  analytics::SetSessionTimeoutDuration(1000 * 60 * 30);

  LogMessage("Get App Instance ID...");
  auto future_result = analytics::GetAnalyticsInstanceId();
  while (future_result.status() == firebase::kFutureStatusPending) {
    if (ProcessEvents(1000)) break;
  }
  if (future_result.status() == firebase::kFutureStatusComplete) {
    LogMessage("Analytics Instance ID %s", future_result.result()->c_str());
  } else {
    LogMessage("ERROR: Failed to fetch Analytics Instance ID %s (%d)",
               future_result.error_message(), future_result.error());
  }

  LogMessage("Set user properties.");
  // Set the user's sign up method.
  analytics::SetUserProperty(analytics::kUserPropertySignUpMethod, "Google");
  // Set the user ID.
  analytics::SetUserId("uber_user_510");

  LogMessage("Set current screen.");
  // Set the user's current screen.
  analytics::SetCurrentScreen("Firebase Analytics C++ testapp", "testapp");

  // Log an event with no parameters.
  LogMessage("Log login event.");
  analytics::LogEvent(analytics::kEventLogin);

  // Log an event with a floating point parameter.
  LogMessage("Log progress event.");
  analytics::LogEvent("progress", "percent", 0.4f);

  // Log an event with an integer parameter.
  LogMessage("Log post score event.");
  analytics::LogEvent(analytics::kEventPostScore, analytics::kParameterScore,
                      42);

  // Log an event with a string parameter.
  LogMessage("Log group join event.");
  analytics::LogEvent(analytics::kEventJoinGroup, analytics::kParameterGroupID,
                      "spoon_welders");

  // Log an event with multiple parameters.
  LogMessage("Log level up event.");
  {
    const analytics::Parameter kLevelUpParameters[] = {
        analytics::Parameter(analytics::kParameterLevel, 5),
        analytics::Parameter(analytics::kParameterCharacter, "mrspoon"),
        analytics::Parameter("hit_accuracy", 3.14f),
    };
    analytics::LogEvent(
        analytics::kEventLevelUp, kLevelUpParameters,
        sizeof(kLevelUpParameters) / sizeof(kLevelUpParameters[0]));
  }

  LogMessage("Complete");

  // Wait until the user wants to quit the app.
  while (!ProcessEvents(1000)) {
  }

  analytics::Terminate();
  delete app;

  LogMessage("Shutdown");

  return 0;
}

Visualizza gli eventi nel registro di debug di Android Studio

È possibile abilitare la registrazione dettagliata per monitorare la registrazione degli eventi da parte dell'SDK per verificare che gli eventi vengano registrati correttamente. Ciò include sia gli eventi registrati automaticamente che manualmente.

Puoi abilitare la registrazione dettagliata con una serie di comandi adb:

adb shell setprop log.tag.FA VERBOSE
adb shell setprop log.tag.FA-SVC VERBOSE
adb logcat -v time -s FA FA-SVC

Questo comando visualizza i tuoi eventi nel logcat di Android Studio, aiutandoti a verificare immediatamente che gli eventi vengano inviati.

Visualizza gli eventi di analisi nella dashboard

Puoi visualizzare statistiche aggregate sui tuoi eventi di Analytics nelle dashboard della console Firebase. Questi dashboard si aggiornano periodicamente durante il giorno. Per un test immediato, utilizzare l'output di logcat come descritto nella sezione precedente.

Per accedere a questi dati nella console Firebase:

  1. Nella console Firebase , aprire il progetto.
  2. Selezionare Analytics dal menu per visualizzare le Analytics segnalazione cruscotto.

Gli spettacoli scheda Eventi le segnalazioni di eventi che vengono creati automaticamente per ogni tipo distinto di Analytics evento registrato dalla tua app. Per saperne di più i rapporti di Google Analytics cruscotto nel Centro assistenza Firebase.