Screen View στην κινητή αναλυτική — τι είναι, ποιες μετρήσεις και πώς να παρακολουθείτε

Συγγραφέας: IT Sectr Δημοσιεύτηκε: 2026-04-21 Χρόνος ανάγνωσης: 9 λεπ

Screen View — συμβάν κινητής αναλυτικής που καταγράφει το άνοιγμα κάθε οθόνης στην εφαρμογή. Είναι το ανάλογο του page_view για τον ιστό, προσαρμοσμένο στο μοντέλο πλοήγησης των κινητών διεπαφών. Σύμφωνα με δεδομένα του Amplitude, 2024, το Screen View είναι το πιο συχνό συμβάν στην αναλυτική εφαρμογών, αποτελώντας έως και το 40% όλων των αποστελλόμενων συμβάντων. Η σωστή υλοποίηση του screen tracking αποτελεί τη βάση για την ανάλυση των διαδρομών χρήστη και των διοχετεύσεων.

Κύρια Σημεία

  • Screen View — συμβάν που καταγράφει το άνοιγμα οθόνης στην κινητή εφαρμογή με αναφορά του ονόματός της.
  • Screen View vs Page View: η κινητή εφαρμογή δεν χρησιμοποιεί URL — η αναγνώριση γίνεται με βάση το όνομα Activity, ViewController ή διαδρομής.
  • Αυτόματη παρακολούθηση οθονών υλοποιείται μέσω NavigationObserver στο iOS και NavigationController στο Android.
  • Screen Name — βασική παράμετρος του συμβάντος, πρέπει να είναι κατανοητή από τον αναλυτή χωρίς γνώση κώδικα.
  • Screen Flow — ακολουθία οθονών κατά τη διάρκεια μιας συνεδρίας, βάση για τη δημιουργία διοχετεύσεων και ανάλυση εγκατάλειψης.

Τι είναι το Screen View;

Screen View — συμβάν αναλυτικής που αποστέλλεται κατά το άνοιγμα οθόνης κινητής εφαρμογής. Το συμβάν περιέχει το όνομα οθόνης (screen_name), την κλάση (screen_class) και τη χρονική σφραγίδα. Σε αντίθεση με την αναλυτική ιστού, όπου το page_view συνδέεται με URL, στις κινητές εφαρμογές οι οθόνες αναγνωρίζονται με βάση το όνομα Activity, Fragment, ViewController ή Custom View.

Δομή του συμβάντος Screen View

ΠαράμετροςΤύποςΠαράδειγμα
screen_nameString"Product Details"
screen_classString"ProductDetailActivity"
previous_screenString"CatalogScreen"
timestampLong1719876543000
duration_secInt45

Η παράμετρος previous_screen είναι ιδιαίτερα σημαντική: επιτρέπει την ανακατασκευή της ακολουθίας μεταβάσεων και τη δημιουργία Screen Flow — χάρτη διαδρομών χρήστη στην εφαρμογή.

Screen View vs Page View: βασικές διαφορές

Screen View και Page View λύνουν την ίδια εργασία — καταγραφή προβολής — αλλά σε διαφορετικά περιβάλλοντα. Στον ιστό, το URL αναγνωρίζει μοναδικά τη σελίδα και το Page View συνδέεται με τη φόρτωση του εγγράφου. Στις κινητές εφαρμογές, η οθόνη είναι μια κατάσταση UI, που δεν αντιστοιχεί απαραίτητα σε ξεχωριστή διεύθυνση.

  • Το Page View συνδέεται με αίτημα HTTP και URL — το Screen View συνδέεται με συμβάν κύκλου ζωής Activity/ViewController
  • Το Page View δεν αντιγράφεται κατά την επιστροφή (χρησιμοποιεί cache) — το Screen View αποστέλλεται ξανά σε κάθε άνοιγμα οθόνης
  • Το Page View είναι κατά μέσο όρο μικρότερο — ο χρήστης περιηγείται σε μια ιστοσελίδα γρηγορότερα από μια κινητή οθόνη με διαδραστικά στοιχεία

Μια άλλη διαφορά — το βάθος περιβάλλοντος. Το Screen View στην κινητή εφαρμογή περιλαμβάνει παραμέτρους κατάστασης: αν ο χρήστης είναι συνδεδεμένος, ποια δεδομένα έχουν φορτωθεί, αν η οθόνη είναι ανοιχτή σε λειτουργία επεξεργασίας. Το Page View στον ιστό σπάνια φέρει τέτοιο περιβάλλον — καταγράφει μόνο το γεγονός φόρτωσης URL. Αυτό καθιστά το Screen View πιο πληροφοριακό για την αναλυτική προϊόντος, καθώς κάθε συμβάν μπορεί να τμηματοποιηθεί ανά κατάσταση.

Τυπικά λάθη κατά την εργασία με το Screen View

