Оптимизируйте свои подборки
Сохраняйте и классифицируйте контент в соответствии со своими настройками.
Google Analytics отслеживает переходы между экранами и прикрепляет информацию о текущем экране к событиям, позволяя отслеживать такие показатели, как вовлечённость пользователя или его поведение на экране. Большая часть этих данных собирается автоматически, но вы также можете вручную регистрировать просмотры экрана. Ручное отслеживание экранов полезно, если ваше приложение не использует отдельные UIViewController , View или Activity для каждого экрана, который вы хотите отслеживать, например, в игре.
Автоматически отслеживать экраны
Analytics автоматически отслеживает некоторую информацию об экранах в вашем приложении, например, имя класса UIViewController или Activity , находящегося в фокусе. При переходе между экранами Analytics регистрирует событие screen_view , идентифицирующее новый экран. События, происходящие на этих экранах, автоматически помечаются параметром firebase_screen_class (например, menuViewController или MenuActivity ) и генерируемым значением firebase_screen_id . Если ваше приложение использует отдельный UIViewController или Activity для каждого экрана, Analytics может автоматически отслеживать каждый переход экрана и формировать отчёт о взаимодействии пользователя с разбивкой по экранам. Если в вашем приложении этого нет, вы всё равно можете получать эти отчёты, вручную регистрируя события screen_view .
Отключить отслеживание просмотра экрана
Автоматические отчеты о просмотре экрана можно отключить на iOS, установив для параметра FirebaseAutomaticScreenReportingEnabled значение NO (логическое значение) в файле Info.plist.
А на Android вставьте следующий параметр в тег <application> файла AndroidManifest.xml :
События screen_view можно регистрировать вручную, независимо от того, включено ли автоматическое отслеживание. Эти события можно регистрировать в методах onAppear или viewDidAppear для платформ Apple и onResume для Android. Если screen_class не задан, Analytics устанавливает значение по умолчанию на основе UIViewController или Activity, находящегося в фокусе в момент вызова.
Если вы отключили свизлинг в своём приложении, все имена экранов необходимо задать вручную. Пользователям SwiftUI следует использовать расширение AnalyticsSwift SDK .
Быстрый
Примечание: этот продукт Firebase недоступен на целевой платформе macOS.
[[["Прост для понимания","easyToUnderstand","thumb-up"],["Помог мне решить мою проблему","solvedMyProblem","thumb-up"],["Другое","otherUp","thumb-up"]],[["Отсутствует нужная мне информация","missingTheInformationINeed","thumb-down"],["Слишком сложен/слишком много шагов","tooComplicatedTooManySteps","thumb-down"],["Устарел","outOfDate","thumb-down"],["Проблема с переводом текста","translationIssue","thumb-down"],["Проблемы образцов/кода","samplesCodeIssue","thumb-down"],["Другое","otherDown","thumb-down"]],["Последнее обновление: 2025-09-04 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/b694d4dbd411d31be39655f47691c3e9f3529b03/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/b694d4dbd411d31be39655f47691c3e9f3529b03/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 );"]]