Wydarzenia w kanałach pozwalają śledzić postępy użytkownika poprzez kluczowe etapy twojego doświadczenia. Obejmuje to:
- Onboarding - Gdzie użytkownicy wysuwają, kiedy zaczynają pracę z twoim doświadczeniem?
- Postęp - Gdzie użytkownicy przestają postępować przez twoje doświadczenie?
- Sklep - Gdzie użytkownicy rezygnują z zakupów?
Gdy twoje doświadczenie zacznie śledzić wydarzenia w kanałach, odblokujesz stronę kanału w panelu analitycznym na Creator Hub.Możesz dodać zakładki do pulpitu nawigacyjnego dla maksymalnie dziesięciu funkcji.
Śledź wydarzenia w kanałach
Aby śledzić wydarzenia w kanałach, najpierw zidentyfikuj najważniejsze kanały w swoim doświadczeniu i podziel je na kroki.Przepływ onboardingu to świetne miejsce do rozpoczynać, ponieważ to tutaj możesz tracić większość swoich użytkowników.
Śledź jednorazowe funele
Jednorazowy funnel monitoruje wydarzenia konwersji, które występują tylko raz na użytkownika.
Powszechnym przykładem jest kanał wdrożeniowy który jest krytyczny, aby zrozumieć, jak poprawić nowy czas utrzymywania użytkowników i czas sesji w swoim doświadczeniu .Poniższy przykład to funnel wdrożeniowy dla Rośliny, doświadczenie tycoona, w którym nowi użytkownicy wchodzą na farmę, sadzą nasiona, podlewają roślinę i więcej w kolejności sekwencyjnej:
Śledzenie kroków onboardingu w fabryce
local AnalyticsService = game:GetService("AnalyticsService")-- Zapisz pierwszy krok FTUEAnalyticsService:LogOnboardingFunnelStepEvent(player,1, -- Numer kroku"In Farm" -- Nazwa kroku)-- Zapisz drugi krokAnalyticsService:LogOnboardingFunnelStepEvent(player,2, -- Numer kroku"Plant Seed" -- Nazwa kroku)
Śledź powtarzające się funele
Powtarzalny funnel monitoruje zdarzenia konwersji, które występują wielokrotnie na użytkownika.
Powszechnym przykładem jest funnel sklepowy , który jest krytyczny, aby zrozumieć, jak poprawić konwersję płatnika, ARPPU i przychody swojego doświadczenia.Poniższy przykład to kanał sklepu, w którym użytkownicy otwierają sklep, oglądają przedmiot, dodają przedmiot do koszyka i więcej.
Użyj funnelSessionId, aby odróżnić różne sesje tego samego użytkownika w powtarzalnym kanale, takie jak otwarcie sklepu wielokrotnie w jednej sesja.
Śledzenie kroków sklepu
local AnalyticsService = game:GetService("AnalyticsService")local HttpService = game:GetService("HttpService")funnelSessionId = HttpService:GenerateGUID()-- Loguj, gdy użytkownik otwiera sklepAnalyticsService:LogFunnelStepEvent(player,"ArmoryCheckout", -- Nazwa kanału używana do grupowania kroków razemfunnelSessionId, -- ID sesji przepustki dla tej unikalnej sesjapłatniczej1, -- Numer kroku"Opened Store" -- Nazwa kroku)-- Loguj, gdy użytkownik ogląda przedmiotAnalyticsService:LogFunnelStepEvent(player,"ArmoryCheckout", -- Nazwa kanału używana do grupowania kroków razemfunnelSessionId, -- ID sesji przepustki dla tej unikalnej sesjapłatniczej2, -- Numer kroku"Viewed Item" -- Nazwa kroku)-- Rejestruj, gdy użytkownik dodaje przedmiot do koszykaAnalyticsService:LogFunnelStepEvent(player,"ArmoryCheckout", -- Nazwa kanału używana do grupowania kroków razemfunnelSessionId, -- ID sesji przepustki dla tej unikalnej sesjapłatniczej3, -- Numer kroku"Added to Cart" -- Nazwa kroku)
Wdroż funkcję funnelSessionId
Podczas wdrażania funkcji może pomóc funnelSessionId śledzić Twoje wydarzenia, ale może nie być wymagany w każdym instancja. Użyj następujących wytycznych:
- Jednorazowe funnelki - Nie musisz używać funnelSessionId jednorazowych funnelków, ponieważ występują tylko raz na użytkownika.
- Magazynuj rury - Użyj funnelSessionId, aby odróżnić różne sesje tego samego użytkownika w powtarzalnym kanale, takie jak otwarcie sklepu wielokrotnie w jednej sesji w poprzednim przykładzie.W przypadkach takich, gdzie gracz może otworzyć sklep wielokrotnie w jednej sesja, zaleca się użycie GUID jako funnelSessionId.
- Ulepszenia przedmiotów - Użyj funnelSessionId, aby odróżnić różne ścieżki aktualizacji przedmiotów, zwykle przez dłuższy okres czasu niż pojedyncza sesja gry.Zamiast używać identyfikatora GUID, jak w przypadku kanału sklepowego, często możesz zbudować unikalny klucz na podstawie aktualizowanego przedmiotu, na przykład: <playerId>-<itemId> .
Pierwszy krok
Funele zaczynają się, gdy pierwszy krok zostanie zarejestrowany.Jeśli chcesz natychmiast rozpocząć kanał przy dołączeniu gracza, musisz zarejestrować pierwszy krok na wydarzeniu PlayerAdded.
Rejestrowanie pierwszego kroku w wydarzeniu PlayerAdded
local AnalyticsService = game:GetService("AnalyticsService")
local Players = game:GetService("Players")
Players.PlayerAdded:Connect(function(player)
AnalyticsService:LogOnboardingFunnelStepEvent(
player,
1, -- Numer kroku
"Player Joined" -- Nazwa kroku
)
end)
Powtarzane kroki
Jeśli użytkownik powtarza krok w funnelu, funnel rozważa tylko pierwszą instancję kroku.Na przykład, jeśli użytkownik rejestruje krok 2 z funkcji dwa razy, funnel liczy tylko pierwszą instancję kroku 2.
Pomiń kroki
Jeśli z jakiegoś powodu pominiesz krok w funnelu, wcześniejsze kroki zostaną automatycznie ukończone.
Na przykład, jeśli masz kanał z krokami 1, 2 i 3.Jeśli zapiszesz krok 3 bez zapisywania kroków 1 lub 2, kanał uzna kroki 1 i 2 za zakończone.
Użyj filtrów kanału
Roblox dostarcza filtry, które pomagają analizować dane z kanału.Obejmują one dane gracza, dane urządzenia, a także możesz wysłać dane niestandardowe.W niektórych przypadkach status gracza może się zmienić podczas rury, na przykład, gdy gracz przełącza urządzenia z mobilnego na komputer stacjonarny.
Aby uniknąć podwójnego liczenia rur, filtry zawsze dotyczą tylko pierwszego kroku rury.Oznacza to, że jeśli gracz przełączy urządzenia podczas rury, rura zostanie przypisana tylko do jego urządzenia w momencie wejścia do rury.
Podobnie, rury są wyświetlane według kohorty, co oznacza, że jeśli gracz wchodzi do rury w dniu 6/19, rura zostanie przypisana do kohorty 6/19, nawet jeśli ukończy rurę w dniu 6/20.
Modyfikuj funele
Po dokonaniu aktualizacji kroków w funnel ważne jest ustawienie poprawnego przedziału dat, aby zobaczyć najnowszy funnel.Jeśli obecna data wynosi 6/21, a aktualizowałeś krok 2 swojego funnelu onboardingowego w dniu 6/14, powinieneś ustawić przedział dat na 6/14 – 6/21, aby zobaczyć najnowszy funnel.
Jeśli wybierzesz przedział dat, który obejmuje aktualizacjakroku przepustki, ostrzeżenie wyświetla się na odpowiednim kroku:

