Plugin Google Analytics untuk Unity - Referensi API

Dokumen ini menjelaskan cara mengirim data dan mencantumkan semua metode untuk Plugin Google Analytics untuk Unity.

Pengantar

Saat mengirim data ke Google Analytics menggunakan Plugin GA untuk Unity, Anda dapat menggunakan metode Basic atau metode Builder. Metode Builder diperlukan jika Anda ingin menambahkan parameter kampanye atau dimensi atau metrik kustom ke hit. Hit dapat dikirim menggunakan salah satu metode secara bergantian.

Ikuti Panduan Developer untuk menyiapkan dan mengonfigurasi Plugin Google Analytics untuk Unity bagi project Anda.

Umum

Kirim Hit

Mengirim hit (tampilan, peristiwa, dll.) ke Google Analytics jika koneksi jaringan tersedia.

public void DispatchHits();

Referensi terkait:

Kontrol Sesi

Sesi mewakili satu periode interaksi pengguna dengan game Anda. Sesi berfungsi sebagai penampung yang berguna untuk aktivitas terukur, yang mencakup tampilan layar, peristiwa, dan transaksi e-commerce.

Metode berikut dapat digunakan untuk memaksa awal atau akhir sesi.

// 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();

Referensi terkait:

Layar

Layar di Google Analytics mewakili konten yang dilihat pengguna dalam game Anda. Tampilan layar terdiri dari satu kolom string yang akan digunakan sebagai nama layar dalam laporan Google Analytics Anda.

Dasar

public void LogScreen(string title);

Builder

public void LogScreen(AppViewHitBuilder builder);

Contoh

googleAnalytics.LogScreen("Main Menu");

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

Referensi terkait:

Acara

Peristiwa adalah cara yang berguna untuk mengumpulkan data tentang interaksi pengguna dengan komponen interaktif game Anda, seperti penggunaan item tertentu. Peristiwa terdiri dari empat kolom yang dapat Anda gunakan untuk mendeskripsikan interaksi pengguna dengan game Anda.

Dasar

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

Builder

public void LogEvent(EventHitBuilder builder);

Contoh

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"));

Referensi terkait:

Error & Pengecualian

Pengukuran error dan pengecualian memungkinkan Anda mengukur jumlah dan jenis error yang tertangkap dan tidak tertangkap serta pengecualian yang terjadi dalam game.

Dasar

public void LogException(string exceptionDescription, bool isFatal);

Builder

public void LogException(ExceptionHitBuilder builder);

Contoh

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());

Referensi terkait:

Waktu Pengguna

Mengukur waktu pengguna menyediakan cara native untuk mengukur jangka waktu di Google Analytics. Misalnya, hal ini dapat berguna untuk mengukur waktu pemuatan resource.

Dasar

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

Builder

public void LogTiming(TimingHitBuilder builder);

Contoh

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));

Referensi terkait:

Interaksi Sosial

Pengukuran interaksi sosial memungkinkan Anda mengukur interaksi pengguna dengan berbagai berbagi di jaringan sosial dan widget rekomendasi yang disematkan dalam konten Anda.

Dasar

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

Builder

public void LogSocial(SocialHitBuilder builder);

Contoh

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"));

Referensi terkait:

E-Commerce

Pengukuran e-commerce memungkinkan Anda mengirim pembelian dan penjualan dalam game ke Google Analytics. Data e-commerce di Google Analytics terdiri dari hit transaksi dan item, yang terkait dengan ID transaksi bersama.

Transaksi

Dasar

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);

Builder

public void LogTransaction(TransactionHitBuilder builder);

Contoh

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));

Item

Dasar

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);

Builder

public void LogItem(ItemHitBuilder builder);

Contoh

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));

Referensi terkait:

Dimensi & Metrik Kustom

Dimensi kustom memungkinkan pengaitan metadata dengan hit, pengguna, dan sesi di Google Analytics, sedangkan metrik kustom memungkinkan Anda membuat dan menambah metrik Anda sendiri di Google Analytics.

Anda harus membuat dan mengonfigurasi Dimensi Kustom dan Metrik Kustom sebelum menggunakannya. Setelah dikonfigurasi, data dapat dikirim sebagai bagian dari hit apa pun dengan menggunakan metode Builder.

Builder

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

Contoh

// 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, 81.5));

Referensi terkait:

Kampanye

Mengukur kampanye di Google Analytics memungkinkan atribusi kampanye dan sumber traffic ke aktivitas pengguna dalam game Anda.

Parameter kampanye dapat dikirim sebagai bagian dari hit apa pun dengan menggunakan metode Builder.

Builder

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);

Contoh

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");

Referensi terkait:

Lanjutan

Metode ini hanya direkomendasikan untuk pengguna super Google Analytics yang sudah memahami konsep pelacak.

SetOnTracker

Tetapkan nilai pada pelacak untuk dikirim dengan hit lainnya.

Gunakan variabel dari Assets/Plugins/Fields.cs untuk parameter fieldName (mis. Fields.SCREEN_NAME).

public void SetOnTracker(Field fieldName, object value);

Contoh

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

Buang

Kosongkan resource terkelola dan atur ulang pelacak.

Jika membuang dipanggil, hit pelacakan berikutnya harus membuat pelacak baru, sehingga sebaiknya hanya memanggil metode ini setelah benar-benar selesai dengan pelacakan. Misalnya, dalam metode onDispose() yang dieksekusi saat pengguna keluar dari game Anda.

public void Dispose();

Contoh

googleAnalytics.Dispose();