public static AndroidJavaObject ToAndroidUserProfile(this YandexAppMetricaUserProfile self) { AndroidJavaObject userProfile = null; if (self != null) { using (var userProfileClass = new AndroidJavaClass("com.yandex.metrica.profile.UserProfile")) { var builder = userProfileClass.CallStatic <AndroidJavaObject> ("newBuilder"); List <YandexAppMetricaUserProfileUpdate> updates = self.GetUserProfileUpdates(); foreach (var userProfileUpdate in updates) { builder.Call <AndroidJavaObject> ("apply", userProfileUpdate.ToAndroidUserProfileUpdate()); } userProfile = builder.Call <AndroidJavaObject> ("build"); } } return(userProfile); }
public static Hashtable ToHashtable(this YandexAppMetricaUserProfile self) { if (self == null) { return(null); } var data = new Hashtable(); var userProfileUpdates = self.GetUserProfileUpdates(); for (int i = 0; i < userProfileUpdates.Count; ++i) { data[i.ToString()] = new Hashtable { { "AttributeName", userProfileUpdates[i].AttributeName }, { "MethodName", userProfileUpdates[i].MethodName }, { "Key", userProfileUpdates[i].Key }, { "Values", userProfileUpdates[i].Values } }; } return(data); }
public static AndroidJavaObject ToAndroidUserProfile(this YandexAppMetricaUserProfile self) { AndroidJavaObject result = null; if (self != null) { using (AndroidJavaClass androidJavaClass = new AndroidJavaClass("com.yandex.metrica.profile.UserProfile")) { AndroidJavaObject androidJavaObject = androidJavaClass.CallStatic <AndroidJavaObject>("newBuilder", new object[0]); List <YandexAppMetricaUserProfileUpdate> userProfileUpdates = self.GetUserProfileUpdates(); foreach (YandexAppMetricaUserProfileUpdate item in userProfileUpdates) { androidJavaObject.Call <AndroidJavaObject>("apply", new object[1] { item.ToAndroidUserProfileUpdate() }); } return(androidJavaObject.Call <AndroidJavaObject>("build", new object[0])); } } return(result); }
public override void ReportUserProfile(YandexAppMetricaUserProfile userProfile) { ymm_reportUsertProfileJSON(JsonStringFromDictionary(userProfile.ToHashtable())); }
public override void ReportUserProfile(YandexAppMetricaUserProfile userProfile) { metricaClass.CallStatic("reportUserProfile", userProfile.ToAndroidUserProfile()); }
public override void ReportUserProfile(YandexAppMetricaUserProfile userProfile) { }
public abstract void ReportUserProfile(YandexAppMetricaUserProfile userProfile);