سنجش بازدیدهای صفحه

‫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

توجه: این محصول Firebase در هدف watchOS دردسترس نیست.
Analytics.logEvent(AnalyticsEventScreenView,
                   parameters: [AnalyticsParameterScreenName: screenName,
                               AnalyticsParameterScreenClass: screenClass])

Objective-C

توجه: این محصول Firebase در هدف watchOS دردسترس نیست.
[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,
  },
);