public override void CustomEvent(string eventID) { Log.I("Firebase Send Data:" + eventID); FirebaseAnalytics.LogEvent(eventID); }
public void LogEvent(string MainTitle, string SubTitle, int val) { // Log an event with no parameters. FirebaseAnalytics.LogEvent(MainTitle, SubTitle, val); }
/// <summary> /// 用浮点记录事件。 /// </summary> public void AnalyticsProgress() { // Log an event with a float. DebugLog("正在记录进度事件。==Logging a progress event."); FirebaseAnalytics.LogEvent("progress", "percent", 0.4f + UnityEngine.Random.Range(0, 4000)); }
public FirebaseLogService(FirebaseAnalytics firebaseAnalytics) { analytics = firebaseAnalytics; }
public void AnalyticsLogin() { // Log an event with no parameters. DebugLog("Logging a login event."); FirebaseAnalytics.LogEvent(FirebaseAnalytics.EventLogin); }
public void LogEvent(string _event) { //Debug.Log(_event); FirebaseAnalytics.LogEvent(_event); }
public AnalyticsService() { firebaseAnalytics = FirebaseAnalytics.GetInstance(Android.App.Application.Context); }
public void RefreshCharacterBoard(int i) { int characterLevel = controller.characterLevel[i]; controller.characterUnitLevelText[i].text = characterLevel > 0 ? "LEVEL: " + characterLevel + " UNITS: " + NumberFormat.format(controller.units[i]): ""; int prevLevel = controller.lastLevel; if (i != 0 || characterLevel > 1) { controller.RecalculateCharacterUpgradeCost(i); } if (characterLevel >= boostLevelRequirements[0]) { enableBoost1(i); Debug.Log("gen boost 1 available"); FirebaseAnalytics.LogEvent("char_gen_boost_1_available"); if (prevLevel < boostLevelRequirements[0]) { if (i == 1) { Debug.Log("reeda boost 1 available"); FirebaseAnalytics.LogEvent("char_Reeda_boost_1_available"); } } } if (characterLevel >= boostLevelRequirements[1]) { enableBoost2(i); Debug.Log("gen boost 2 available"); FirebaseAnalytics.LogEvent("char_gen_boost_2_available"); if (prevLevel < boostLevelRequirements[0]) { if (i == 1) { Debug.Log("reeda boost 2 available"); FirebaseAnalytics.LogEvent("char_Reeda_boost_2_available"); } } } if (characterLevel >= boostLevelRequirements[2]) { enableBoost3(i); Debug.Log("gen boost 3 available"); FirebaseAnalytics.LogEvent("char_gen_boost_3_available"); if (prevLevel < boostLevelRequirements[0]) { if (i == 1) { Debug.Log("reeda boost 1 available"); FirebaseAnalytics.LogEvent("char_Reeda_boost_3_available"); } } } if (characterLevel >= boostLevelRequirements[3]) { enableSkill(i); Debug.Log("gen skill available"); FirebaseAnalytics.LogEvent("char_gen_skill_available"); if (prevLevel < boostLevelRequirements[0]) { if (i == 1) { Debug.Log("reeda boost 1 available"); FirebaseAnalytics.LogEvent("char_Reeda_skill_available"); } } } if ((i != 0 && characterLevel > 0) || characterLevel > 1) { enableBoard(i); } SetBoostImageIcon(i, "Boost 1", boostBought1[i]); SetBoostImageIcon(i, "Boost 2", boostBought2[i]); SetBoostImageIcon(i, "Boost 3", boostBought3[i]); SetBoostImageIcon(i, "Skill", skillController.skillsBought[skillController.keys[i]]); Text gildText = characterBoards[i].transform.Find("Gilds Text").GetComponent <Text>(); if (controller.characterGilds[i] > 0) { characterBoards[i].GetComponent <Image>().color = gildColor; } gildText.text = "Gilds: " + NumberFormat.format(controller.characterGilds[i]); gildText.gameObject.SetActive(controller.characterGilds[i] > 0); }
public void LogAppOpenEvent() { #if !UNITY_EDITOR FirebaseAnalytics.LogEvent(FirebaseAnalytics.EventAppOpen); #endif }
public void LoadGame() { FirebaseAnalytics.LogEvent(Actions.PLAY_GAME_BUTTON_CLICK); SceneManager.LoadScene(1); }
public static void Initialize(Context context) { _firebaseAnalytics = FirebaseAnalytics.GetInstance(context); }
private void InitializeFirebase() { firebaseAnalytics = FirebaseAnalytics.GetInstance(this); }
public void Reward(string RewardName) { today = DateTime.UtcNow.AddHours(9).ToString("yyyy-MM-dd"); int coinreward = 0; int trailreward = 0; int coinrewardx2 = 0; int conti = 0; if (RewardName == "trail") { totalTrailReward++; trailreward = 1; Parameter[] RewardParameters = { new Parameter("date", today), new Parameter("play_count", ToTalPlayCount), new Parameter("skin", trailreward), new Parameter("RV_Skintotal", totalTrailReward), new Parameter("Re_total", totalTrailReward + totalCoinReward + totalCoinRewardx2), new Parameter("Version", Application.version) }; FirebaseAnalytics.LogEvent("ads_RV", RewardParameters); // string a = string.Format("EventName = ads_RV play_count = {0} , skin ={1} , RV_Skintotal = {2} , Re_total = {3}" // , ToTalPlayCount, trailreward, totalTrailReward, totalTrailReward + totalCoinReward + totalCoinRewardx2 + conti); // Debug.Log(a); } else if (RewardName == "coin200") { coinreward = 1; totalCoinReward++; Parameter[] RewardParameters = { new Parameter("date", today), new Parameter("play_count", ToTalPlayCount), new Parameter("coin200", coinreward), new Parameter("RV_Cointotal", totalCoinReward), new Parameter("Version", Application.version), new Parameter("Re_total", totalTrailReward + totalCoinReward + totalCoinRewardx2) }; FirebaseAnalytics.LogEvent("ads_RV", RewardParameters); // string a = string.Format("EventName = ads_RV play_count = {0} , coin200 ={1} , RV_Cointotal = {2} , Re_total = {3}" // , ToTalPlayCount, coinreward, totalCoinReward, totalTrailReward + totalCoinReward + totalCoinRewardx2 + conti); // Debug.Log(a); } else if (RewardName == "coinx2") { coinrewardx2 = 1; totalCoinRewardx2++; Parameter[] RewardParameters = { new Parameter("date", today), new Parameter("play_count", ToTalPlayCount), new Parameter("coinx2", coinrewardx2), new Parameter("RV_Coinx2total", totalCoinRewardx2), new Parameter("Version", Application.version), new Parameter("Re_total", totalTrailReward + totalCoinReward + totalCoinRewardx2) }; FirebaseAnalytics.LogEvent("ads_RV", RewardParameters); // string a = string.Format("EventName = ads_RV play_count = {0} , coinx2 ={1} , RV_Coinx2total = {2} , Re_total = {3}" // , ToTalPlayCount, coinrewardx2, totalCoinRewardx2, totalTrailReward + totalCoinReward + totalCoinRewardx2 + conti); // Debug.Log(a); } else if (RewardName == "continue") { conti = 1; totalContinueReward++; Parameter[] RewardParameters = { new Parameter("date", today), new Parameter("play_count", ToTalPlayCount), new Parameter("continue", conti), new Parameter("RV_Continuetotal", totalContinueReward), new Parameter("Version", Application.version), new Parameter("Re_total", totalTrailReward + totalCoinReward + totalCoinRewardx2) }; FirebaseAnalytics.LogEvent("ads_RV", RewardParameters); // string a = string.Format("EventName = ads_RV play_count = {0} , continue ={1} , RV_Continuetotal = {2} , Re_total = {3}" // , ToTalPlayCount, conti, totalContinueReward, totalTrailReward + totalCoinReward + totalCoinRewardx2 + conti); // Debug.Log(a); } }
public override void CustomValueEvent(string eventID, float value, string label) { Log.I("Firebase Send Data:" + eventID); FirebaseAnalytics.LogEvent(eventID, label, value); }
public void Init(AdmobInfor infor) { _infor = infor; if (infor.IsUseBanner) { RequestBanner(); } if (infor.IsUseFull) { RequestFull(); } if (infor.IsUseVideo) { RewardBasedVideo = RewardBasedVideoAd.Instance; RewardBasedVideo.OnAdFailedToLoad += (sender, args) => { IsVideoRequesting = false; Debug.Log("Video Failed " + args.Message); FirebaseAnalytics.LogEvent("Ads", "Video", "Failed"); }; RewardBasedVideo.OnAdClosed += (sender, args) => { DOVirtual.DelayedCall(.01f, () => { if (_isRewarded) { if (_onVideoRewarded != null) { _onVideoRewarded(); } _isRewarded = false; Debug.Log("Video Closed"); FirebaseAnalytics.LogEvent("Ads", "Video", "Closed"); RequestVideo(); } }); }; RewardBasedVideo.OnAdLeavingApplication += (sender, args) => { Debug.Log("Video Clicked"); FirebaseAnalytics.LogEvent("Ads", "Video", "Clicked"); API.IsAdsClick = true; }; RewardBasedVideo.OnAdLoaded += (sender, args) => { IsVideoRequesting = false; Debug.Log("Video Loaded"); FirebaseAnalytics.LogEvent("Ads", "Video", "Loaded"); }; RewardBasedVideo.OnAdRewarded += (sender, reward) => { _isRewarded = true; Debug.Log("Video Rewarded"); FirebaseAnalytics.LogEvent("Ads", "Video", "Rewarded "); }; RequestVideo(); } }
protected override void OnCreate(Bundle savedInstanceState) { firebaseAnalytics = FirebaseAnalytics.GetInstance(ApplicationContext); base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.record); SetSupportActionBar(FindViewById <Toolbar>(Resource.Id.toolbar)); SupportActionBar.Title = StringResources.recording_ui_title; SupportActionBar.SetDisplayHomeAsUpEnabled(true); var instructionsHeader = FindViewById <TextView>(Resource.Id.recordInstructionsHeader); instructionsHeader.Text = StringResources.recording_ui_instructions_header; InterviewSessionID = Guid.NewGuid().ToString(); var _prefs = Android.Preferences.PreferenceManager.GetDefaultSharedPreferences(ApplicationContext); ConsentType = _prefs.GetString("SESSION_CONSENT", ""); SelectedProjectID = _prefs.GetInt("SelectedProjectID", 0); var selectedProject = Queries.ProjectById(SelectedProjectID); var promptRecyclerView = FindViewById <RecyclerView>(Resource.Id.prompts); promptRecyclerView.SetLayoutManager(new GridLayoutManager(this, 1)); themes = selectedProject.Prompts; adapter = new TopicAdapter(themes); adapter.ProjectClicked += ProjectSelected; promptRecyclerView.SetAdapter(adapter); var record = FindViewById <FloatingActionButton>(Resource.Id.start); ViewCompat.SetBackgroundTintList(record, Android.Content.Res.ColorStateList.ValueOf(Color.LightGray)); record.Enabled = false; var timer = FindViewById <TextView>(Resource.Id.timer); timer.SetTextColor(Color.LightGray); // Note: record has two states: start and stop record. record.Click += delegate { LOG_EVENT("RECORD_CLICKED"); // Change icon between record to stop. record.Selected = !record.Selected; if (record.Selected) { // Override path for re-use as user may record many audios. Store only once. if (string.IsNullOrWhiteSpace(_path)) { var personal = System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal); _path = System.IO.Path.Combine(personal, DateTimeOffset.Now.ToUnixTimeSeconds() + ".mp3"); } StartRecording(); // TODO: do we want users to record for as long as they desire? RunOnUiThread(async() => { _seconds = 0; while (_isrecording) { SupportActionBar.Title = StringResources.recording_ui_title_active; timer.Text = Queries.FormatFromSeconds(_seconds++); await Task.Delay(1000); } }); } else { ModalToVerifyRecordingEnd(); // This ensures that the state of the Play/Stop icon does not change record.Selected = true; } }; }
/// <summary> /// Test analytics /// </summary> public void LogEvent() { FirebaseAnalytics.LogEvent(FirebaseAnalytics.EventSelectContent, FirebaseAnalytics.ParameterContent, "Click"); }
protected override async void OnCreate(Bundle savedInstanceState) { firebaseAnalytics = FirebaseAnalytics.GetInstance(this); base.OnCreate(savedInstanceState); Localise.SetLayoutDirectionByCulture(this); SetContentView(Resource.Layout.register_verification_res); var prefs = PreferenceManager.GetDefaultSharedPreferences(ApplicationContext); // The user has already been logged in -- not sure how they got here. if (!string.IsNullOrWhiteSpace(prefs.GetString("username", ""))) { StartActivity(typeof(MainActivity)); Finish(); } var _title = FindViewById <TextView>(Resource.Id.registerVerifyTitle); _title.Text = StringResources.register_verifying_ui_page_title; var _content = FindViewById <TextView>(Resource.Id.registerVerifyContent); _content.Text = StringResources.register_verifying_ui_page_content; // Shown if an error occurs, such as account already been verified. var loginButton = FindViewById <AppCompatButton>(Resource.Id.registerVerifyLogin); loginButton.Text = StringResources.register_verifying_ui_button_login; // The URI click in the email var dataURI = base.Intent.Data; if (!string.IsNullOrEmpty(dataURI.ToString())) { FindViewById <ProgressBar>(Resource.Id.registerVerifyProgressBar).Visibility = ViewStates.Visible; var response = await RestClient.RegisterVerify(dataURI.LastPathSegment); FindViewById <ProgressBar>(Resource.Id.registerVerifyProgressBar).Visibility = ViewStates.Gone; if (response.Meta.Success) { LOG_EVENT_WITH_ACTION("EMAIL_VERIFICATION", "SUCCESS"); prefs.Edit().PutString("username", response.Data.User.Email).Commit(); prefs.Edit().PutString("tokens", JsonConvert.SerializeObject(response.Data.Tokens)).Commit(); Queries.SetActiveUser(response.Data); var intent = new Intent(this, typeof(MainActivity)); intent.SetFlags(ActivityFlags.ClearTop | ActivityFlags.ClearTask | ActivityFlags.NewTask); StartActivity(intent); Finish(); } else { LOG_EVENT_WITH_ACTION("EMAIL_VERIFICATION", "ERROR"); loginButton.Visibility = ViewStates.Visible; FindViewById <TextView>(Resource.Id.registerVerifyContent).Text = StringResources.register_verifying_ui_page_content_error; response.Meta.Messages.ForEach(MakeError); } } loginButton.Click += delegate { LOG_EVENT_WITH_ACTION("EMAIL_VERIFICATION", "LOGIN_CLICKED"); var intent = new Intent(this, typeof(LoginActivity)); intent.SetFlags(ActivityFlags.ClearTop | ActivityFlags.ClearTask | ActivityFlags.NewTask); StartActivity(intent); Finish(); }; }
public void LogEvent(string eventName) { FirebaseAnalytics.LogEvent(eventName); }
protected override void OnCreate(Bundle savedInstanceState) { firebaseAnalytics = FirebaseAnalytics.GetInstance(ApplicationContext); base.OnCreate(savedInstanceState); Localise.SetLayoutDirectionByPreference(this); SetContentView(Resource.Layout.preparation); SupportActionBar.Title = StringResources.participants_ui_title; SupportActionBar.SetDisplayHomeAsUpEnabled(true); var partsInstructs = FindViewById <TextView>(Resource.Id.participantsInstructions); partsInstructs.Text = StringResources.participants_ui_instructions; // Required to access existing gabbers for a given user var prefs = PreferenceManager.GetDefaultSharedPreferences(ApplicationContext); participants = Queries.AllParticipantsUnSelected(); var participantsView = FindViewById <RecyclerView>(Resource.Id.participants); participantsView.SetLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.Vertical, false)); adapter = new ParticipantAdapter(participants); adapter.ParticipantClicked += ParticipantSelected; participantsView.SetAdapter(adapter); UpdateParticipantsSelectedLabel(); new LinearSnapHelper().AttachToRecyclerView(participantsView); var startRecording = FindViewById <Button>(Resource.Id.startRecording); startRecording.Text = StringResources.participants_ui_startrecording_button; startRecording.Click += delegate { if (adapter.SelectedParticipantsCount == 0) { LOG_EVENT_WITH_ACTION("NO_PARTICIPANTS_SELECTED", "TOAST"); Toast.MakeText(this, StringResources.participants_ui_validation_noneselected, ToastLength.Long).Show(); } else if (adapter.SelectedParticipantsCount == 1) { LOG_EVENT_WITH_ACTION("ONE_PARTICIPANT_MODAL", "DISPLAYED"); var alert = new Android.Support.V7.App.AlertDialog.Builder(this); alert.SetTitle(StringResources.participants_ui_validation_oneselected_title); alert.SetMessage(StringResources.participants_ui_validation_oneselected_message); alert.SetIcon(Android.Resource.Drawable.IcDialogAlert); alert.SetPositiveButton(StringResources.participants_ui_validation_oneselected_continue, (dialog, id) => { LOG_EVENT_WITH_ACTION("ONE_PARTICIPANT_MODAL", "CONTINUE"); StartActivity(new Intent(this, typeof(Activities.ResearchConsent))); }); alert.SetNegativeButton(StringResources.participants_ui_validation_oneselected_cancel, (dialog, id) => { LOG_EVENT_WITH_ACTION("ONE_PARTICIPANT_MODAL", "DISMISSED"); ((Android.Support.V7.App.AlertDialog)dialog).Dismiss(); }); alert.Create().Show(); } else { LOG_EVENT_WITH_ACTION("NAVIGATE_TO_RECORD", "NAVIGATE"); StartActivity(new Intent(this, typeof(Activities.ResearchConsent))); } }; }
// Reset analytics data for this app instance. public void ResetAnalyticsData() { DebugLog("Reset analytics data."); FirebaseAnalytics.ResetAnalyticsData(); }
public static void SetUserProperties(string name, string value) { FirebaseAnalytics.SetUserProperty(name, value); }
// Start is called before the first frame update void Start() { FirebaseApp.CheckAndFixDependenciesAsync().ContinueWith(continuationAction: task => { FirebaseAnalytics.SetAnalyticsCollectionEnabled(true); }); }
private static void LogEvent(string eventName, params Parameter[] parameters) { // Method utama untuk menembakkan Firebase FirebaseAnalytics.LogEvent(eventName, parameters); }
public void AnalyticsProgress() { // Log an event with a float. DebugLog("Logging a progress event."); FirebaseAnalytics.LogEvent("progress", "percent", 0.4f); }
public static void AnalyticsTraking(AnalyticsEvents analyticsEvent, string parameterName = "", string parameterValue = "", string parameterName2 = "", string parameterValue2 = "", string parameterName3 = "", string parameterValue3 = "") { if (!SGFirebase.SetupReady) { return; } switch (analyticsEvent) { case AnalyticsEvents.StartGame: Parameter[] startGame = { new Parameter(FirebaseAnalytics.ParameterLevelName, SGScenes.GetActiveSceneName), }; FirebaseAnalytics.LogEvent(FirebaseAnalytics.EventAppOpen, startGame); FirebaseAnalytics.SetCurrentScreen(SGScenes.GetActiveSceneName, SGScenes.GetActiveSceneName); break; case AnalyticsEvents.QuitGame: Parameter[] quit = { new Parameter(FirebaseAnalytics.ParameterLevelName, SGScenes.GetActiveSceneName), }; FirebaseAnalytics.LogEvent("Quit", quit); break; case AnalyticsEvents.LevelStart: Parameter[] levelStart = { new Parameter(FirebaseAnalytics.ParameterLevelName, SGScenes.GetActiveSceneName), }; FirebaseAnalytics.LogEvent(FirebaseAnalytics.EventLevelStart, levelStart); break; case AnalyticsEvents.Search: Parameter[] search = { new Parameter(FirebaseAnalytics.ParameterLevelName, SGScenes.GetActiveSceneName), new Parameter(parameterName, parameterValue), }; FirebaseAnalytics.LogEvent(FirebaseAnalytics.EventSearch, search); break; case AnalyticsEvents.LevelCompleted: Parameter[] levelCompleted = { new Parameter(FirebaseAnalytics.ParameterLevelName, SGScenes.GetActiveSceneName), }; FirebaseAnalytics.LogEvent("LevelCompleted", levelCompleted); break; case AnalyticsEvents.LowMemory: Parameter[] lowMemory = { new Parameter(FirebaseAnalytics.ParameterLevelName, SGScenes.GetActiveSceneName), }; FirebaseAnalytics.LogEvent("LowMemory", lowMemory); break; case AnalyticsEvents.LoadDefault: Parameter[] loadDefault = { new Parameter(FirebaseAnalytics.ParameterLevelName, SGScenes.GetActiveSceneName), }; FirebaseAnalytics.LogEvent("LoadDefault", loadDefault); break; case AnalyticsEvents.GameOver: Parameter[] gameOver = { new Parameter(FirebaseAnalytics.ParameterLevelName, SGScenes.GetActiveSceneName), }; FirebaseAnalytics.LogEvent("GameOver", gameOver); break; case AnalyticsEvents.OnClick: Parameter[] onChangeData = { new Parameter(FirebaseAnalytics.ParameterLevelName, SGScenes.GetActiveSceneName), new Parameter(parameterName, parameterValue), new Parameter(parameterName2, parameterValue2), new Parameter(parameterName3, parameterValue3), }; FirebaseAnalytics.LogEvent("OnChangeData", onChangeData); break; case AnalyticsEvents.AdStart: Parameter[] adStart = { new Parameter(FirebaseAnalytics.ParameterLevelName, SGScenes.GetActiveSceneName), new Parameter(parameterName, parameterValue), }; FirebaseAnalytics.LogEvent("AdStart", adStart); break; case AnalyticsEvents.AdClose: Parameter[] adClose = { new Parameter(FirebaseAnalytics.ParameterLevelName, SGScenes.GetActiveSceneName), new Parameter(parameterName, parameterValue), }; FirebaseAnalytics.LogEvent("AdClose", adClose); break; case AnalyticsEvents.AdCompleted: Parameter[] adCompleted = { new Parameter(FirebaseAnalytics.ParameterLevelName, SGScenes.GetActiveSceneName), new Parameter(parameterName, parameterValue), }; FirebaseAnalytics.LogEvent("AdCompleted", adCompleted); break; case AnalyticsEvents.AdFailed: Parameter[] adFailed = { new Parameter(FirebaseAnalytics.ParameterLevelName, SGScenes.GetActiveSceneName), new Parameter(parameterName, parameterValue), }; FirebaseAnalytics.LogEvent("AdFailed", adFailed); break; default: break; } }
public void OnClickPushYes_weekend() { CurrencyManager.instance.Jewel += 100; GameManager.SaveLogToServer("접속 시간", DateTime.Now.Hour.ToString(), "핫 타임 푸시_주말"); FirebaseAnalytics.LogEvent(string.Format("HotTime_Weekend_{0}", DateTime.Now.Hour)); }
public void InitializeGameAnalytics() { if (!base.Inited) { AnalyticsService analytics = PersistentSingleton <AnalyticsService> .Instance; IAPService instance = PersistentSingleton <IAPService> .Instance; AdService instance2 = PersistentSingleton <AdService> .Instance; SessionService sessionService = PersistentSingleton <SessionService> .Instance; PlayerData playerData = PlayerData.Instance; instance.IAPCompleted.Subscribe(delegate(IAPTransactionState iapCompleted) { analytics.TrackEvent("IAP_Complete", iapCompleted.asDictionary(), string.Empty); }); instance.IAPNotCompleted.Subscribe(delegate(IAPNotCompleted iapNotCompleted) { analytics.TrackEvent("IAP_Not_Complete", iapNotCompleted.asDictionary(), string.Empty); }); instance.IAPValidated.Subscribe(delegate(IAPTransactionState iapValidated) { analytics.TrackEvent("IAP_Validated", iapValidated.asDictionary(), string.Empty); }); instance2.AdStarted.Subscribe(delegate(AdWatched adStarted) { analytics.TrackEvent("Ad_Started", adStarted.asDictionary(), string.Empty); }); (from adResult in instance2.AdResults where adResult.result == AdService.V2PShowResult.Finished select adResult).Subscribe(delegate(AdWatched adWatched) { analytics.TrackEvent("Ad_Watched", adWatched.asDictionary(), "fb_mobile_content_view"); }); (from adResult in instance2.AdResults where adResult.result == AdService.V2PShowResult.Failed || adResult.result == AdService.V2PShowResult.Skipped select adResult).Subscribe(delegate(AdWatched adFailed) { analytics.TrackEvent("Ad_Failed", adFailed.asDictionary(), string.Empty); }); (from a in instance2.AdLoadRequests select a.asDictionary(ServerTimeService.NowTicks())).Subscribe(delegate(Dictionary <string, string> adLoadRequest) { analytics.TrackEvent("Ad_Load", adLoadRequest, string.Empty); }); (from isNewUser in sessionService.newUser where isNewUser select isNewUser).Subscribe(delegate { analytics.TrackEvent("New_User", new Dictionary <string, string>(), string.Empty); }); playerData.SessionNumber.Subscribe(delegate { analytics.TrackEvent("Session_Started", new Dictionary <string, string> { { "LastSavedBy", playerData.LastSavedBy }, { "HoursSinceLastSession", ((int)TimeSpan.FromTicks(sessionService.TicksSinceLastSave()).TotalHours).ToString() }, { "Lifetime_BlocksDestroyed", CountLifetimeBlocksDestroyed() } }, string.Empty); }); playerData.SessionNumber.Subscribe(delegate { analytics.TrackEvent("Session_Balance", new Dictionary <string, string> { { "Material_Grass", playerData.BlocksCollected[0].Value.ToString() }, { "Material_Dirt", playerData.BlocksCollected[1].Value.ToString() }, { "Material_Wood", playerData.BlocksCollected[2].Value.ToString() }, { "Material_Stone", playerData.BlocksCollected[3].Value.ToString() }, { "Material_Metal", playerData.BlocksCollected[4].Value.ToString() }, { "Material_Gold", playerData.BlocksCollected[5].Value.ToString() }, { "Material_Jelly", playerData.BlocksCollected[6].Value.ToString() } }, string.Empty); }); (from ord in PrestigeTriggered where ord == PrestigeOrder.PrestigeStart select ord).Subscribe(delegate { analytics.TrackEvent("Prestige", new Dictionary <string, string> { { "Material_Grass", ((double)playerData.BlocksInBackpack[0].Value * Singleton <CumulativeBonusRunner> .Instance.BonusMult[13].Value.ToDouble()).ToString() }, { "Material_Dirt", ((double)playerData.BlocksInBackpack[1].Value * Singleton <CumulativeBonusRunner> .Instance.BonusMult[14].Value.ToDouble()).ToString() }, { "Material_Wood", ((double)playerData.BlocksInBackpack[2].Value * Singleton <CumulativeBonusRunner> .Instance.BonusMult[15].Value.ToDouble()).ToString() }, { "Material_Stone", ((double)playerData.BlocksInBackpack[3].Value * Singleton <CumulativeBonusRunner> .Instance.BonusMult[16].Value.ToDouble()).ToString() }, { "Material_Metal", ((double)playerData.BlocksInBackpack[4].Value * Singleton <CumulativeBonusRunner> .Instance.BonusMult[17].Value.ToDouble()).ToString() }, { "Material_Gold", ((double)playerData.BlocksInBackpack[5].Value * Singleton <CumulativeBonusRunner> .Instance.BonusMult[18].Value.ToDouble()).ToString() }, { "Material_Jelly", ((double)playerData.BlocksInBackpack[6].Value * Singleton <CumulativeBonusRunner> .Instance.BonusMult[19].Value.ToDouble()).ToString() } }, string.Empty); }); playerData.TutorialStep.Skip(1).Subscribe(delegate(int step) { analytics.TrackEvent("FTUE_Stage_Done", new Dictionary <string, string> { { "FTUE_Stage", Singleton <TutorialGoalCollectionRunner> .Instance.GetOrCreatePlayerGoalRunner(step - 1).GoalConfig.ID }, { "FTUE_Stage_ID", (step - 1).ToString() } }, (step < Singleton <EconomyHelpers> .Instance.GetTutorialGoalAmount() - 1) ? string.Empty : "fb_mobile_tutorial_completion"); }); playerData.TutorialStep.Skip(1).Subscribe(delegate(int step) { Analytics.CustomEvent("FTUE_Stage_Done", new Dictionary <string, object> { { "FTUE_Stage", Singleton <TutorialGoalCollectionRunner> .Instance.GetOrCreatePlayerGoalRunner(step - 1).GoalConfig.ID }, { "FTUE_Stage_ID", (step - 1).ToString() } }); }); GemTransactions.Subscribe(delegate(GemTransaction transaction) { analytics.TrackEvent("Gem_Transaction", transaction.asDictionary(), (!(transaction.transaction == "spendFunds")) ? string.Empty : "fb_mobile_spent_credits", transaction.amount); }); ChestTransactions.Subscribe(delegate(ChestTransaction transaction) { analytics.TrackEvent("Chest_Transaction", transaction.asDictionary(), string.Empty); }); KeyTransactions.Subscribe(delegate(KeyTransaction transaction) { analytics.TrackEvent("Key_Added", transaction.asDictionary(), string.Empty); }); BerryTransaction.Subscribe(delegate(BerryTransaction transaction) { analytics.TrackEvent("Berry_Added", transaction.asDictionary(), string.Empty); }); PopupDecisions.Subscribe(delegate(PopupDecision decision) { analytics.TrackEvent("Popup_Decision", decision.asDictionary(), string.Empty); }); (from coins in playerData.LifetimeCoins.Pairwise() where coins.Previous.exponent != coins.Current.exponent select coins).Subscribe(delegate { analytics.TrackEvent("New_LTE_Digit", new Dictionary <string, string>(), string.Empty); }); playerData.LifetimeChunk.Skip(1).Subscribe(delegate { analytics.TrackEvent("New_Max_Chunk", new Dictionary <string, string>(), string.Empty); }); playerData.LifetimeCreatures.Skip(1).Subscribe(delegate { analytics.TrackEvent("New_Max_Companions", new Dictionary <string, string>(), string.Empty); }); HeroStateFactory.GetOrCreateHeroState(0).LifetimeLevel.Skip(1).Subscribe(delegate { analytics.TrackEvent("New_Max_Hero_Level", new Dictionary <string, string>(), string.Empty); }); GoalCompleted.Subscribe(delegate(PlayerGoalRunner goal) { analytics.TrackEvent("Achievement_Completed", new Dictionary <string, string> { { "Goal_ID", goal.GoalConfig.ID } }, "fb_mobile_achievement_unlocked"); }); NewBundle.Subscribe(delegate(IAPProductEnum bundle) { analytics.TrackEvent("Offer_Given", new Dictionary <string, string> { { "Offer", bundle.ToString() } }, string.Empty); }); GearUpgraded.Subscribe(delegate(GearRunner gear) { analytics.TrackEvent("Gear_Upgrade", new Dictionary <string, string> { { "GearLevel", gear.Level.ToString() }, { "GearID", gear.GearIndex.ToString() } }, string.Empty); }); SkillUsed.Subscribe(delegate(SkillsEnum skill) { analytics.TrackEvent("Skill_Used", new Dictionary <string, string> { { "Skill", skill.ToString() }, { "Lifetime_Used", playerData.SkillStates[(int)skill].LifetimeUsed.Value.ToString() } }, string.Empty); }); BossBattleResult.Skip(1).Subscribe(delegate(bool result) { analytics.TrackEvent("BossBattleResult", new Dictionary <string, string> { { "Result", result.ToString() }, { "Current_Chunk", playerData.MainChunk.Value.ToString() } }, string.Empty); }); ObjectTapped.Subscribe(delegate(string obj) { analytics.TrackEvent("Object_Tapped", new Dictionary <string, string> { { "Object_Tapped", obj } }, string.Empty); }); /*XPromoPlugin.XPromoActions.Subscribe(delegate(XPromoAction XPromoAction) * { * analytics.TrackEvent("X_Promo_Action", XPromoAction.asDictionary(), string.Empty); * });*/ PersistentSingleton <ARService> .Instance.LevelEditorEvent.Subscribe(delegate(string editorEvent) { analytics.TrackEvent("Level_Editor", new Dictionary <string, string> { { "Event", editorEvent } }, string.Empty); }); PersistentSingleton <AnalyticsService> .Instance.FortunePodsResult.Subscribe(delegate(FortunePodResult result) { analytics.TrackEvent("Fortune_Pod_Result", result.asDictionary(), string.Empty); }); (from chunk in playerData.MainChunk.Skip(1) where chunk == 22 && PlayerData.Instance.LifetimePrestiges.Value == 0 && !Singleton <QualitySettingsRunner> .Instance.LowFPS.Value select chunk).Subscribe(delegate { SceneLoader.Instance.StartCoroutine(TrackFpsRuotine()); }); (from hr in playerData.HasReviewed.Skip(1) where hr select hr).Subscribe(delegate { analytics.TrackEvent("fb_mobile_rate", new Dictionary <string, string> { { "fb_max_rating_value", "5" } }, "fb_mobile_rate", 5f); }); playerData.Trophies.Skip(1).Subscribe(delegate(int trophies) { AnalyticsService analyticsService = analytics; Dictionary <string, string> dictionary = new Dictionary <string, string>(); Dictionary <string, string> dictionary2 = dictionary; TournamentTier tournamentTier = (TournamentTier)trophies; dictionary2.Add("RewardType", tournamentTier.ToString()); analyticsService.TrackEvent("TournamentReward", dictionary, string.Empty); }); (from tour in TournamentEvent where tour select tour).Subscribe(delegate { analytics.TrackEvent("TournamentStarted", new Dictionary <string, string> { { "Current_Chunk", playerData.MainChunk.Value.ToString() } }, string.Empty); }); (from tour in TournamentEvent where !tour select tour).Subscribe(delegate { analytics.TrackEvent("TournamentEnded", new Dictionary <string, string> { { "Current_Chunk", playerData.MainChunk.Value.ToString() }, { "Highest_Chunk_Reached", Singleton <TournamentRunner> .Instance.PlayerHighestWorld.Value.ToString() }, { "Position", Singleton <TournamentRunner> .Instance.PlayerRank.Value.ToString() } }, string.Empty); }); (from p in Observable.EveryApplicationPause() where !p && FB.IsInitialized select p).Subscribe(delegate { FB.ActivateApp(); }); FirebaseAnalytics.SetUserId(playerData.PlayerId); FirebaseAnalytics.SetUserProperty("AppGenuine", (!Application.genuineCheckAvailable) ? "N/A" : Application.genuine.ToString()); FirebaseAnalytics.SetUserProperty("Build_Number", Application.version); subscribeToUserProperty("Days_Retained", playerData.DaysRetained); // FirebaseAnalytics.SetUserProperty("Games_Installed", XPromoPlugin.InstalledApps()); FirebaseAnalytics.SetUserProperty("Friends_Giftable", PersistentSingleton <FacebookAPIService> .Instance.FBPlayers.Count.ToString()); FirebaseAnalytics.SetUserProperty("Friends_Playing", PersistentSingleton <FacebookAPIService> .Instance.FBPlayers.Values.Count((FBPlayer p) => p.Playing).ToString()); subscribeToUserProperty("Has_Reviewed", playerData.HasReviewed); FirebaseAnalytics.SetUserProperty("Hours_In_Lifetime", ((int)TimeSpan.FromTicks(sessionService.TicksPlayedInLifetime()).TotalHours).ToString()); FirebaseAnalytics.SetUserProperty("Segments", string.Join(",", PersistentSingleton <GameSettings> .Instance.Segments.ToArray())); subscribeToUserProperty("Music", MusicVolume); subscribeToUserProperty("Notifications_Decided", playerData.NotificationDecision); subscribeToUserProperty("Online", ConnectivityService.InternetConnectionAvailable); subscribeToUserProperty("Review_State", playerData.ReviewState); subscribeToUserProperty("Sound", SFXVolume); subscribeToUserProperty("AR_Editor_Supported", ARSupported); FirebaseAnalytics.SetUserProperty("Language", playerData.Language); FirebaseAnalytics.SetUserProperty("PFID", playerData.PFId.Value); FirebaseAnalytics.SetUserProperty("FBID", playerData.FBId.Value); base.Inited = true; } }
/// <summary> /// 用int参数记录事件。 /// </summary> public void AnalyticsScore() { // Log an event with an int parameter. DebugLog("记录后得分事件。== Logging a post-score event."); FirebaseAnalytics.LogEvent(FirebaseAnalytics.EventPostScore, FirebaseAnalytics.ParameterScore, 42); }
public void HomeButton_OnClick() { FirebaseAnalytics.LogEvent("HomeButton_OnClick"); GoToNextScene(); }