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 (Boolean) در Info.plist غیرفعال کرد.
و در اندروید، تنظیمات زیر را درون تگ <application> از فایل AndroidManifest.xml قرار دهید:
<meta-data android:name="google_analytics_automatic_screen_reporting_enabled" android:value="false" />
ردیابی دستی صفحات نمایش
شما میتوانید رویدادهای screen_view را به صورت دستی ثبت کنید، چه ردیابی خودکار فعال باشد و چه نباشد. میتوانید این رویدادها را در متدهای onAppear یا viewDidAppear برای پلتفرمهای اپل و onResume برای اندروید ثبت کنید. وقتی screen_class تنظیم نشده باشد، Analytics یک مقدار پیشفرض بر اساس UIViewController یا Activity که هنگام برقراری تماس در فوکوس است، تنظیم میکند.
اگر swizzling را در برنامه خود غیرفعال کردهاید، نام همه صفحهها باید به صورت دستی تنظیم شود. برای کاربران SwiftUI، از SDK افزونه Analytics Swift استفاده کنید.
سویفت
Analytics.logEvent(AnalyticsEventScreenView, parameters: [AnalyticsParameterScreenName: screenName, AnalyticsParameterScreenClass: screenClass])
هدف-سی
[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,
},
);