مكوّن "إحصاءات Google" الإضافي لنظام Unity - مرجع واجهة برمجة التطبيقات

يصف هذا المستند كيفية إرسال البيانات ويسرد جميع طرق مكوّن Google Analytics الإضافي لـ Unity.

مقدمة

عند إرسال البيانات إلى "إحصاءات Google" باستخدام مكوّن "إحصاءات Google" الإضافي لـ Unity، يمكنك استخدام الطريقة الأساسية أو طريقة أداة الإنشاء. تكون طرق أداة الإنشاء مطلوبة إذا كنت تريد إلحاق مَعلمات الحملة أو السمات أو المقاييس المخصّصة بالنتائج. يمكن إرسال النتائج باستخدام أي طريقة بالتبادل.

اتبع دليل المطورين لإعداد وتهيئة مكون Google Analytics الإضافي لـ Unity لمشروعك.

بنود عامة

أنجح الأغاني

إرسال النتائج (الملف الشخصي والأحداث وما إلى ذلك) إلى "إحصاءات Google" إذا كان الاتصال بالشبكة متاحًا.

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" المحتوى الذي يشاهده المستخدمون في لعبتك. تتكوّن مشاهدة الشاشة من حقل سلسلة واحد سيتم استخدامه كاسم الشاشة في تقارير "إحصاءات Google".

التذكرة الأساسية

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". على سبيل المثال، يمكن أن يكون هذا مفيدًا لقياس أوقات تحميل الموارد.

التذكرة الأساسية

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". تتكون بيانات التجارة الإلكترونية في 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"، في حين تتيح المقاييس المخصّصة إمكانية إنشاء مقاييس خاصة بك وزيادتها في "إحصاءات Google".

عليك إنشاء سمات ومقاييس مخصَّصة وضبطها قبل استخدامها. بعد الضبط، يمكن إرسال البيانات كجزء من أي نتيجة باستخدام طريقة أداة الإنشاء.

عامل بناء

// 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" بإسناد الحملات ومصادر الزيارات إلى نشاط المستخدم داخل لعبتك.

يمكن إرسال مَعلمات الحملة كجزء من أي نتيجة باستخدام طريقة أداة الإنشاء.

عامل بناء

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" المتمرّسين على دراية بمفاهيم أدوات التتبُّع.

SetOnTracker

عيِّن القيم في أداة التتبُّع لإرسالها مع النتائج الأخرى.

استخدِم متغيّرات من Assets/Plugins/Fields.cs للمَعلمة fieldName (مثل Fields.SCREEN_NAME).

public void SetOnTracker(Field fieldName, object value);

مثال

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

التخلص من الجهاز

عليك إخلاء بعض الموارد المُدارة وإعادة ضبط جهاز التتبُّع.

إذا تم استدعاء نتيجة التتبع التالية، فسيتعين عليك إنشاء أداة تتبع جديدة، لذا يُنصح بعدم استدعاء هذه الطريقة إلا عند الانتهاء من التتبُّع بالكامل. على سبيل المثال، في طريقة onDispose() التي يتم تنفيذها عندما يغلق المستخدم لعبتك.

public void Dispose();

مثال

googleAnalytics.Dispose();