Cómo registrar eventos

Los eventos proporcionan información valiosa sobre lo que sucede en tu app. Por ejemplo, acciones de los usuarios, eventos del sistema o errores.

Google Analytics para Firebase registra de forma automática algunos eventos; no es necesario que agregues código para recibirlos. Si tu app debe recopilar datos adicionales, puedes registrar hasta 500 tipos de eventos de Analytics diferentes en ella. No existen límites para el volumen total de eventos que registre tu app. Ten en cuenta que los nombres de los eventos distinguen mayúsculas de minúsculas y que si se registran dos eventos con nombres iguales que solo difieren en el uso de mayúsculas, se registrarán dos eventos diferentes.

Antes de comenzar

Si es la primera vez que agregas Analytics a tu app, sigue estos pasos:

Conecta tu app en Firebase console

  1. Instala el SDK de Firebase para C++.
  2. En Firebase console, agrega tu app a tu proyecto de Firebase.

Agrega funciones de Analytics a tu app

Para poder usar las bibliotecas de Analytics en tu proyecto de C++, debes agregarlo a tus archivos de compilación para que se vinculen las bibliotecas correspondientes.

Android

  1. Agrega el componente de Java de Firebase al archivo build.gradle:

    compile 'com.google.firebase:firebase-analytics:11.4.0'

  2. Vincula las siguientes bibliotecas cuando compiles tu componente de C++:

    libapp.a
    libanalytics.a
    

iOS

Antes de realizar compilaciones para iOS, deberás agregar los marcos de trabajo de Firebase a tu proyecto de Xcode:

  1. Agrega la siguiente dependencia a tu Podfile:
    pod 'Firebase/Core'
    pod 'Firebase/Analytics'
  2. Ejecuta $pod install.
  3. Agrega firebase.framework y firebase_analytics.framework a tu proyecto de Xcode.

Registra eventos

Después de iniciar el módulo firebase::analytics, puedes usarlo para registrar eventos con el método LogEvent().

Para que puedas comenzar, el SDK de Analytics define varios eventos sugeridos que son comunes entre diferentes tipos de apps, como las de ventas minoristas y comercio electrónico, viajes y juegos. Para obtener más información acerca de estos eventos y el momento en que deben usarse, revisa los artículos sobre Eventos y propiedades en el Centro de ayuda de Firebase.

Puedes encontrar detalles sobre la implementación de los tipos de eventos sugeridos en las siguientes ubicaciones:

  • Eventos sugeridos: consulta la lista de constantes de Event.
  • Parámetros prescritos: consulta la lista de constantes de Parameters.

El siguiente ejemplo muestra cómo registrar un evento SELECT_CONTENT sugerido:

  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]));

Además de los parámetros prescritos, puedes agregar los siguientes parámetros a cualquier evento:

  • Parámetros personalizados: Los parámetros personalizados no están representados directamente en los informes de Analytics, pero se pueden usar como filtros en definiciones de Público que se pueden aplicar en todos los informes. Los parámetros personalizados también se incluyen en los datos exportados a BigQuery si tu app está vinculada con un proyecto de BigQuery.

  • Parámetro VALUE: VALUE es un parámetro de uso general, que resulta útil para acumular una métrica clave relacionada con un evento de Analytics. Entre los ejemplos se incluyen los ingresos, la distancia, el tiempo y los puntos.

Si tu aplicación tiene necesidades específicas que no están cubiertas por ningún tipo de Evento de Analytics sugerido, puedes registrar tus propios Eventos de Analytics personalizados, como se muestra en este ejemplo:

// 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 needs to be open at least 1s before logging a valid session.
  analytics::SetMinimumSessionDuration(1000);
  // App session times out after 5s.
  analytics::SetSessionTimeoutDuration(5000);

  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;
}

Cómo ver eventos en el registro de depuración de Android Studio

Puedes habilitar el registro detallado para controlar el registro de eventos a través del SDK, a fin de verificar que los eventos se registren de manera adecuada. Esto incluye eventos registrados de manera automática y manual.

Puedes habilitar el registro detallado con una serie de comandos de adb:

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

Este comando muestra tus eventos en el logcat de Android Studio, lo que te ayudará a verificar de inmediato que los eventos se envíen.

Cómo ver eventos de análisis en el panel

Puedes ver las estadísticas agregadas sobre tus Eventos de Analytics en los paneles de Firebase console. Estos paneles se actualizan periódicamente durante el día. Para hacer pruebas inmediatas, usa la salida del logcat como se describe en la sección anterior.

Para acceder a estos datos en Firebase console:

  1. En Firebase console, abre tu proyecto.
  2. Selecciona Analytics en el menú para ver el panel de informes de Analytics.

En la pestaña Eventos aparecen los informes de eventos que se crean automáticamente para cada tipo de evento de Analytics que registra tu app. Para obtener más información sobre el panel de informes de Analytics, consulta el Centro de ayuda de Firebase.

Enviar comentarios sobre…

¿Necesitas ayuda? Visita nuestra página de asistencia.