Πρώτο λάθος — αποστολή screen_view σε κάθε αλλαγή κατάστασης εντός οθόνης (εναλλαγή καρτελών, άνοιγμα αναδυόμενου παραθύρου). Το Screen View πρέπει να καταγράφει μόνο την πλήρη μετάβαση σε νέα οθόνη, όχι μικρο-αλληλεπιδράσεις.

Δεύτερο λάθος — χρήση τεχνικού ονόματος κλάσης αντί για αναγνώσιμο όνομα. Το „ProductDetailActivityKt” είναι άχρηστο για τον αναλυτή — χρησιμοποιήστε „Product Details” στο screen_name.

Τρίτο λάθος — αποστολή screen_view χωρίς τα αντίστοιχα πεδία. Το κενό screen_name δημιουργεί ένα σύνολο άχρηστων εγγραφών που δεν μπορούν να ομαδοποιηθούν. Στέλνετε πάντα τουλάχιστον screen_name και screen_class, ακόμη και σε δοκιμαστικές οθόνες.

Πώς να παρακολουθείτε το Screen View;

Υλοποίηση της παρακολούθησης Screen View εξαρτάται από την αρχιτεκτονική πλοήγησης. Ας εξετάσουμε τις αυτόματες και χειροκίνητες προσεγγίσεις στο παράδειγμα των Jetpack Compose και SwiftUI.

Android: αυτόματη παρακολούθηση στο Jetpack Compose

Χρησιμοποιήστε LifecycleEventObserver σε επίπεδο NavigationComponent. Κάθε φορά που ο χρήστης μεταβαίνει σε μια νέα διαδρομή, ενεργοποιείται το συμβάν screen_view.

kotlin
class ScreenTrackingObserver(
    private val analytics: AnalyticsProvider
) : LifecycleEventObserver {

    override fun onStateChanged(
        source: LifecycleOwner,
        event: Lifecycle.Event
    ) {
        if (event == Lifecycle.Event.ON_RESUME) {
            val route = source.getRouteFromLifecycleOwner()
            analytics.logScreenView(
                screenName = route.screenName,
                screenClass = source.getLocalClassName()
            )
        }
    }
}

// Σύνδεση στο NavHost
fun NavBackStackEntry.trackScreenView(analytics: AnalyticsProvider) {
    lifecycle.addObserver(ScreenTrackingObserver(analytics))
}

Η προσέγγιση εγγυάται ότι το screen_view αποστέλλεται σε κάθε επιστροφή της οθόνης στο προσκήνιο, συμπεριλαμβανομένης της επιστροφής από το παρασκήνιο. Lifecycle.Event.ON_RESUME είναι η σωστή στιγμή για παρακολούθηση, όχι ON_START ή ON_CREATE.

iOS: αυτόματη παρακολούθηση στο SwiftUI

Στο SwiftUI χρησιμοποιείται ο τροποποιητής onAppear που είναι ενσωματωμένος σε κάθε View. Για αυτοματοποίηση δημιουργείται ένα ViewModifier.

swift
struct ScreenTrackingModifier: ViewModifier {

    let screenName: String

    func body(content: Content) -> some View {
        content.onAppear {
            Analytics.shared().logScreenView(
                name: screenName,
                className: "\(Self.self)"
            )
        }
    }
}

extension View {
    func trackScreen(_ name: String) -> some View {
        modifier(ScreenTrackingModifier(screenName: name))
    }
}

// Χρήση:
ProductDetailView()
    .trackScreen("Product Details")

Ο τροποποιητής trackScreen προστίθεται σε οποιοδήποτε View με μία γραμμή. Αυτή είναι μια καθαρή και κλιμακούμενη λύση για έργα SwiftUI.

Screen View σε πολυαρθρωτικά έργα

Σε έργα με αρθρωτή αρχιτεκτονική, κάθε άρθρωμα μπορεί να χρησιμοποιεί τη δική του ονομασία οθονών, οδηγώντας σε διπλασιασμό του screen_name. Ένα συγκεντρωτικό enum ScreenName λύνει το πρόβλημα — όλες οι οθόνες ονομάζονται σύμφωνα με ένα ενιαίο πρότυπο σε ένα μέρος. Η προσθήκη νέας οθόνης απαιτεί μόνο μια νέα σταθερά στο enum, όχι αναζήτηση σε ολόκληρο τον κώδικα.

Χρησιμοποιήστε sealed class για την περιγραφή του screen_name με ομαδοποίηση ανά λειτουργία: ProfileScreen.CHANGE_PASSWORD, OrdersScreen.ORDER_HISTORY, CatalogScreen.SEARCH_RESULTS. Αυτό απλοποιεί το φιλτράρισμα στις αναλυτικές αναφορές.

Screen Flow: ανάλυση μεταβάσεων μεταξύ οθονών

