Google is committed to advancing racial equity for Black communities. See how.
Diese Seite wurde von der Cloud Translation API übersetzt.
Switch to English

Ereignisse protokollieren

Ereignisse bieten Einblicke in die Vorgänge in Ihrer App, z. B. Benutzeraktionen, Systemereignisse oder Fehler.

Google Analytics protokolliert automatisch einige Ereignisse für Sie. Sie müssen keinen Code hinzufügen, um sie zu erhalten. Wenn Ihre App zusätzliche Daten erfassen muss, können Sie bis zu 500 verschiedene Analytics-Ereignistypen in Ihrer App protokollieren. Das Gesamtvolumen der Ereignisse, die Ihre App protokolliert, ist unbegrenzt. Beachten Sie, dass bei Ereignisnamen zwischen Groß- und Kleinschreibung unterschieden wird und dass die Protokollierung von zwei Ereignissen, deren Namen sich nur für den Fall unterscheiden, zu zwei unterschiedlichen Ereignissen führt.

Bevor Sie beginnen

Stellen Sie sicher, dass Sie Ihr Projekt eingerichtet haben und auf Analytics zugreifen können, wie unter Erste Schritte mit Analytics für C ++ beschrieben .

Ereignisse protokollieren

Nachdem Sie das firebase::analytics Modul initialisiert haben, können Sie damit Ereignisse mit der LogEvent() -Methode LogEvent() .

Um Ihnen den Einstieg zu erleichtern, definiert das Analytics SDK eine Reihe von vorgeschlagenen Ereignissen, die für verschiedene Arten von Apps gelten, darunter Einzelhandels- und E-Commerce-, Reise- und Spiele-Apps. Weitere Informationen zu diesen Ereignissen und deren Verwendung finden Sie in den Artikeln zu Ereignissen und Eigenschaften in der Firebase-Hilfe.

Implementierungsdetails für vorgeschlagene Ereignistypen finden Sie an folgenden Stellen:

  • Vorgeschlagene Ereignisse: Siehe Liste der Event .
  • Vorgeschriebene Parameter: Siehe Liste der Parameters .

Das folgende Beispiel zeigt, wie ein vorgeschlagenes SELECT_CONTENT Ereignis SELECT_CONTENT :

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

Zusätzlich zu den vorgeschriebenen Parametern können Sie jedem Ereignis die folgenden Parameter hinzufügen:

  • Benutzerdefinierte Parameter: Benutzerdefinierte Parameter werden nicht direkt in Ihren Analytics-Berichten dargestellt, können jedoch als Filter in Zielgruppendefinitionen verwendet werden, die auf jeden Bericht angewendet werden können. Benutzerdefinierte Parameter sind auch in Daten enthalten, die nach BigQuery exportiert werden, wenn Ihre App mit einem BigQuery-Projekt verknüpft ist.

  • VALUE Parameter: VALUE ist ein Allzweckparameter, mit dem eine Schlüsselmetrik akkumuliert werden kann, die sich auf ein Analytics-Ereignis bezieht. Beispiele sind Umsatz, Entfernung, Zeit und Punkte.

Wenn Ihre Anwendung bestimmte Anforderungen hat, die nicht durch einen vorgeschlagenen Analytics-Ereignistyp abgedeckt sind, können Sie Ihre eigenen benutzerdefinierten Analytics-Ereignisse wie in diesem Beispiel gezeigt protokollieren:

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

Zeigen Sie Ereignisse im Android Studio-Debugprotokoll an

Sie können die ausführliche Protokollierung aktivieren, um die Protokollierung von Ereignissen durch das SDK zu überwachen und zu überprüfen, ob Ereignisse ordnungsgemäß protokolliert werden. Dies umfasst sowohl automatisch als auch manuell protokollierte Ereignisse.

Sie können die ausführliche Protokollierung mit einer Reihe von adb-Befehlen aktivieren:

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

Mit diesem Befehl werden Ihre Ereignisse im Android Studio-Protokoll angezeigt, sodass Sie sofort überprüfen können, ob Ereignisse gesendet werden.

Zeigen Sie Analyseereignisse im Dashboard an

Sie können zusammenfassende Statistiken zu Ihren Analytics-Ereignissen in den Firebase-Konsolen-Dashboards anzeigen. Diese Dashboards werden im Laufe des Tages regelmäßig aktualisiert. Verwenden Sie zum sofortigen Testen die Logcat-Ausgabe wie im vorherigen Abschnitt beschrieben.

So greifen Sie in der Firebase-Konsole auf diese Daten zu:

  1. Öffnen Sie in der Firebase-Konsole Ihr Projekt.
  2. Wählen Sie im Menü Analytics aus, um das Dashboard für Analytics-Berichte anzuzeigen.

Auf der Registerkarte Ereignisse werden die Ereignisberichte angezeigt , die automatisch für jeden von Ihrer App protokollierten Analytics-Ereignistyp erstellt werden. Weitere Informationen zum Analytics-Berichts-Dashboard finden Sie in der Firebase-Hilfe.