Google Analytics تغییرات صفحه را ردیابی می کند و اطلاعات مربوط به صفحه فعلی را به رویدادها پیوست می کند و به شما امکان می دهد معیارهایی مانند تعامل کاربر یا رفتار کاربر در هر صفحه را ردیابی کنید. بیشتر این جمعآوری دادهها بهطور خودکار انجام میشود، اما میتوانید بهطور دستی نماهای صفحه را ثبت کنید. اگر برنامه شما از UIViewController ، View یا Activity جداگانه برای هر صفحهای که ممکن است بخواهید ردیابی کنید، مانند یک بازی، استفاده نمیکند، ردیابی دستی صفحهها مفید است.
ردیابی خودکار صفحه نمایش
Analytics به طور خودکار برخی از اطلاعات مربوط به صفحههای برنامه شما را ردیابی میکند، مانند نام کلاس UIViewController یا Activity که در حال حاضر در کانون توجه است. هنگامی که یک انتقال صفحه رخ می دهد، Analytics یک رویداد screen_view را ثبت می کند که صفحه جدید را شناسایی می کند. رویدادهایی که در این صفحهها رخ میدهند به طور خودکار با پارامتر firebase_screen_class (به عنوان مثال menuViewController یا MenuActivity ) و یک firebase_screen_id ایجاد شده برچسبگذاری میشوند. اگر برنامه شما از یک UIViewController یا Activity مجزا برای هر صفحه استفاده می کند، Analytics می تواند به طور خودکار هر انتقال صفحه را ردیابی کند و گزارشی از تعامل کاربر به تفکیک صفحه نمایش ایجاد کند. اگر برنامه شما اینطور نیست، همچنان میتوانید با ثبت دستی رویدادهای screen_view ، این گزارشها را دریافت کنید.
ردیابی نمایش صفحه را غیرفعال کنید
با تنظیم FirebaseAutomaticScreenReportingEnabled روی NO (Boolean) در Info.plist، می توان گزارش خودکار نمای صفحه را در iOS خاموش کرد.
و در Android، تنظیمات زیر را در تگ <application> فایل AndroidManifest.xml قرار دهید:
<meta-data android:name="google_analytics_automatic_screen_reporting_enabled" android:value="false" />
ردیابی دستی صفحه نمایش
میتوانید رویدادهای screen_view را به صورت دستی ثبت کنید، خواه ردیابی خودکار فعال باشد یا نباشد. میتوانید این رویدادها را در روشهای onAppear یا viewDidAppear برای پلتفرمهای Apple و onResume برای Android ثبت کنید. وقتی screen_class تنظیم نشده باشد، Analytics یک مقدار پیشفرض را بر اساس UIViewController یا Activity تعیین میکند که هنگام برقراری تماس در کانون توجه است.
اگر Swizzling را در برنامه خود غیرفعال کرده اید، همه نام های صفحه باید به صورت دستی تنظیم شوند. برای کاربران SwiftUI، از افزونه Analytics Swift SDK استفاده کنید.
سویفت
Analytics.logEvent(AnalyticsEventScreenView, parameters: [AnalyticsParameterScreenName: screenName, AnalyticsParameterScreenClass: screenClass])
هدف-C
[FIRAnalytics logEventWithName:kFIREventScreenView parameters:@{kFIRParameterScreenClass: screenClass, kFIRParameterScreenName: screenName}];
Kotlin
firebaseAnalytics.logEvent(FirebaseAnalytics.Event.SCREEN_VIEW) { param(FirebaseAnalytics.Param.SCREEN_NAME, screenName) param(FirebaseAnalytics.Param.SCREEN_CLASS, "MainActivity") }
Java
Bundle bundle = new Bundle(); bundle.putString(FirebaseAnalytics.Param.SCREEN_NAME, screenName); bundle.putString(FirebaseAnalytics.Param.SCREEN_CLASS, "MainActivity"); mFirebaseAnalytics.logEvent(FirebaseAnalytics.Event.SCREEN_VIEW, bundle);
Web
import { getAnalytics, logEvent } from "firebase/analytics"; const analytics = getAnalytics(); logEvent(analytics, 'screen_view', { firebase_screen: screenName, firebase_screen_class: screenClass });
Web
firebase.analytics().logEvent('screen_view', { firebase_screen: screenName, firebase_screen_class: screenClass });
Dart
await FirebaseAnalytics.instance.logEvent(
name: 'screen_view',
parameters: {
'firebase_screen': screenName,
'firebase_screen_class': screenClass,
},
);