예제 #1
0
    // Start is called before the first frame update
    void Start()
    {
        Debug.Log("Info Here");

        RudderClient.SerializeSqlite();

        RudderConfig config = new RudderConfigBuilder()
                              .WithDataPlaneUrl("https://8452ddb9ed62.ngrok.io")
                              .WithLogLevel(RudderLogLevel.VERBOSE)
                              .Build();

        rudderClient = RudderClient.GetInstance("1glg5JWDIVF1c90oLs6CDePrFy9", config);

        // create event properties
        Dictionary <string, object> eventProperties = new Dictionary <string, object>();

        eventProperties.Add("test_key_1", "test_value_1");
        eventProperties.Add("test_key_2", "test_value_2");

        // create user properties
        Dictionary <string, object> userProperties = new Dictionary <string, object>();

        userProperties.Add("test_u_key_1", "test_u_value_1");
        userProperties.Add("test_u_key_2", "test_u_value_2");

        // create message to track
        RudderMessageBuilder builder = new RudderMessageBuilder();

        builder.WithEventName("test_event_name");
        builder.WithEventProperties(eventProperties);
        builder.WithUserProperties(userProperties);

        rudderClient.Track(builder.Build());

        // create message to track
        builder = new RudderMessageBuilder();
        builder.WithEventName("test_event_name");
        builder.WithEventProperty("foo", "bar");
        builder.WithUserProperty("foo1", "bar1");

        rudderClient.Track(builder.Build());

        RudderMessage identifyMessage = new RudderMessageBuilder().Build();
        RudderTraits  traits          = new RudderTraits().PutEmail("*****@*****.**");

        rudderClient.Identify("some_user_id", traits, identifyMessage);
    }
예제 #2
0
    // Update is called once per frame
    void Update()
    {
        count += 1;

        if (count % 100 == 0)
        {
            // create message to track
            RudderMessageBuilder builder = new RudderMessageBuilder();
            builder.WithEventName("update_event");
            builder.WithEventProperty("foo", "bar");

            rudderClient.Track(builder.Build());
        }
    }
예제 #3
0
        public void TrackSubmit()
        {
            _client.Track("UserId", "EventName");
            _client.Track("UserId", "EventName", null, null);
            _client.Track("UserId", "EventName", options: null);
            _client.Track("UserId", "EventName", properties: null);

            Assert.AreEqual(4, _client.Statistics.Submitted);
        }
        /// <inheritdoc />
        void RecordPurchase(string id, double price, double amountPurchased, string currency = null, string store = null, string transactionId = null)
        {
            try
            {
                //Every event has an embedded properties structure
                //First we will build the Properties structure
                //Then we will build the encapsulating event structure
                TrackPropertyBuilder propertyBuilder = new TrackPropertyBuilder();
                propertyBuilder.SetCategory("revenue");

                Dictionary <string, object> recordPurchaseProperties = propertyBuilder.Build();

                recordPurchaseProperties.Add("productId", id);
                recordPurchaseProperties.Add("price", price);
                recordPurchaseProperties.Add("quantity", 1);
                if (store != null)
                {
                    recordPurchaseProperties.Add("revenueType", store);
                }
                if (transactionId != null)
                {
                    recordPurchaseProperties.Add("transactionId", transactionId);
                }

                //Add the FoolProofParams
                Dictionary <string, object> eventData = AnalyticsUtils.FoolProofParams(GetCommonEventData());
                foreach (var key in eventData.Keys)
                {
                    var value = eventData[key];
                    if (value != null)
                    {
                        recordPurchaseProperties.Add(key, value);
                    }
                }

                //Now build the event structure
                RudderElementBuilder elementBuilder = new RudderElementBuilder();
                elementBuilder.WithEventName("revenue");

                //Set user id if available
                if (WynnEngine.PlayerId.HasValue())
                {
                    elementBuilder.WithUserId(WynnEngine.PlayerId);
                }

                //Add the properties structure created to the event
                elementBuilder.WithEventProperties(recordPurchaseProperties);

                // Create the event object
                RudderElement element = elementBuilder.Build();

                // Set the integrations
                element.integrations = new Dictionary <string, object>();
                element.integrations.Add("All", true);

                //Invoke track method
                rudder.Track(element);

                // GameEngine.LogError("RudderAnalyticsManager: Track: revenue");
            }
            catch (Exception e)
            {
                GameEngine.LogError("RudderAnalyticsManager: Track: Error: " + e.Message);
            }
        }
예제 #5
0
 public static void Track(RudderClient client)
 {
     client.Track("user", "Ran .NET test", Properties(), Options());
 }