As an alternative to using the AnalyticsTracker component, you can send custom events directly via script by calling Analytics.CustomEvent. See the following example:
// Reference the Unity Analytics namespace
using UnityEngine.Analytics;
// Use this call for wherever a player triggers a custom event
Analytics.CustomEvent(string customEventName,
IDictionary<string, object> eventData);
Analytics.CustomEvent Input Parameters | ||
---|---|---|
Name | Type | Description |
customEventName | string | Name of custom event. Name cannot include the prefix “unity.” — This is a reserved keyword. |
eventData | dictionary | Additional parameters sent to Unity Analytics at the time the custom event was triggered. eventData key cannot include the prefix “unity.” — This is a reserved keyword. |
Unas pocas consideraciones con respecto a los eventos personalizados:
Un limite por defecto de 10 parámetros por evento personalizado. Si hay más parámetros pasados, el llamado va a fallar con un valor de retorno de AnalyticsResult.TooManyItems * Un limite por defecto de 500 caracteres para el contenido del diccionario. * Si más de 500 caracteres son pasados, el llamado va a fallar con un valor de retorno de AnalyticsResult.SizeLimitReached * Un limite por defecto de 100 eventos personalizados por hora, por usuario. * Si más de 100 eventos por hora son llamados, el llamado va a fallar con un valor de retorno de AnalyticsResult.TooManyRequests * Considere cómo los parámetros son parsed por el sistema de Analytics. * Todos los números, ints, floats, etc, incluso si son enviados como strings, son parsed como números. * Solamente los strings y Booleans son considerados ‘categorizable’ (Categorizables). * Consecuentemente, si usted quiere que algo sea agregado o promediado, enviarlo como un número (e.g., 51 o ‘51’). Si usted quiere que sea categorizado, como lo haría con un nivel u opción, asegúrese de que sea parse como un string (e.g., ‘Level51’).
En el ejemplo de abajo estamos interesados en saber lo que nuestro usuario tenía en su inventario en el momento el que el juego finalizo.
// Reference the Collections Generic namespace
using System.Collections.Generic;
int totalPotions = 5;
int totalCoins = 100;
string weaponID = "Weapon_102";
Analytics.CustomEvent("gameOver", new Dictionary<string, object>
{
{ "potions", totalPotions },
{ "coins", totalCoins },
{ "activeWeapon", weaponID }
});
To send test Custom Event data to our servers and validate your integration, trigger your Custom Event during Editor Play mode.