Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

Ghi nhật ký sự kiện

Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.

Sự kiện cung cấp thông tin chi tiết về những gì đang xảy ra trong ứng dụng của bạn, chẳng hạn như hành động của người dùng, sự kiện hệ thống hoặc lỗi.

Google Analytics tự động ghi lại một số sự kiện cho bạn; bạn không cần phải thêm bất kỳ mã nào để nhận chúng. Nếu ứng dụng của bạn cần thu thập thêm dữ liệu, bạn có thể đăng nhập tối đa 500 loại sự kiện Analytics khác nhau trong ứng dụng của mình. Không có giới hạn về tổng khối lượng sự kiện mà ứng dụng của bạn ghi lại. Lưu ý rằng tên sự kiện phân biệt chữ hoa chữ thường và việc ghi nhật ký hai sự kiện có tên chỉ khác nhau trong trường hợp sẽ dẫn đến hai sự kiện riêng biệt.

Trước khi bắt đầu

Đảm bảo rằng bạn đã thiết lập dự án của mình và có thể truy cập Analytics như được mô tả trong Bắt đầu với Analytics cho C ++ .

Ghi nhật ký sự kiện

Sau khi khởi tạo mô-đun firebase::analytics , bạn có thể sử dụng mô-đun này để ghi lại các sự kiện bằng phương thức LogEvent() .

Để giúp bạn bắt đầu, SDK Analytics xác định một số sự kiện được đề xuất phổ biến giữa các loại ứng dụng khác nhau, bao gồm ứng dụng bán lẻ và thương mại điện tử, du lịch và trò chơi. Để tìm hiểu thêm về các sự kiện này và thời điểm sử dụng chúng, hãy duyệt qua các bài viết về Sự kiện và thuộc tính trong Trung tâm trợ giúp Firebase.

Bạn có thể tìm thấy chi tiết triển khai cho các loại sự kiện được đề xuất ở các vị trí sau:

  • Sự kiện đề xuất: xem danh sách Hằng số Event .
  • Tham số quy định: xem danh sách Hằng Parameters số.

Ví dụ sau minh họa cách ghi lại Sự kiện SELECT_CONTENT được đề xuất:

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

Ngoài các thông số được chỉ định, bạn có thể thêm các thông số sau vào bất kỳ sự kiện nào:

  • Thông số tùy chỉnh: Thông số tùy chỉnh không được trình bày trực tiếp trong báo cáo Analytics của bạn, nhưng chúng có thể được sử dụng làm bộ lọc trong định nghĩa Đối tượng có thể được áp dụng cho mọi báo cáo. Thông số tùy chỉnh cũng được bao gồm trong dữ liệu được xuất sang BigQuery nếu ứng dụng của bạn được liên kết với một dự án BigQuery.

  • Thông số VALUE : VALUE là thông số mục đích chung hữu ích để tích lũy chỉ số chính liên quan đến Sự kiện Analytics. Ví dụ bao gồm doanh thu, khoảng cách, thời gian và điểm.

Nếu ứng dụng của bạn có các nhu cầu cụ thể không nằm trong loại Sự kiện Analytics được đề xuất, bạn có thể ghi lại Sự kiện Analytics tùy chỉnh của riêng mình như được hiển thị trong ví dụ sau:

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

Xem các sự kiện trong nhật ký gỡ lỗi Android Studio

Bạn có thể bật tính năng ghi nhật ký chi tiết để giám sát việc ghi nhật ký các sự kiện bằng SDK để giúp xác minh rằng các sự kiện đang được ghi đúng cách. Điều này bao gồm cả các sự kiện được ghi tự động và thủ công.

Bạn có thể bật ghi nhật ký chi tiết bằng một loạt lệnh adb:

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

Lệnh này hiển thị các sự kiện của bạn trong logcat Android Studio, giúp bạn xác minh ngay rằng các sự kiện đang được gửi.

Xem các sự kiện phân tích trong trang tổng quan

Bạn có thể xem thống kê tổng hợp về Sự kiện Analytics của mình trong trang tổng quan bảng điều khiển Firebase. Các trang tổng quan này cập nhật định kỳ trong ngày. Để kiểm tra ngay lập tức, hãy sử dụng đầu ra logcat như được mô tả trong phần trước.

Để truy cập dữ liệu này trong bảng điều khiển Firebase:

  1. Trong bảng điều khiển Firebase , hãy mở dự án của bạn.
  2. Chọn Analytics từ menu để xem trang tổng quan báo cáo Analytics.

Tab Sự kiện hiển thị các báo cáo sự kiện được tạo tự động cho từng loại Sự kiện Analytics riêng biệt được ứng dụng của bạn ghi lại. Đọc thêm về trang tổng quan báo cáo Analytics trong Trung tâm trợ giúp Firebase.