private void track(ThinkingAnalyticsEvent taEvent) { Dictionary <string, object> finalEvent = new Dictionary <string, object>(); string extraId = taEvent.ExtraId; switch (taEvent.EventType) { case ThinkingAnalyticsEvent.Type.FIRST: finalEvent["event_type"] = "track_first"; break; case ThinkingAnalyticsEvent.Type.UPDATABLE: finalEvent["event_type"] = "track_update"; break; case ThinkingAnalyticsEvent.Type.OVERWRITABLE: finalEvent["event_type"] = "track_overwrite"; break; } if (!string.IsNullOrEmpty(extraId)) { finalEvent["extra_id"] = extraId; } finalEvent["event_name"] = taEvent.EventName; finalEvent["event_properties"] = taEvent.Properties; if (taEvent.EventTime != DateTime.MinValue) { finalEvent["event_time"] = taEvent.EventTime; if (token.timeZone == ThinkingAnalyticsAPI.TATimeZone.Local) { switch (taEvent.EventTime.Kind) { case DateTimeKind.Local: finalEvent["event_timezone"] = "Local"; break; case DateTimeKind.Utc: finalEvent["event_timezone"] = "UTC"; break; case DateTimeKind.Unspecified: break; } } } track_event(token.appid, serilize(finalEvent)); }
public void Track(ThinkingAnalyticsEvent taEvent) { if (null == taEvent || null == taEvent.EventType) { TD_Log.w("Ignoring invalid TA event"); return; } if (taEvent.EventTime == null) { TD_Log.w("ppp null..."); } track(taEvent); }
private void track(ThinkingAnalyticsEvent taEvent) { AndroidJavaObject javaEvent = null; switch (taEvent.EventType) { case ThinkingAnalyticsEvent.Type.FIRST: javaEvent = new AndroidJavaObject("cn.thinkingdata.android.TDFirstEvent", taEvent.EventName, getJSONObject(getFinalEventProperties(taEvent.Properties))); string extraId = taEvent.ExtraId; if (!string.IsNullOrEmpty(extraId)) { javaEvent.Call("setFirstCheckId", extraId); } break; case ThinkingAnalyticsEvent.Type.UPDATABLE: javaEvent = new AndroidJavaObject("cn.thinkingdata.android.TDUpdatableEvent", taEvent.EventName, getJSONObject(getFinalEventProperties(taEvent.Properties)), taEvent.ExtraId); break; case ThinkingAnalyticsEvent.Type.OVERWRITABLE: javaEvent = new AndroidJavaObject("cn.thinkingdata.android.TDOverWritableEvent", taEvent.EventName, getJSONObject(getFinalEventProperties(taEvent.Properties)), taEvent.ExtraId); break; } if (null == javaEvent) { TD_Log.w("Unexpected java event object. Returning..."); return; } if (taEvent.EventTime != DateTime.MinValue) { AndroidJavaObject date = getDate(taEvent.EventTime); AndroidJavaClass tzClass = new AndroidJavaClass("java.util.TimeZone"); AndroidJavaObject tz = null; if (token.timeZone == ThinkingAnalyticsAPI.TATimeZone.Local) { switch (taEvent.EventTime.Kind) { case DateTimeKind.Local: tz = tzClass.CallStatic <AndroidJavaObject>("getDefault"); break; case DateTimeKind.Utc: tz = tzClass.CallStatic <AndroidJavaObject>("getTimeZone", "UTC"); break; case DateTimeKind.Unspecified: break; } } else { tz = tzClass.CallStatic <AndroidJavaObject>("getTimeZone", token.getTimeZoneId()); } javaEvent.Call("setEventTime", date, tz); } instance.Call("track", javaEvent); }
private void track(ThinkingAnalyticsEvent analyticsEvent) { TD_Log.d("TA.Wrapper(" + token.appid + ") - calling track with eventName: " + analyticsEvent.EventName + ", " + "properties: " + getFinalEventProperties(analyticsEvent.Properties)); }