Kullanıcınızın ilerlemesini takip etmenizi sağlayan etkinlikler Bu, şunları içerir:
- Onboarding - Kullanıcıların deneyiminizle ilgili olarak ilk başladığında nereye bırakıldığını?
- İlerleme - Kullanıcılar deneyiminizde ilerlemeyi nerede bırakıyor?
- Dükkanlarınızda kullanıcılar satın almayı terk ediyor mu? Deneyiminiz Funnel etkinliklerini izlemeye başladığında, Yaratıcı Hub'daki Analytics dashboard'ının Funnel sayfasının kilidini açacaksınız. Yaratıcı Hub'da yüksek kadar Funnel'a katılabilirsiniz.
İzleme Kanalı Etkinlikleri
Eğlence olaylarını izlemek için önce deneyiminizdeki en önemli eğlenceleri belirleyin ve onlara adımlar halinde bölün. Onboarding akışınız, kullanıcılarınızın çoğunu kaybettiğiniz yerdir, bu nedenle onları izlemek için harika bir yerdir.
Tek Kullanımlık Kanalları Takibi
Tek bir giriş monitörü, sadece bir kullanıcı için bir kez oluşan dönüşüm olayları izler.
Yaygın bir örnek, bir onboarding funnel which is critical to understand how to improve your experience's new user retention ve session time. The following example is an onboarding funnel for Plant, bir tycoon deneyiminde, yeni kullanıcılar bir çiftliğe, tohum ekin, su bitkisi ve daha fazlasını sırayla girebilir:
Bitki İçinde Onboarding Adımları Takibi
local AnalyticsService = game:GetService("AnalyticsService")-- FTUE'nin ilk adımını günlükleyinAnalyticsService:LogOnboardingFunnelStepEvent(player,1, -- Adım numarası"In Farm" -- Adım adı)-- İkinci adımı günlükleyinAnalyticsService:LogOnboardingFunnelStepEvent(player,2, -- Adım numarası"Plant Seed" -- Adım adı)
Tekrarlanan Kanalları Takibi
Tekrarlayan bir funil, kullanıcı başına birkaç kez gerçekleşen dönüşüm etkinliklerini izler.
Sıradan bir örnek, bir dükkan funeli which is critical to understand how to improve your experience's payer conversion, ARPPU, ve gelir. The following example is a shop funnel where users open mağaza, view öğe, add item to cart, and more.
Aynı kullanıcının tekrar eden funellerindeki farklı oturumları ayırt etmek için funnelSessionId kullanın. Örneğin, bir oturumda dükkanınızı birden fazla kez açarsanız.
Dükkan Adımlarını Takibi
local AnalyticsService = game:GetService("AnalyticsService")local HttpService = game:GetService("HttpService")funnelSessionId = HttpService:GenerateGUID()-- Kullanıcı dükkanı açtığında günlük mağazaAnalyticsService:LogFunnelStepEvent(player,"ArmoryCheckout", -- Adımları birleştirmek için kullanılan kanal ismifunnelSessionId, -- Bu benzersiz ödeme oturumiçin kanal seansı ID'si1, -- Adım numarası"Opened Store" -- Adım adı)-- Kullanıcı bir öğeyi gösterdiğinde günlük kaydıAnalyticsService:LogFunnelStepEvent(player,"ArmoryCheckout", -- Adımları birleştirmek için kullanılan kanal ismifunnelSessionId, -- Bu benzersiz ödeme oturumiçin kanal seansı ID'si2, -- Adım numarası"Viewed Item" -- Adım adı)-- Kullanıcının alışveriş sepetine girdiğinde kaydolAnalyticsService:LogFunnelStepEvent(player,"ArmoryCheckout", -- Adımları birleştirmek için kullanılan kanal ismifunnelSessionId, -- Bu benzersiz ödeme oturumiçin kanal seansı ID'si3, -- Adım numarası"Added to Cart" -- Adım adı)
FunnelSessionId'i uygulamak
Eğlence yapılarını uygularken, bir funnelSessionId ile etkinliklerinizi takip etmenize yardımcı olabilir, ancak her durumda gerekli olmayabilir. Şu kılavuzları kullanın:
- Tek Kullanımlık Kanallar - Tek kullanımlık kanallar için sadece funnelSessionId kullanmanız gerekmez, çünkü sadece kullanıcı başına bir kez oluşur.
- Mağaza Kanalları - Tekrarlayan bir funil içinde aynı kullanıcının farklı oturumlarını ayırt etmek için funnelSessionId kullanın. Bu, aynı kullanıcının mağazayı birden fazla seansda açması gibi durumlarda GUID'
- Eşya Yükseltmeleri - Genellikle tek bir oyun oturumundan daha uzun bir süre için farklı eşya yükseltme yollarını ayırt etmek için funnelSessionId kullanın. Bir GUID kullanıyor olmayan yerel mağaza funnel kasında, genellikle bir unik anahtar oluşturabilir
Başlangıç Adımı
İlk adım günlüğüne kaydedildiğinde işaretleme başlar. Eğer oyuncuya hemen katılma eşamasında eğitimi başlatmak istiyorsanız, ilk adımı PlayerAdded etkinliğine günlüğe kaydedmeniz gerekir.
PlayerAdded etkinliğinin ilk adımını günlükle
local AnalyticsService = game:GetService("AnalyticsService")
local Players = game:GetService("Players")
Players.PlayerAdded:Connect(function(player)
AnalyticsService:LogOnboardingFunnelStepEvent(
player,
1, -- Adım numarası
"Player Joined" -- Adım adı
)
end)
Tekrarlanan Adımlar
Bir kullanıcı bir funnel'da bir adımı tekrarlarsa, funnel sadece funnel'in ilk görüntüsünü görüntüler. Örneğin, bir kullanıcı adım 2'yi iki kez günlüğe kaydederse, funnel sadece adım 2'nin ilk görüntüsünü sayar.
Adımları Atıyor
Bir nedenle funnel'da bir adım atlarsanız, daha önce adımlar otomatik olarak tamamlanır.
Örneğin, 1, 2 ve 3 adımları olan bir funeliniz varsa. 1 veya 2 adımları olmadan 3'i günlük girişi yaparsanız, funel 1 ve 2 adımlarını tamamladığını düşünecektir.
Kanalları Filtrelemek
Roblox, tüm geliştiricilerin işlevselliğini artırmak için filtreler sağlar. Bunlar aracılığıyla oluşturulan oyuncu verileri, cihaz verileri ve kullanıcıların kendi özel verilerini de gönderebilirsiniz. Bazı durumlarda, bir oyuncunun durumunu değiştirebilir, böylece oyuncu cihazlarından masaüstüne geçtiğindeki durumu gösterir.
Çift sayılı funelleri önlemek için, filtreler her zaman yalnızca funnel'in ilk adımına uygulanır. Bu, bir oyuncu funnel'i boyunca cihaz değiştirdiğinde, funnel'in sadece onların cihazına atfedileceği anlamına gelir.
Benzer şekilde, eğlence girişleri bir kohor bazında gösterilir, yani bir oyuncu 6/19'a giriş yaparsa, eğlence 6/19 kohoruna atfedilecektir, böylece eğlenceyi 6/20'de tamamlasalar bile 6/19 kohoruna atfedilecektir.
Kanalları Modifiye Etme
Eğlence adımlarınızı güncelledikten sonra, en son eğlenceyi görmek için doğru günlük aralığı ayarlamak önemlidir. Eğer mevcut günlük 6/21 ve onboarding funnel'inizin 6/14'teki 2. adımını güncellediyseniz, günlük aralığı 6/14 - 6/21 olarak ayarlamanız gerekir.
Eğlence adımı güncellemesi içeren bir tarih seçerseniz, ilgili adımda bir uyarı görüntülenir:
Kanallarınızı Ele Geçirilere Karşı Korumak
Verilerinizi temiz tutmak için, sunucu kodunuzda biraz veri geçerlilik doğrulaması eklemek önemlidir, böylece hacker'ların verilerinizi analitik hizmetinize göndermesini önleyebilirsiniz.
Örneğin, bir Onboarding funnel'ınız varsa, bir RemoteEvent ile kullanıcının her adımı tamamladığında sunucuya bildirmesini sağlayabilirsiniz ve etkinleştirme sayısını doğrulamak için bir sunucu check ekleyebilirsiniz:
Müşteri-taraflı etkinlik kodu
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
Sunucu-taraflı etkinlik kodu
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)
Özel Alanları Kullanma
Ayrıca, etkinlikleri özelleştirilmiş alanlarda kırılabilir hale getirerek bölümler arasında daha kolay bir karşılaştırma desteklemek için kullanabilirsiniz. Örneğin, bir oyuncunun hangi başlangıç arabasının en iyi ilerlemeyi sağladığını izleyebilir veya belirli bir haritanın diğer haritalardan daha iyi bir oyun döngüsüne sahip olduğunu görebilirsiniz.
Daha fazla bilgi için, Özel alanlar bakın.
Deneyiminizi Büyütmek İçin Kanalları Kullanıyor
İzlemenin en önemli kanallarından biri de onboarding'dir, çünkü birçok deneyim yeni kullanıcı tutma ve etkileşim sıkıntısı ile mücadele eder.
Aşağıdaki Bitki için giriş fununun büyük düşüşü adım 2 ("Plant Seed").
Bu verilere dayanarak, şunları yapabilirsiniz:
- Kullanıcıların başlangıç sırasında tohum ekmek için daha iyi yönlendirmek için konteks değerlerine eklemek için konteks değerlerine eklemek için eklemek için eklemek için eklemek için eklemek için eklemek için eklemek için eklemek için eklemek için eklemek için eklemek için eklemek için eklemek için eklemek için eklemek için eklemek için eklemek için eklemek için eklemek için eklemek için eklemek için eklemek için eklemek için eklemek için ek
- Kullanıcıların tohumlarını ekipte ve deneyin geri kalanını keşfetmeden önce başarılı bir bitki yetiştirmesini gerektiren yeni bir kullanıcı deneyimi tasarlayın. Bu etkinliği pozitif geri bildirim elemanları veya diğer oyun tasarımı teknikleri oluşturarak geliştirebilirsiniz.