Screen Flow (ή Path Analysis) — οπτικοποίηση της ακολουθίας οθονών που διασχίζει ο χρήστης. Είναι το κύριο εργαλείο για τον εντοπισμό σημείων συμφόρησης στην πλοήγηση.

Δημιουργία Screen Flow

Κάθε Screen View με παράμετρο previous_screen δημιουργεί μια ακμή γράφου: CatalogScreen → ProductDetails → CartScreen. Συγκεντρώνοντας όλες τις μεταβάσεις, δημιουργείται ο χάρτης διαδρομών. Η διοχέτευση τριών βημάτων βασισμένη στο Screen Flow δείχνει πού εγκαταλείπουν οι χρήστες.

  • Βήμα 1: HomeScreen → CatalogScreen (95% περνά)
  • Βήμα 2: CatalogScreen → ProductDetails (65% περνά — 35% φεύγει)
  • Βήμα 3: ProductDetails → AddToCart (30% περνά — χάνουμε άλλο 35%)

Σύμφωνα με δεδομένα της Mixpanel (2024), η ανάλυση Screen Flow αποκαλύπτει έως και το 40% των προβλημάτων UX που δεν είναι ορατά κατά την ανάλυση μεμονωμένων συμβάντων. Για παράδειγμα, η συχνή μετάβαση ProductDetails → HomeScreen χωρίς αγορά υποδεικνύει πρόβλημα με την τιμή ή την περιγραφή του προϊόντος.

Ανάλυση Drop-off

Drop-off — το σημείο όπου ο χρήστης εγκαταλείπει το σενάριο. Αν μετά την οθόνη φόρτωσης το 60% των χρηστών φεύγει, το πρόβλημα είναι στην ταχύτητα φόρτωσης ή στην κίνηση. Αν μετά το Paywall — στην τιμή ή την αξία της συνδρομής.

Screen Flow στο Firebase και BigQuery

Firebase δεν παρέχει έτοιμη αναφορά Screen Flow, αλλά τα δεδομένα screen_view είναι διαθέσιμα στο BigQuery. Δημιουργήστε ένα ερώτημα που ομαδοποιεί τις μεταβάσεις ανά ζεύγος (previous_screen, screen_name) και υπολογίζει τη συχνότητα. Το αποτέλεσμα είναι ένας πίνακας μεταβάσεων που μπορεί να οπτικοποιηθεί στο Looker Studio ως διάγραμμα Sankey.

Συμπληρώστε το Screen Flow με τμηματοποίηση: ξεχωριστά για νέους χρήστες (πρώτες 7 ημέρες) και για επιστρέφοντες. Οι νέοι χρήστες κολλάνε συχνότερα σε οθόνες εισαγωγής, οι έμπειροι φτάνουν γρηγορότερα σε ενέργειες-στόχους. Η σύγκριση δύο ροών αποκαλύπτει σημεία συμφόρησης προσαρμογής.

Εργαλεία για ανάλυση Screen View

Επιλογή εργαλείου για Screen View εξαρτάται από τον προϋπολογισμό, την τεχνολογική στοίβα και την απαιτούμενη λεπτομέρεια. Ας εξετάσουμε τρεις δημοφιλείς λύσεις.

Firebase Analytics (δωρεάν)

Firebase παρακολουθεί αυτόματα οθόνες μέσω της παραμέτρου screen_view σε κάθε συμβάν. Δεν απαιτεί επιπλέον κώδικα μετά την ενσωμάτωση SDK. Περιορισμός: το screen_name δημιουργείται από το Activity/ViewController, το οποίο δεν δίνει πάντα αναγνώσιμα ονόματα.

Amplitude (επαγγελματικό)

Amplitude προσφέρει ενσωματωμένο Pathfinder — οπτικό κατασκευαστή Screen Flow. Υποστηρίζει user property και τμηματοποίηση ανά ομάδες. Επιτρέπει τη μετονομασία οθονών από την πλευρά του διακομιστή χωρίς αλλαγές στον κώδικα της εφαρμογής.

Mixpanel (μεσαίο τμήμα)

Mixpanel παρέχει αναφορά Flows σε πραγματικό χρόνο. Μπορεί να δείξει όχι μόνο γραμμικές μεταβάσεις, αλλά και διακλαδώσεις — ποιες οθόνες επισκέπτονται μετά από μια συγκεκριμένη οθόνη. Ενσωματώνεται με SDK iOS, Android, Flutter και React Native.

Επίδραση του Screen View στις επιδόσεις

Κάθε συμβάν screen_view είναι μια δικτυακή αποστολή δεδομένων. Αν η εφαρμογή στέλνει screen_view σε κάθε εναλλαγή καρτέλας (20+ ανά λεπτό), δημιουργεί πρόσθετο φορτίο. Βελτιστοποίηση: αποθηκεύστε προσωρινά το screen_view και στείλτε μαζικά κάθε 5 δευτερόλεπτα. Το Firebase συγκεντρώνει αυτόματα τα συμβάντα, αλλά τα προσαρμοσμένα SDK μπορεί να στέλνουν κάθε κλήση αμέσως.

