private void OnRequestResult(WWWResult www) { if (Network.IsError) { if (Network.ErrCode == Network.EErrCode.AbilityCoinShort) { FlowNode_Network.Back(); } else { FlowNode_Network.Retry(); } } else { WebAPI.JSON_BodyResponse <Json_PlayerDataAll> jsonObject = JSONParser.parseJSONObject <WebAPI.JSON_BodyResponse <Json_PlayerDataAll> >(www.text); try { MonoSingleton <GameManager> .Instance.Deserialize(jsonObject.body.player); Network.RemoveAPI(); } catch (Exception ex) { DebugUtility.LogException(ex); FlowNode_Network.Retry(); return; } AnalyticsManager.TrackSpendCoin("AbilityPoint", (int)MonoSingleton <GameManager> .Instance.MasterParam.FixParam.AbilityRankUpCountCoin); this.UpdateValue(); this.Success(); } }
public override Widget build(BuildContext context) { return(new StoreConnector <AppState, ArticlesScreenViewModel>( converter: state => new ArticlesScreenViewModel { isLoggedIn = state.loginState.isLoggedIn, feedHasNew = state.articleState.feedHasNew, currentTabBarIndex = state.tabBarState.currentTabIndex, nationalDayEnabled = state.serviceConfigState.nationalDayEnabled }, builder: (context1, viewModel, dispatcher) => { var actionModel = new ArticlesScreenActionModel { pushToSearch = () => { dispatcher.dispatch(new MainNavigatorPushToAction { routeName = MainNavigatorRoutes.Search }); AnalyticsManager.ClickEnterSearch("Home_Article"); }, pushToLogin = () => dispatcher.dispatch(new MainNavigatorPushToAction { routeName = MainNavigatorRoutes.Login }), pushToReality = () => { dispatcher.dispatch(new EnterRealityAction()); AnalyticsManager.AnalyticsClickEgg(1); } }; return new ArticlesScreen(viewModel: viewModel, actionModel: actionModel); } )); }
private void LoadInventoryActivity(DateTime selectedDate) { DateTime startDate = new DateTime(selectedDate.Year, selectedDate.Month, 1); DateTime endDate = new DateTime(selectedDate.Year, selectedDate.Month, DateTime.DaysInMonth(selectedDate.Year, selectedDate.Month)); try { AnalyticsManager analyticsManager = new AnalyticsManager(); InventoryPageViews pageViews = analyticsManager.GetInventoryPageViews(CompanyId, startDate, endDate); lblInventoryPageViews.Text = pageViews.PageViews.ToString(CultureInfo.InvariantCulture); lblInventoryUserViews.Text = pageViews.UserViews.ToString(CultureInfo.InvariantCulture); lblInventoryUserViews.ForeColor = lblInventoryPageViews.ForeColor = Color.Empty; } catch (StageBitzException ex) { lblInventoryPageViews.Text = "Error!"; lblInventoryUserViews.Text = "Error!"; lblInventoryPageViews.ToolTip = lblInventoryUserViews.ToolTip = ex.InnerException.ToString(); lblInventoryUserViews.ForeColor = lblInventoryPageViews.ForeColor = Color.Red; } gvInventoryActivity.DataSource = this.GetBL <CompanyBL>().GetInventoryActivityData(CompanyId, startDate, endDate); gvInventoryActivity.DataBind(); }
public async Task TestMissingDeviceAppAttributesAsync() { var analyticsManager = new AnalyticsManager(uniqueId, null, TEST_ENCRYPTION_KEY); await analyticsManager.ResetAsync().ConfigureAwait(false); var eventBuilder = new InstrumentationEventBuilder(analyticsManager); var curTime = System.DateTime.Now.Ticks; var eventName = string.Format(TEST_EVENT_NAME, curTime); eventBuilder.Name = eventName; eventBuilder.SessionId = TEST_SESSION_ID; eventBuilder.SchemaType = InstrumentationEvent.SchemaType.LightningError; eventBuilder.StartTime = curTime; eventBuilder.SenderId = TEST_SENDER_ID; eventBuilder.EventType = InstrumentationEvent.EventType.system; eventBuilder.ErrorType = InstrumentationEvent.ErrorType.warning; eventBuilder.Page = new JObject(); try { eventBuilder.BuildEvent(); Assert.Fail("Exception should have been thrown for missing mandatory field 'device app attributes'"); } catch (EventBuilderException) { LoggingService.Log("Exception thrown as expected", LoggingLevel.Information); } finally { await analyticsManager.ResetAsync(); } }
Widget _buildLogoutBtn() { return(new CustomButton( padding: EdgeInsets.zero, onPressed: () => { ActionSheetUtils.showModalActionSheet(new ActionSheet( title: "确定退出当前账号吗?", items: new List <ActionSheetItem> { new ActionSheetItem("退出", type: ActionType.destructive, () => { AnalyticsManager.ClickLogout(); this.widget.actionModel.logout(); }), new ActionSheetItem("取消", type: ActionType.cancel) } )); }, child: new Container( height: 60, color: CColors.White, child: new Row( mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center, children: new List <Widget> { new Text( "退出登录", style: CTextStyle.PLargeError ) } ) ) )); }
public override Widget build(BuildContext context) { base.build(context: context); return(new Container( color: CColors.White, child: new Column( children: new List <Widget> { new CustomNavigationBar( new Text("活动", style: CTextStyle.H2), null, backgroundColor: CColors.White, 0 ), new Expanded( child: new CustomSegmentedControl( new List <string> { "即将开始", "往期活动" }, new List <Widget> { new EventOngoingScreenConnector(), new EventCompletedScreenConnector() }, newValue => AnalyticsManager.ClickEventSegment("Event", 0 == newValue ? "ongoing" : "completed"), 1 ) ) } ) )); }
private void TrackGiftAnalytics(Json_Mail[] inObtainedGifts) { if (inObtainedGifts == null) { throw new Exception("Tracking null gifts received!"); } foreach (Json_Mail inObtainedGift in inObtainedGifts) { foreach (Json_Gift gift in inObtainedGift.gifts) { if (gift.coin > 0) { AnalyticsManager.TrackFreePremiumCurrencyObtain((long)gift.coin, "Gifts"); } else if (gift.gold > 0) { AnalyticsManager.TrackNonPremiumCurrencyObtain(AnalyticsManager.NonPremiumCurrencyType.Zeni, (long)gift.gold, "Gifts", (string)null); } else if (gift.num > 0 && !string.IsNullOrEmpty(gift.iname)) { Debug.Log((object)(">>>>> others : " + gift.iname + ", amt : " + (object)gift.num)); this.AnalyticsTrackItemReceived(gift.iname, gift.num); } } } }
public void FoundItem(Actor actor) { if (AnalyticsEnabled && actor != null) { AnalyticsManager.FoundItem(actor.ActorID); } }
public override Widget build(BuildContext context) { return(new StoreConnector <AppState, ArticlesScreenViewModel>( converter: state => new ArticlesScreenViewModel { isLoggedIn = state.loginState.isLoggedIn, showFirstEgg = state.eggState.showFirst }, builder: (context1, viewModel, dispatcher) => { var actionModel = new ArticlesScreenActionModel { pushToSearch = () => { dispatcher.dispatch(new MainNavigatorPushToAction { routeName = MainNavigatorRoutes.Search }); AnalyticsManager.ClickEnterSearch("Home_Article"); }, fetchReviewUrl = () => dispatcher.dispatch <IPromise>(Actions.fetchReviewUrl()), pushToReality = () => { dispatcher.dispatch(new EnterRealityAction()); AnalyticsManager.AnalyticsClickEgg(1); } }; return new ArticlesScreen(viewModel, actionModel); } )); }
public void ActorStateChange(Actor actor, int state) { if (AnalyticsEnabled && actor != null) { AnalyticsManager.ActorStateChange(actor.ActorID, state); } }
public void OfudaHit(int eventID, Actor actor) { if (AnalyticsEnabled && actor != null) { AnalyticsManager.OfudaHit(eventID, actor.ActorID); } }
public void ActorKilled(Actor killer, Actor dead) { if (AnalyticsEnabled && killer != null && dead != null) { AnalyticsManager.ActorKilled(killer.ActorID, dead.ActorID); } }
public void ActorVisitedCell(Actor actor, int cellID) { if (AnalyticsEnabled && actor != null) { AnalyticsManager.EnteredCell(actor.ActorID, cellID); } }
public void ResDebugDataReset(WWWResult www) { if (Network.IsError) { Network.IsRetry = true; } else { bool flag1 = GameUtility.Config_UseAssetBundles.Value; bool flag2 = GameUtility.Config_UseDevServer.Value; bool flag3 = GameUtility.Config_UseLocalData.Value; string devServerSetting = GameUtility.DevServerSetting; GameUtility.ClearPreferences(); GameUtility.Config_UseAssetBundles.Value = flag1; GameUtility.Config_UseDevServer.Value = flag2; GameUtility.Config_UseLocalData.Value = flag3; GameUtility.DevServerSetting = devServerSetting; DebugUtility.Assert(www.text != null, "res == null"); MonoSingleton <GameManager> .Instance.ResetAuth(); GameUtility.Config_NewGame.Value = false; PlayerPrefs.DeleteKey("PlayerName"); PlayerPrefs.DeleteKey("AccountLinked"); AnalyticsManager.Setup(); Network.RemoveAPI(); this.Success(); } }
void Update() { timeElapsed += Time.deltaTime; if (Input.GetKeyUp(KeyCode.Escape)) { Application.Quit(); } if (state == TitleState.Waiting && (Input.GetMouseButtonDown(0) || Input.GetMouseButtonDown(1) || Input.GetMouseButtonDown(2))) { // ゲームへ nextSceneName = gameSceneName; state = TitleState.FadeOut; SoundManager.PlaySE(SoundManager.SE.select); AnalyticsManager.StartSession(); } else if (state == TitleState.Waiting && timeElapsed > 60) { // 学校ロゴへ nextSceneName = logoSceneName; state = TitleState.FadeOut; } if (state == TitleState.FadeIn) { fadeIn(); } if (state == TitleState.FadeOut) { fadeOut(); } }
public override void OnSuccess(WWWResult www) { if (Network.IsError) { Network.EErrCode errCode = Network.ErrCode; this.OnFailed(); } else { WebAPI.JSON_BodyResponse <Json_PlayerDataAll> jsonObject = JSONParser.parseJSONObject <WebAPI.JSON_BodyResponse <Json_PlayerDataAll> >(www.text); DebugUtility.Assert(jsonObject != null, "res == null"); if (jsonObject.body == null) { this.OnFailed(); } else { try { MonoSingleton <GameManager> .Instance.Player.Deserialize(jsonObject.body.player); } catch (Exception ex) { DebugUtility.LogException(ex); this.OnFailed(); return; } Network.RemoveAPI(); AnalyticsManager.TrackOriginalCurrencyUse(ESaleType.Coin, this.getRequiredCoin(), this.ResetType.ToString()); this.Success(); } } }
void _sendComment(string type, string parentMessageId = "", string upperMessageId = "", string replyUserName = null) { if (!this.widget.viewModel.isLoggedIn) { this.widget.actionModel.pushToLogin(); } else { AnalyticsManager.ClickComment( type: type, channelId: this._article.channelId, title: this._article.title, commentId: parentMessageId ); ActionSheetUtils.showModalActionSheet(new CustomInput( replyUserName: replyUserName, text => { ActionSheetUtils.hiddenModalPopup(); this.widget.actionModel.sendComment( arg1: this._article.channelId, arg2: text, Snowflake.CreateNonce(), arg4: parentMessageId, arg5: upperMessageId ); }) ); } }
public static object editFavoriteTag(IconStyle iconStyle, string tagId, string name, string description = "") { if (HttpManager.isNetWorkError()) { CustomDialogUtils.showToast("请检查网络", iconData: Icons.sentiment_dissatisfied); return(null); } CustomDialogUtils.showCustomDialog( child: new CustomLoadingDialog( message: "编辑收藏夹中" ) ); return(new ThunkAction <AppState>((dispatcher, getState) => { return FavoriteApi .EditFavoriteTag(tagId: tagId, iconStyle: iconStyle, name: name, description: description) .Then(editFavoriteTagResponse => { CustomDialogUtils.hiddenCustomDialog(); dispatcher.dispatch(new EditFavoriteTagSuccessAction { favoriteTag = editFavoriteTagResponse }); dispatcher.dispatch(new MainNavigatorPopAction()); AnalyticsManager.AnalyticsHandleFavoriteTag(type: FavoriteTagType.edit); }) .Catch(error => { CustomDialogUtils.hiddenCustomDialog(); Debuger.LogError(message: error); }); })); }
void _showShareView(IEvent eventObj) { ShareUtils.showShareView( new ShareView( projectType: ProjectType.iEvent, onPressed: type => { AnalyticsManager.ClickShare(type, "Event", "Event_" + eventObj.id, eventObj.title); var linkUrl = $"{Config.apiAddress}/events/{eventObj.id}"; if (type == ShareType.clipBoard) { this.widget.actionModel.copyText(linkUrl); CustomDialogUtils.showToast("复制链接成功", Icons.check_circle_outline); } else { var imageUrl = $"{eventObj.avatar}.200x0x1.jpg"; CustomDialogUtils.showCustomDialog( child: new CustomLoadingDialog() ); this.widget.actionModel.shareToWechat(type, eventObj.title, eventObj.shortDescription, linkUrl, imageUrl).Then(CustomDialogUtils.hiddenCustomDialog) .Catch(_ => CustomDialogUtils.hiddenCustomDialog()); } } ) ); }
public static object deleteFavoriteTag(string tagId) { if (HttpManager.isNetWorkError()) { CustomDialogUtils.showToast("请检查网络", iconData: Icons.sentiment_dissatisfied); return(null); } CustomDialogUtils.showCustomDialog( child: new CustomLoadingDialog( message: "删除收藏夹中" ) ); return(new ThunkAction <AppState>((dispatcher, getState) => { return FavoriteApi.DeleteFavoriteTag(tagId: tagId) .Then(deleteFavoriteTagResponse => { CustomDialogUtils.hiddenCustomDialog(); dispatcher.dispatch(new DeleteFavoriteTagSuccessAction { favoriteTag = deleteFavoriteTagResponse }); AnalyticsManager.AnalyticsHandleFavoriteTag(type: FavoriteTagType.delete); }) .Catch(error => { CustomDialogUtils.hiddenCustomDialog(); Debuger.LogError(message: error); }); })); }
public void WordCollected() { _timerControl.EndLevel(_currentWordNumber); _currentWordNumber++; if (InGameLevel.Words.Count <= _currentWordNumber) { //Загрузка нового уровня _nextLevelUi.Show(_currentLevel, string.Join(" ", InGameLevel.Words)); if (_levels.Count > _currentLevel) { AnalyticsManager.DidFinishLevel(_currentLevel); _currentLevel++; } else { _currentLevel = 1; } PlayerPrefs.SetInt("CurrentLevel", _currentLevel); _currentWordNumber = 0; _timerControl.ChangeTimerPause(); } else { LoadWord(); } }
public override void OnSuccess(WWWResult www) { if (Network.IsError) { if (Network.ErrCode == Network.EErrCode.SessionFailure) { this.OnFailed(); } else { this.OnFailed(); } } else { WebAPI.JSON_BodyResponse <FlowNode_GetSessionID.JSON_DeviceID> jsonObject = JSONParser.parseJSONObject <WebAPI.JSON_BodyResponse <FlowNode_GetSessionID.JSON_DeviceID> >(www.text); DebugUtility.Assert(jsonObject != null, "res == null"); string deviceId = jsonObject.body.device_id; AnalyticsManager.TrackUserID(deviceId); MonoSingleton <GameManager> .Instance.SaveAuth(deviceId); Network.RemoveAPI(); this.ActivateOutputLinks(1); ((Behaviour)this).set_enabled(false); } }
private void OnApplicationQuit() { ExitEvent(); StopSession(); _instance = null; DestroyImmediate(gameObject); }
private void Start() { this.AdjustInit(); this.FirebaseInit(); this.CheckDailyBonus(); try { PlayTimeEventTracker.AppResume(); } catch (Exception ex) { UnityEngine.Debug.Log("PlayTimeEventTracker ex. " + ex.Message); } this.deepLinker = new DeeplinkController(base.GetComponent <FMDeepLink>()); this.deepLinker.BonusCodeReceived += this.OnFBDeeplinkOpened; AppState.ContentReqTime = DateTime.Now; base.StartCoroutine(this.LoadSysParameters(delegate { AdsManager.Instance.SetParams(this.adsId, this.adsLimitied); if (GeneralSettings.AdsDisabled) { FMLogger.vAds("casual disable ads on startup"); AdsManager.Instance.DisableAds(); } else { FMLogger.vAds("ads init"); AdsManager.Instance.Init(); AdsManager.Instance.StartFsInterval(); } TGFModule.Instance.Init(this.adsId, this.adsLimitied, this.countryCode, this.langCode); ImageManager.Instance.Init(); SharedData.Instance.Init(); //FB.Init(null, null, null); AppState.LaunchTime = DateTime.Now; this.fairyController.StartTimer(); this.deepLinker.Check(); TGFModule.Instance.PrecachePages(); try { AnalyticsManager.SetUserDeviceTypeProperty(SafeLayout.IsTablet); } catch (Exception ex2) { FMLogger.vCore("SetUserDeviceTypeProperty crash. " + ex2.Message); } float delay = 0.5f; if (AppManager.__f__mg_cache0 == null) { AppManager.__f__mg_cache0 = new Action(UserLifecycle.AppLaunch); } base.StartCoroutine(this.DelayAction(delay, AppManager.__f__mg_cache0)); AppManager.inited = true; if (this.Loaded != null) { this.Loaded(); } })); }
public override Widget build(BuildContext context) { base.build(context: context); var mode = this._selectValue == "all" ? "" : this._selectValue; return(new Container( padding: EdgeInsets.only(top: CCommonUtils.getSafeAreaTopPadding(context: context)), color: CColors.White, child: new Column( children: new List <Widget> { new CustomNavigationBar( new Text("活动", style: CTextStyle.H2) ), new Expanded( child: new CustomSegmentedControl( new List <object> { "即将开始", "往期活动" }, new List <Widget> { new EventOngoingScreenConnector(mode: mode), new EventCompletedScreenConnector(mode: mode) }, newValue => AnalyticsManager.ClickEventSegment("Event", 0 == newValue ? "ongoing" : "completed"), 1, trailing: new Container( padding: EdgeInsets.only(right: 12), child: new CustomDropdownButton <string>( value: this._selectValue, items: new List <CustomDropdownMenuItem <string> > { new CustomDropdownMenuItem <string>( value: "all", child: new Text("全部") ), new CustomDropdownMenuItem <string>( value: "online", child: new Text("线上") ), new CustomDropdownMenuItem <string>( value: "offline", child: new Text("线下") ) }, onChanged: newValue => { if (this._selectValue != newValue) { this.setState(() => this._selectValue = newValue); } }, headerWidget: new Container(height: 6, color: CColors.White), footerWidget: new Container(height: 6, color: CColors.White) ) ) ) ) } ) )); }
public override Widget build(BuildContext context) { var child = new Container( color: CColors.White, child: new CustomSafeArea( bottom: false, child: new CustomTabBar( new List <Widget> { new ArticlesScreenConnector(), new EventsScreen(), new NotificationScreenConnector(), new PersonalScreenConnector() }, new List <CustomTabBarItem> { new CustomTabBarItem( 0, Icons.UnityTabIcon, Icons.UnityTabIcon, "首页" ), new CustomTabBarItem( 1, Icons.outline_event, Icons.eventIcon, "活动" ), new CustomTabBarItem( 2, Icons.outline_notification, Icons.notification, "通知" ), new CustomTabBarItem( 3, Icons.mood, Icons.mood, "我的" ) }, backgroundColor: CColors.TabBarBg, (fromIndex, toIndex) => { AnalyticsManager.ClickHomeTab(fromIndex: fromIndex, toIndex: toIndex); if (toIndex != 2 || StoreProvider.store.getState().loginState.isLoggedIn) { return(true); } Router.navigator.pushNamed(routeName: MainNavigatorRoutes.Login); return(false); } ) ) ); return(new VersionUpdater( child: child )); }
public void Awake() { GlobalInstance = this; LastDump = Time.time; DontDestroyOnLoad(gameObject); loggedData = new Queue <KeyValuePair <string, string> >(); startTimes = new List <KeyValuePair <string, float> >(); }
static void pushPage() { var splash = SplashManager.getSplash(); AnalyticsManager.ClickSplashPage(splash.id, splash.name, splash.url); Router.navigator.pushReplacementNamed(MainNavigatorRoutes.Main); JPushPlugin.openUrl(splash.url); }
public static void Postfix() // happens the moment any game starts { // sets the delta at the start of the game // the delta will gradually widen if they speedhack AnalyticsManager analyticsManager = new AnalyticsManager(); delta = analyticsManager.GetServerDelta(Il2CppSystem.DateTime.Now); }
void pushCallback() { this.cancelTimer(); var splash = SplashManager.getSplash(); AnalyticsManager.ClickSkipSplashPage(splash.id, splash.name, splash.url); StoreProvider.store.dispatcher.dispatch(new MainNavigatorPushReplaceMainAction()); }
/// <summary> /// Decorates the HTML markup rendered by an Entity or Region View. /// </summary> /// <param name="htmlToDecorate">The HTML to decorate.</param> /// <param name="viewModel">The <see cref="ViewModel"/> associated with the HTML fragment.</param> /// <returns>The decorated HTML.</returns> public string DecorateMarkup(string htmlToDecorate, ViewModel viewModel) { SmartTargetExperiment experiment = viewModel as SmartTargetExperiment; if (experiment == null) { // Not a ST Experiment; nothing to do. return htmlToDecorate; } using (new Tracer(htmlToDecorate, viewModel)) { if (_analyticsManager == null) { // NOTE: might overwrite in a race condition, but that's not a problem. _analyticsManager = new AnalyticsManager(); } AnalyticsMetaData analyticsMetaData = new AnalyticsMetaData(); return _analyticsManager.AddTrackingToLinks(htmlToDecorate, experiment.ExperimentDimensions, analyticsMetaData); } }