پلاگین Google Analytics برای Unity - مرجع API

این سند نحوه ارسال داده را توضیح می‌دهد و همه روش‌های پلاگین Google Analytics for Unity را فهرست می‌کند.

معرفی

هنگام ارسال داده ها به Google Analytics با استفاده از افزونه GA برای Unity می توانید از روش Basic یا روش Builder استفاده کنید. اگر می‌خواهید پارامترهای کمپین یا ابعاد یا معیارهای سفارشی را به بازدیدها اضافه کنید، به روش‌های سازنده نیاز است. بازدیدها را می توان با استفاده از هر دو روش به جای یکدیگر ارسال کرد.

برای راه اندازی و پیکربندی افزونه Google Analytics for Unity برای پروژه خود ، راهنمای توسعه دهنده را دنبال کنید.

عمومی

ارسال بازدید

در صورت وجود اتصال شبکه، بازدیدها (نما، رویدادها، و غیره) را به Google Analytics ارسال می کند.

public void DispatchHits();

منابع مرتبط:

کنترل جلسه

یک جلسه نشان دهنده یک دوره واحد از تعامل کاربر با بازی شما است. جلسات به‌عنوان محفظه‌های مفیدی از فعالیت‌های اندازه‌گیری شده، که شامل نمایش‌های صفحه، رویدادها، و تراکنش‌های تجارت الکترونیک است، عمل می‌کنند.

از روش های زیر می توان برای اجبار شروع یا پایان جلسه استفاده کرد.

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

منابع مرتبط:

صفحه نمایش ها

صفحات در Google Analytics نشان دهنده محتوایی است که کاربران در بازی شما مشاهده می کنند. نمای صفحه شامل یک فیلد رشته ای است که به عنوان نام صفحه در گزارش های Google Analytics شما استفاده می شود.

پایه ای

public void LogScreen(string title);

سازنده

public void LogScreen(AppViewHitBuilder builder);

مثال

googleAnalytics.LogScreen("Main Menu");

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

منابع مرتبط:

مناسبت ها

رویدادها روشی مفید برای جمع‌آوری داده‌های مربوط به تعامل کاربر با اجزای تعاملی بازی شما، مانند استفاده از یک آیتم خاص است. یک رویداد از چهار قسمت تشکیل شده است که می توانید از آنها برای توصیف تعامل کاربر با بازی خود استفاده کنید.

پایه ای

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

سازنده

public void LogEvent(EventHitBuilder builder);

مثال

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

منابع مرتبط:

خرابی ها و استثناها

اندازه گیری خرابی و استثنا به شما امکان می دهد تعداد و نوع خرابی ها و موارد استثنایی که در بازی شما رخ می دهد را اندازه گیری کنید.

پایه ای

public void LogException(string exceptionDescription, bool isFatal);

سازنده

public void LogException(ExceptionHitBuilder builder);

مثال

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

منابع مرتبط:

زمان بندی کاربر

اندازه‌گیری زمان‌بندی کاربران روشی طبیعی برای اندازه‌گیری یک دوره زمانی در Google Analytics ارائه می‌کند. به عنوان مثال، این می تواند برای اندازه گیری زمان بارگذاری منابع مفید باشد.

پایه ای

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

سازنده

public void LogTiming(TimingHitBuilder builder);

مثال

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

منابع مرتبط:

تعاملات اجتماعی

اندازه گیری تعامل اجتماعی به شما امکان می دهد تا تعاملات کاربر را با ویجت های مختلف اشتراک گذاری شبکه های اجتماعی و توصیه های تعبیه شده در محتوای شما اندازه گیری کنید.

پایه ای

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

سازنده

public void LogSocial(SocialHitBuilder builder);

مثال

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

منابع مرتبط:

تجارت الکترونیک

اندازه گیری تجارت الکترونیک به شما امکان می دهد خریدها و فروش های درون بازی را به Google Analytics ارسال کنید. داده‌های تجارت الکترونیک در Google Analytics از تراکنش‌ها و بازدیدهای موردی تشکیل شده است که توسط یک شناسه تراکنش مشترک مرتبط است.

معاملات

پایه ای

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

سازنده

public void LogTransaction(TransactionHitBuilder builder);

مثال

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

موارد

پایه ای

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

سازنده

public void LogItem(ItemHitBuilder builder);

مثال

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

منابع مرتبط:

ابعاد و معیارهای سفارشی

ابعاد سفارشی ارتباط فراداده را با بازدیدها، کاربران و جلسات در Google Analytics امکان پذیر می کند، در حالی که معیارهای سفارشی به شما امکان می دهد معیارهای خود را در Google Analytics ایجاد و افزایش دهید.

قبل از استفاده، باید ابعاد سفارشی و معیارهای سفارشی را ایجاد و پیکربندی کنید. پس از پیکربندی، داده ها را می توان به عنوان بخشی از هر ضربه با استفاده از روش سازنده ارسال کرد.

سازنده

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

مثال

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

منابع مرتبط:

کمپین ها

اندازه‌گیری کمپین‌ها در Google Analytics، انتساب کمپین‌ها و منابع ترافیک به فعالیت کاربر در بازی شما را امکان‌پذیر می‌کند.

پارامترهای کمپین را می توان به عنوان بخشی از هر ضربه با استفاده از روش سازنده ارسال کرد.

سازنده

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

مثال

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

منابع مرتبط:

پیشرفته

این روش ها فقط برای کاربران قدرتمند Google Analytics که با مفاهیم ردیاب آشنا هستند توصیه می شود.

SetOnTracker

مقادیری را روی ردیاب تنظیم کنید تا با بازدیدهای دیگر ارسال شود.

از متغیرهای Assets/Plugins/Fields.cs برای پارامتر fieldName استفاده کنید (مثلا Fields.SCREEN_NAME ).

public void SetOnTracker(Field fieldName, object value);

مثال

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

در معرض قرار دادن

منابع مدیریت شده را آزاد کنید و ردیاب را بازنشانی کنید.

اگر dispose نامیده می‌شود، ضربه ردیابی بعدی باید یک ردیاب جدید ایجاد کند، بنابراین توصیه می‌شود این روش را فقط زمانی فراخوانی کنید که ردیابی کاملاً تمام شد. به عنوان مثال، در یک متد onDispose() که زمانی اجرا می شود که کاربر از بازی شما خارج شود.

public void Dispose();

مثال

googleAnalytics.Dispose();