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.
Google Analytics theo dõi các lượt chuyển đổi màn hình và đính kèm thông tin về màn hình hiện tại vào các sự kiện, cho phép bạn theo dõi các chỉ số như mức độ tương tác của người dùng hoặc hành vi của người dùng trên mỗi màn hình. Phần lớn hoạt động thu thập dữ liệu này diễn ra tự động, nhưng bạn cũng có thể ghi lại lượt xem màn hình theo cách thủ công. Việc theo dõi màn hình theo cách thủ công sẽ hữu ích nếu ứng dụng của bạn không dùng UIViewController, View hoặc Activity riêng cho từng màn hình mà bạn có thể muốn theo dõi, chẳng hạn như trong một trò chơi.
Tự động theo dõi màn hình
Analytics tự động theo dõi một số thông tin về màn hình trong ứng dụng của bạn, chẳng hạn như tên lớp của UIViewController hoặc Activity hiện đang được hiển thị cho người dùng. Khi một hiệu ứng chuyển màn hình xảy ra, Analytics sẽ ghi lại một sự kiện screen_view xác định màn hình mới. Những sự kiện xảy ra trên các màn hình này sẽ tự động được gắn thẻ bằng thông số firebase_screen_class (ví dụ: menuViewController hoặc MenuActivity) và firebase_screen_id được tạo. Nếu ứng dụng của bạn sử dụng một UIViewController hoặc Activity riêng biệt cho mỗi màn hình, thì Analytics có thể tự động theo dõi mọi lượt chuyển đổi màn hình và tạo báo cáo về mức độ tương tác của người dùng theo từng màn hình. Nếu ứng dụng của bạn không có, bạn vẫn có thể nhận được những báo cáo này bằng cách ghi lại các sự kiện screen_view theo cách thủ công.
Tắt tính năng theo dõi lượt xem màn hình
Bạn có thể tắt tính năng báo cáo screenview tự động trên iOS bằng cách đặt FirebaseAutomaticScreenReportingEnabled thành NO (Boolean) trong Info.plist.
Còn trên Android, hãy lồng chế độ cài đặt sau đây trong thẻ <application> của tệp AndroidManifest.xml:
Bạn có thể ghi nhật ký các sự kiện screen_view theo cách thủ công, bất kể tính năng theo dõi tự động có được bật hay không. Bạn có thể ghi nhật ký các sự kiện này trong phương thức onAppear hoặc viewDidAppear cho các nền tảng của Apple và onResume cho Android. Khi screen_class không được đặt, Analytics sẽ đặt một giá trị mặc định dựa trên UIViewController hoặc Hoạt động đang được đặt làm trọng tâm khi lệnh gọi được thực hiện.
Nếu bạn đã tắt tính năng thay thế phương thức trong ứng dụng, thì bạn phải đặt tất cả tên màn hình theo cách thủ công.
Đối với người dùng SwiftUI, hãy sử dụng AnalyticsSDK tiện ích Swift.
Swift
Lưu ý: Sản phẩm Firebase này không có trên mục tiêu macOS.
[null,null,["Cập nhật lần gần đây nhất: 2025-08-21 UTC."],[],[],null,["Google Analytics tracks screen transitions and attaches information\nabout the current screen to events, enabling you to track metrics such as user\nengagement or user behavior per screen. Much of this data collection happens\nautomatically, but you can also manually log screenviews. Manually tracking\nscreens is useful if your app does not use a separate `UIViewController`,\n`View`, or `Activity` for each screen you may wish to track, such as in a game.\n\nAutomatically track screens\n\nAnalytics automatically tracks some information about screens in your\napplication, such as the class name of the `UIViewController` or `Activity` that\nis currently in focus. When a screen transition occurs, Analytics logs a\n`screen_view` event that identifies the new screen. Events that occur on these\nscreens are automatically tagged with the parameter `firebase_screen_class` (for\nexample, `menuViewController` or `MenuActivity`) and a generated\n`firebase_screen_id`. If your app uses a distinct `UIViewController` or\n`Activity` for each screen, Analytics can automatically track every screen\ntransition and generate a report of user engagement broken down by screen. If\nyour app doesn't, you can still get these reports by manually logging\n`screen_view` events.\n| **Note:** On Apple platforms, Firebase depends on method swizzling to automatically log screen views. SwiftUI apps must manually set screen names for views that should be logged via the `FirebaseAnalyticsSwift` module, or log screen views manually (see below).\n\nDisable screenview tracking\n\nAutomatic screenview reporting can be turned off on iOS by setting\n`FirebaseAutomaticScreenReportingEnabled` to `NO` (Boolean) in the Info.plist.\n\nAnd on Android, nest the following setting within the `\u003capplication\u003e` tag of the\n`AndroidManifest.xml` file: \n\n \u003cmeta-data android:name=\"google_analytics_automatic_screen_reporting_enabled\" android:value=\"false\" /\u003e\n\nManually track screens\n\nYou can manually log `screen_view` events whether or not automatic tracking is\nenabled. You can log these events in the `onAppear` or `viewDidAppear` methods\nfor Apple platforms and `onResume` for Android. When `screen_class` is not set,\nAnalytics sets a default value based on the UIViewController or Activity\nthat is in focus when the call is made.\n\nIf you've disabled swizzling in your app, all screen names must be set manually.\nFor SwiftUI users, use the Analytics\n[Swift extension SDK](//github.com/firebase/firebase-ios-sdk/tree/master/FirebaseAnalyticsSwift#firebase-analytics-swift-sdk). \n\nSwift\n\n\n**Note:** This Firebase product is not available on the macOS target. \n\n```swift\nAnalytics.logEvent(AnalyticsEventScreenView,\n parameters: [AnalyticsParameterScreenName: screenName,\n AnalyticsParameterScreenClass: screenClass])https://github.com/firebase/quickstart-ios/blob/6e483be884a13ffe8d6258f1a626662fa9e7d837/analytics/LegacyAnalyticsQuickstart/AnalyticsExampleSwift/ViewController.swift#L44-L46\n```\n\nObjective-C\n\n\n**Note:** This Firebase product is not available on the macOS target. \n\n```objective-c\n[FIRAnalytics logEventWithName:kFIREventScreenView\n parameters:@{kFIRParameterScreenClass: screenClass,\n kFIRParameterScreenName: screenName}];https://github.com/firebase/quickstart-ios/blob/6e483be884a13ffe8d6258f1a626662fa9e7d837/analytics/LegacyAnalyticsQuickstart/AnalyticsExample/ViewController.m#L49-L51\n```\n\nKotlin \n\n```kotlin\nfirebaseAnalytics.logEvent(FirebaseAnalytics.Event.SCREEN_VIEW) {\n param(FirebaseAnalytics.Param.SCREEN_NAME, screenName)\n param(FirebaseAnalytics.Param.SCREEN_CLASS, \"MainActivity\")\n}https://github.com/firebase/snippets-android/blob/391c1646eacf44d2aab3f76bcfa60dfc6c14acf1/analytics/app/src/main/java/com/google/firebase/example/analytics/kotlin/MainActivity.kt#L249-L252\n```\n\nJava \n\n```java\nBundle bundle = new Bundle();\nbundle.putString(FirebaseAnalytics.Param.SCREEN_NAME, screenName);\nbundle.putString(FirebaseAnalytics.Param.SCREEN_CLASS, \"MainActivity\");\nmFirebaseAnalytics.logEvent(FirebaseAnalytics.Event.SCREEN_VIEW, bundle);https://github.com/firebase/snippets-android/blob/391c1646eacf44d2aab3f76bcfa60dfc6c14acf1/analytics/app/src/main/java/com/google/firebase/example/analytics/MainActivity.java#L314-L317\n```\n\nWeb \n\n```javascript\nimport { getAnalytics, logEvent } from \"firebase/analytics\";\n\nconst analytics = getAnalytics();\nlogEvent(analytics, 'screen_view', {\n firebase_screen: screenName, \n firebase_screen_class: screenClass\n});https://github.com/firebase/snippets-web/blob/467eaa165dcbd9b3ab15711e76fa52237ba37f8b/snippets/analytics-next/index/analytics_record_screen_view.js#L8-L14\n```\n\nWeb \n\n```javascript\nfirebase.analytics().logEvent('screen_view', {\n firebase_screen: screenName, \n firebase_screen_class: screenClass\n});https://github.com/firebase/snippets-web/blob/467eaa165dcbd9b3ab15711e76fa52237ba37f8b/analytics/index.js#L47-L50\n```\n\nDart \n\n await FirebaseAnalytics.instance.logEvent(\n name: 'screen_view',\n parameters: {\n 'firebase_screen': screenName,\n 'firebase_screen_class': screenClass,\n },\n );"]]