Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

אירועי יומן רישום

אירועים מספקים תובנה על המתרחש באפליקציה שלך, כגון פעולות משתמש, אירועי מערכת או טעויות.

Google Analytics אוטומטי יומנים כמה אירועים בשבילך; אתה לא צריך להוסיף שום קוד כדי לקבל אותם. אם האפליקציה שלך צריכה לאסוף נתונים נוספים, תוכל לרשום באפליקציה עד 500 סוגי אירועי Analytics שונים. אין הגבלה על נפח האירועים הכולל שהאפליקציה שלך מתעדת. שים לב ששמות אירועים תלויי רישיות וכי רישום שני אירועים ששמם שונה רק במקרה יביא לשני אירועים נפרדים.

לפני שאתה מתחיל

ודא שהגדרת הפרויקט שלך יכול לגשת Analytics כמתואר להתחיל עם Analytics עבור C ++ .

אירועי יומן

לאחר אותחל firebase::analytics מודול, אתה יכול להשתמש בו כדי להתחבר אירועים עם LogEvent() שיטה.

כדי לעזור לך להתחיל, ה- SDK של Analytics מגדיר מספר אירועים מוצעים הנפוצים בקרב סוגים שונים של אפליקציות, כולל אפליקציות קמעונאיות ומסחר אלקטרוני, נסיעות ומשחקים. כדי ללמוד עוד על האירועים הללו ומתי להשתמש בהם, לגלוש אירועים ומאפיינים מאמרים במרכז העזרה Firebase.

תוכל למצוא פרטי יישום עבור סוגי אירועים מוצעים במיקומים הבאים:

  • אירועים מוצעים: לראות את רשימת Event קבוע.
  • פרמטרים שנקבעו: לראות את רשימת Parameters קבועים.

הדוגמה הבאה ממחישה כיצד לתעד הציע 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]));

בנוסף לפרמטרים שנקבעו, תוכל להוסיף את הפרמטרים הבאים לכל אירוע:

  • פרמטרים מותאמים אישית: פרמטרים מותאמים אישית אינם מיוצגים בצורה ישירה בדוחות Analytics שלך, אבל הם יכולים לשמש מסננים קהל הגדרות כי ניתן ליישם לכל דוח. פרמטרים מותאמים אישית כלול גם נתונים מיוצאים BigQuery אם האפליקציה שלך קשור פרויקט BigQuery.

  • VALUE פרמטר: VALUE הוא פרמטר למטרות כללי כי הוא שימושי עבור צבירת מדד מרכזי הקשור לאירוע Analytics. דוגמאות כוללות הכנסה, מרחק, זמן ונקודות.

אם לאפליקציה שלך יש צרכים ספציפיים שאינם מכוסים על ידי סוג אירוע ב- Analytics המוצע, תוכל לרשום אירועי Analytics מותאמים אישית משלך כפי שמוצג בדוגמה זו:

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

הצג אירועים ביומן באגים של Android Studio

אתה יכול לאפשר רישום מילולי כדי לפקח על רישום אירועים על ידי ה- SDK כדי לסייע לאמת שאירועים נרשמים כראוי. זה כולל אירועים שנרשמו באופן אוטומטי וידני.

אתה יכול לאפשר רישום מילולי עם סדרה של פקודות adb:

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

פקודה זו מציגה את האירועים שלך ב- logicat של Android Studio, ועוזרת לך לוודא באופן מיידי שאירועים נשלחים.

הצג אירועי ניתוח במרכז השליטה

תוכל להציג נתונים סטטיסטיים מצורפים על אירועי Analytics שלך בלוחות המחוונים של מסוף Firebase. לוחות מחוונים אלה מתעדכנים מעת לעת לאורך כל היום. לבדיקה מיידית, השתמש בפלט logcat כמתואר בסעיף הקודם.

כדי לגשת לנתונים אלה במסוף Firebase:

  1. בשנות ה קונסולת Firebase , לפתוח את הפרויקט שלך.
  2. בחר Analytics מהתפריט כדי להציג את הדיווח ב- Analytics Dashboard.

הכרטיסייה אירועים מציג את הדיווחים האירוע שנוצרים באופן אוטומטי עבור כל סוג מובחן של אירוע Analytics מחובר על ידי האפליקציה. קרא עוד על הדיווח ב- Analytics המחוונים במרכז העזרה Firebase.