יומן אירועים

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

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("Log current screen.");
  // Log the user's current screen.
  analytics::LogEvent(analytics::kEventScreenView, "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

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

הצג אירועי ניתוח בלוח המחוונים

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

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

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

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