Unity için Google Analytics Eklentisi - API Referansı

Bu dokümanda nasıl veri gönderileceği açıklanmakta ve Unity için Google Analytics Eklentisi için tüm yöntemler açıklanmaktadır.

Giriş

Unity için GA Eklentisini kullanarak Google Analytics'e veri gönderirken Temel veya Oluşturucu yöntemini kullanabilirsiniz. Kampanya parametrelerini veya özel boyutları ya da metrikleri isabetlere eklemek istiyorsanız Builder yöntemleri gerekir. İsabetler, her iki yöntemle de değiştirilebilir.

Projenizde Unity için Google Analytics Eklentisini ayarlamak ve yapılandırmak için Geliştirici Kılavuzu'nu takip edin.

Genel

En Popüler Dispatch Şarkıları

Ağ bağlantısı varsa, isabetleri (görünüm, etkinlikler vb.) Google Analytics'e gönderir.

public void DispatchHits();

İlgili kaynaklar:

Oturum Kontrolü

Oturum, oyununuzla kullanıcı etkileşiminin tek bir dönemini temsil eder. Oturumlar, ekran görüntülenme, etkinlik ve e-ticaret işlemlerini içeren ölçülen etkinlik için yararlı kapsayıcılardır.

Oturumun başlatılmasını veya sonlandırılmasını zorlamak için aşağıdaki yöntemler kullanılabilir.

// Start a new session.
public void StartSession();
// There should be no need to end a session explicitly. However, if you do
// need to indicate the end of session you can use the following method.
public void StopSession();

İlgili kaynaklar:

Ekranlar

Google Analytics'teki ekranlar, kullanıcıların oyununuzda görüntülediği içerikleri temsil eder. Ekran görüntülenme, Google Analytics raporlarınızda ekran adı olarak kullanılacak tek bir dize alanından oluşur.

Temel

public void LogScreen(string title);

Derleyici

public void LogScreen(AppViewHitBuilder builder);

Örnek

googleAnalytics.LogScreen("Main Menu");

//Builder Hit with all App View parameters (all parameters required):
googleAnalytics.LogScreen(new AppViewHitBuilder()
    .SetScreenName("Main Menu"));

İlgili kaynaklar:

Etkinlikler

Etkinlikler, kullanıcının oyununuzun etkileşimli bileşenleriyle (ör. belirli bir öğenin kullanımı) etkileşimi hakkında veri toplamak için faydalı bir yöntemdir. Bir etkinlik, bir kullanıcının oyununuzla etkileşimini açıklamak için kullanabileceğiniz dört alandan oluşur.

Temel

public void LogEvent(string eventCategory,
    string eventAction,
    string eventLabel,
    long value);

Derleyici

public void LogEvent(EventHitBuilder builder);

Örnek

googleAnalytics.LogEvent("Achievement", "Unlocked", "Slay 10 dragons", 5);

// Builder Hit with all Event parameters.
googleAnalytics.LogEvent(new EventHitBuilder()
    .SetEventCategory("Achievement")
    .SetEventAction("Unlocked")
    .SetEventLabel("Slay 10 dragons")
    .SetEventValue(5));

// Builder Hit with minimum required Event parameters.
googleAnalytics.LogEvent(new EventHitBuilder()
    .SetEventCategory("Achievement")
    .SetEventAction("Unlocked"));

İlgili kaynaklar:

Çökmeler ve İstisnalar

Kilitlenme ve istisna ölçümü, oyununuzda meydana gelen yakalamalar ve yakalanmamış kilitlenmelerin ve istisnaların sayısını ve türünü ölçmenize olanak tanır.

Temel

public void LogException(string exceptionDescription, bool isFatal);

Derleyici

public void LogException(ExceptionHitBuilder builder);

Örnek

googleAnalytics.LogException("Incorrect input exception", true);

// Builder Hit with all Exception parameters.
googleAnalytics.LogException(new ExceptionHitBuilder()
    .SetExceptionDescription("Incorrect input exception")
    .SetFatal(true));

// Builder Hit with minimum required Exception parameters.
googleAnalytics.LogException(new ExceptionHitBuilder());

İlgili kaynaklar:

Kullanıcı Zamanlamaları

Kullanıcı zamanlamalarını ölçmek, Google Analytics'te bir dönemi ölçmek için yerel bir yol sunar. Örneğin bu, kaynak yükleme sürelerini ölçmek için faydalı olabilir.