Μετρήστε το υπερφόρτωμα της παρακολούθησης: προσθέστε χρονική σφραγίδα σε κάθε screen_view και υπολογίστε την καθυστέρηση από το onResume έως την αποστολή. Αν η καθυστέρηση υπερβαίνει τα 100 ms, η παρακολούθηση επηρεάζει το UX. Χρησιμοποιήστε νήμα παρασκηνίου για αποστολή για να μην μπλοκάρετε το νήμα UI. Σε συσκευές χαμηλού επιπέδου, η διαφορά είναι αισθητή.

Συχνές Ερωτήσεις

Πρέπει να στέλνω Screen View για κάθε τμήμα εντός TabLayout;

Ναι, κάθε τμήμα με δικό του περιεχόμενο είναι ξεχωριστή οθόνη. Ένα TabLayout με τρεις καρτέλες πρέπει να στέλνει τρία διαφορετικά screen_view κατά την εναλλαγή. Εξαίρεση: αναδυόμενες καρτέλες χωρίς ανεξάρτητη πλοήγηση.

Πώς διαφέρει το screen_name από το screen_class;

screen_class — το τεχνικό όνομα της κλάσης (π.χ. „MainActivity”), χρησιμοποιείται από προγραμματιστές. screen_name — αναγνώσιμο όνομα („Κύρια οθόνη”), χρησιμοποιείται σε αναφορές. Το SDK συχνά συμπληρώνει αυτόματα το screen_class, το screen_name πρέπει να οριστεί χειροκίνητα.

Πώς να αποφύγω τον διπλασιασμό του Screen View κατά την περιστροφή οθόνης;

Κατά την περιστροφή, η συσκευή αναδημιουργεί το Activity, προκαλώντας επαναλαμβανόμενο screen_view. Χρησιμοποιήστε έλεγχο κατάστασης: στείλτε το συμβάν μόνο όταν αλλάζει η οθόνη, όχι σε κάθε ON_RESUME. Το Firebase και το Amplitude αφαιρούν αυτόματα διπλότυπα screen_view.

Πόσα συμβάντα Screen View είναι φυσιολογικά για έναν χρήστη την ημέρα;

Για μια μέση εφαρμογή — 10–30 screen_view ανά χρήστη την ημέρα. Εφαρμογές ειδήσεων: 15–20. Παιχνίδια: 20–40. Βοηθητικά προγράμματα: 5–10. Αν ο αριθμός υπερβαίνει τα 100, ελέγξτε αν οι οθόνες αποστέλλονται σε κάθε πάτημα, όχι σε πλήρη μετάβαση.

Μπορεί το Screen View να χρησιμοποιηθεί για ανάλυση A/B δοκιμών;

Ναι, το screen_view είναι ένας από τους δείκτες σε A/B δοκιμές. Συγκρίνετε τον αριθμό προβολών οθόνης μεταξύ των παραλλαγών A και B. Αν η παραλλαγή B της οθόνης „Checkout” λαμβάνει 15% λιγότερα screen_view, αυτό είναι σήμα προβλήματος στην κάρτα προϊόντος.

Σύνοψη

  • Screen View — βασικό συμβάν αναλυτικής που καταγράφει το άνοιγμα οθόνης στην κινητή εφαρμογή.
  • Screen View vs Page View: η κινητή οθόνη αναγνωρίζεται με βάση το όνομα Activity/ViewController, όχι URL.
  • Αυτόματη παρακολούθηση μέσω LifecycleObserver (Android) ή ViewModifier (iOS) είναι το βιομηχανικό πρότυπο.
  • Screen Flow — γράφος μεταβάσεων μεταξύ οθονών, αποκαλύπτει έως και το 40% των προβλημάτων UX.
  • Ανάλυση Drop-off βασισμένη στο screen_view δείχνει τα ακριβή σημεία απώλειας χρηστών στη διοχέτευση.
  • Firebase, Amplitude και Mixpanel είναι τα κύρια εργαλεία για ανάλυση Screen View.
  • Σωστό όνομα οθόνης (screen_name) είναι υποχρεωτική προϋπόθεση για αναγνώσιμες αναφορές.

Θα αναπτύξουμε μια εφαρμογή για κινητά έτοιμη για χρήση

Η IT Sectr δημιουργεί εφαρμογές iOS και Android για νεοφυείς επιχειρήσεις και επιχειρήσεις από το 2017. Θα σας συμβουλεύσουμε και θα προτείνουμε την καλύτερη λύση.

Συζήτηση έργου

Διαβάστε επίσης