Chroń swoje funnel przed exploiterami
Aby utrzymać dane w czystości, ważne jest dodanie pewnego poziomu walidacji danych w kodzie serwera, aby zapobiec wysyłaniu nieprawidłowych danych do twojej usługi analitycznej przez exploiterów.
Na przykład, jeśli masz funnel wdrożeniowy z 3 krokami, możesz użyć RemoteEvent dla klienta, aby powiadomił serwer, gdy gracz ukończył każdy krok, i dodać kontrolę serwera, aby upewnić się, że numer kroku jest ważny przed zapisem wydarzenia:
kodwydarzenia po stronie klienta
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local onboardingEvent = ReplicatedStorage:WaitForChild("OnboardingEvent")
local function fireOnboardingEvent(step: number)
onboardingEvent:FireServer({ step = step })
end
fireOnboardingEvent(1)
fireOnboardingEvent(2)
fireOnboardingEvent(10) -- invalid step
kodwydarzenia po stronie serwera
local AnalyticsService = game:GetService("AnalyticsService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local onboardingEvent = ReplicatedStorage:WaitForChild("OnboardingEvent")
local maxStep = 3
local function onPlayerEventFired(player: Player, args: { step: number })
local step = args.step
if(step > maxStep) then
warn(`Invalid tutorial step {step} received from client.`)
return
end
print(`{player.Name} completed step: {step}`)
AnalyticsService:LogOnboardingFunnelStepEvent(player, step)
end
onboardingEvent.OnServerEvent:Connect(onPlayerEventFired)
Użyj niestandardowych pól
Wydarzenia w funnelu pozwalają również na rozbijanie na niestandardowych polach, aby ułatwić porównanie między segmentami.Na przykład możesz śledzić, który samochód startowy daje graczom najlepszy postęp, lub przymocować różne mapy, aby zobaczyć, czy dana mapa ma lepszy cykl gry niż inne.

Aby uzyskać więcej informacji, zobacz niestandardowe pola.
Użyj rur, aby rozwinąć swoje doświadczenie
Jednym z najważniejszych kanałów do śledzenia jest wdrożenie, ponieważ wiele doświadczeń zmaga się z nową retencją użytkowników i zaangażowaniem.
W funnel onboardingowym dla Rośliny poniżej największy spadek to krok 2 ("Nasiona Rośliny").

Na podstawie tych danych możesz:
- Dodaj kontekstowe wskaźniki, aby lepiej skierować użytkowników do sadzenia nasion, gdy dopiero zaczynają.
- Zaprojektuj nowe doświadczenie użytkownika, które wymaga, aby użytkownicy posadzili nasiona i wyhodowali udaną roślinę, zanim zbadają resztę doświadczenia.Możesz poprawić to wydarzenie, tworząc pozytywne elementy zwrotu informacji lub inne techniki projektowania gry.