Temel

public void LogTiming(string timingCategory,
    long timingInterval,
    string timingName,
    string timingLabel);

Derleyici

public void LogTiming(TimingHitBuilder builder);

Örnek

googleAnalytics.LogTiming("Loading", 50L, "Main Menu", "First Load");

// Builder Hit with all Timing parameters.
googleAnalytics.LogTiming(new TimingHitBuilder()
    .SetTimingCategory("Loading")
    .SetTimingInterval(50L)
    .SetTimingName("Main Menu")
    .SetTimingLabel("First load"));

// Builder Hit with minimum required Timing parameters.
googleAnalytics.LogTiming(new TimingHitBuilder()
    .SetTimingCategory("Loading")
    .SetTimingInterval(50L));

İlgili kaynaklar:

Sosyal Medya Etkileşimleri

Sosyal etkileşim ölçümü, içeriğinize yerleştirilen çeşitli sosyal ağ paylaşımı ve öneri widget'larıyla bir kullanıcının etkileşimlerini ölçmenizi sağlar.

Temel

public void LogSocial(string socialNetwork,
    string socialAction,
    string socialTarget);

Derleyici

public void LogSocial(SocialHitBuilder builder);

Örnek

googleAnalytics.LogSocial("twitter", "retweet", "twitter.com/googleanalytics/status/482210840234295296");

// Builder Hit with all Social parameters.
googleAnalytics.LogSocial(new SocialHitBuilder()
    .SetSocialNetwork("Twitter")
    .SetSocialAction("Retweet")
    .SetSocialTarget("twitter.com/googleanalytics/status/482210840234295296"));

// Builder Hit with minimum required Social parameters.
googleAnalytics.LogSocial(new SocialHitBuilder()
    .SetSocialNetwork("Twitter")
    .SetSocialAction("Retweet"));

İlgili kaynaklar:

E-Ticaret

E-ticaret ölçümü, oyun içi satın alma ve satışları Google Analytics'e göndermenize olanak tanır. Google Analytics'teki e-ticaret verileri, paylaşılan bir geçiş kimliğiyle ilgili işlem ve öğe isabetlerinden oluşur.

İşlemler

Temel

public void LogTransaction(string transID,
    string affiliation,
    double revenue,
    double tax,
    double shipping);

public void LogTransaction(string transID,
    string affiliation,
    double revenue,
    double tax,
    double shipping,
    string currencyCode);

Derleyici

public void LogTransaction(TransactionHitBuilder builder);

Örnek

googleAnalytics.LogTransaction("TRANS001", "Coin Store", 3.0, 0.0, 0.0);
googleAnalytics.LogTransaction("TRANS001", "Coin Store", 3.0, 0.0, 0.0, "USD");

// Builder Hit with all Transaction parameters.
googleAnalytics.LogTransaction(new TransactionHitBuilder()
    .SetTransactionID("TRANS001")
    .SetAffiliation("Coin Store")
    .SetRevenue(3.0)
    .SetTax(0)
    .SetShipping(0.0)
    .SetCurrencyCode("USD"));

// Builder Hit with minimum required Transaction parameters.
googleAnalytics.LogTransaction(new TransactionHitBuilder()
    .SetTransactionID("TRANS001")
    .SetAffiliation("Coin Store")
    .SetRevenue(3.0)
    .SetTax(0)
    .SetShipping(0.0));

Öğe sayısı

Temel

public void LogItem(string transID,
    string name,
    string SKU,
    string category,
    double price,
    long quantity);

public void LogItem(string transID,
    string name,
    string SKU,
    string category,
    double price,
    long quantity,
    string currencyCode);

Derleyici

public void LogItem(ItemHitBuilder builder);

Örnek

googleAnalytics.LogItem("TRANS001", "Sword", "SWORD1223", "Weapon", 3.0, 2);
googleAnalytics.LogItem("TRANS001", "Sword", "SWORD1223", "Weapon", 3.0, 2, "USD");

// Builder Hit with all Item parameters.
googleAnalytics.LogItem(new ItemHitBuilder()
    .SetTransactionID("TRANS001")
    .SetName("Sword")
    .SetSKU("SWORD1223")
    .SetCategory("Weapon")
    .SetPrice(3.0)
    .SetQuantity(2)
    .SetCurrencyCode("USD"));

