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 قرار دهید:
<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 استفاده کنید.
Swift
Analytics.logEvent(AnalyticsEventScreenView, parameters: [AnalyticsParameterScreenName: screenName, AnalyticsParameterScreenClass: screenClass])
Objective-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,
},
);