// Builder Hit with minimum required Item parameters.
googleAnalytics.LogItem(new ItemHitBuilder()
    .SetTransactionID("TRANS001")
    .SetName("Sword")
    .SetSKU("SWORD1223")
    .SetPrice(3.0)
    .SetQuantity(2));

İlgili kaynaklar:

Özel Boyutlar ve Metrikler

Özel boyutlar; Google Analytics'te meta verilerin isabetler, kullanıcılar ve oturumlarla ilişkilendirilmesini sağlar. Özel metrikler ise Google Analytics'te kendi metriklerinizi oluşturup artırmanızı sağlar.

Kullanmadan önce Özel Boyutlar ve Özel Metrikler oluşturup yapılandırmanız gerekir. Yapılandırılan veriler, Builder yöntemi kullanılarak herhangi bir isabetin bir parçası olarak gönderilebilir.

Derleyici

// Custom Dimension.
public T SetCustomDimension(int dimensionNumber, string value);
// Custom Metric.
public T SetCustomMetric(int metricNumber, string value);

Örnek

// Custom Dimension.
// An AppView hit example, but custom dimensions can be sent with all hit types.
googleAnalytics.LogScreen(new AppViewHitBuilder()
    .SetScreenName("Another screen")
    .SetCustomDimension(1, "200"));

// Custom Metric.
// An Event hit example, but custom metrics can be sent with all hit types.
googleAnalytics.LogEvent(new EventHitBuilder()
    .SetEventCategory("Achievement")
    .SetEventAction("Unlocked")
    .SetEventLabel("Slay 10 dragons")
    .SetEventValue(5)
    .SetCustomMetric(3, "200"));

İlgili kaynaklar:

Kampanyalar

Google Analytics'te kampanyaları ölçmek, kampanyaların ve trafik kaynaklarının oyununuzdaki kullanıcı etkinliğiyle ilişkilendirilmesini sağlar.

Kampanya parametreleri, Builder yöntemi kullanılarak herhangi bir isabetin bir parçası olarak gönderilebilir.

Derleyici

public T SetCampaignName(string campaignName);
public T SetCampaignSource(string campaignSource);
public T SetCampaignMedium(string campaignMedium);
public T SetCampaignKeyword(string campaignKeyword);
public T SetCampaignContent(string campaignContent);
public T SetCampaignID(string campaignID);

Örnek

googleAnalytics.LogTiming(new TimingHitBuilder()
    .SetTimingCategory("Loading")
    .SetTimingInterval(50L)
    .SetTimingName("Main Menu")
    .SetTimingLabel("First load")
    .SetCampaignName("Summer Campaign")
    .SetCampaignSource("google")
    .SetCampaignMedium("cpc")
    .SetCampaignKeyword("games")
    .SetCampaignContent("Free power ups")
    .SetCampaignId("Summer1"));

// Send campaign parameters with timing hit.
// Builder Hit with minimum required Campaign parameters.
googleAnalytics.LogTiming(new TimingHitBuilder()
    .SetTimingCategory("Loading")
    .SetTimingInterval(50L)
    .SetTimingName("Main Menu")
    .SetTimingLabel("First load")
    .SetCampaignSource("google");

İlgili kaynaklar:

Gelişmiş

Bu yöntemler yalnızca, izleyici kavramları hakkında bilgisi olan Google Analytics'in deneyimli kullanıcıları için önerilir.

SetOnTracker

İzleyicide, diğer isabetlerle birlikte gönderilecek değerleri ayarlayın.

fieldName parametresi için Assets/Plugins/Fields.cs değişkenlerini kullanın (ör. Fields.SCREEN_NAME).

public void SetOnTracker(Field fieldName, object value);

Örnek

googleAnalytics.SetOnTracker(Fields.SCREEN_NAME, "Main Menu");

İmha et

Yönetilen kaynakları boşaltın ve izleyiciyi sıfırlayın.

Atma olarak adlandırılıyorsa bir sonraki izleme isabetinin yeni bir izleyici oluşturması gerekir. Bu nedenle, bu yöntemi yalnızca izleme işlemi tamamlandığında tamamlayın. Örneğin, kullanıcı oyununuzdan çıktığında yürütülen onDispose() yönteminde.

public void Dispose();

Örnek

googleAnalytics.Dispose();