Esempio n. 1
0
 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);
 }
Esempio n. 3
0
 /// <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;
 }
Esempio n. 5
0
 public void AnalyticsLogin()
 {
     // Log an event with no parameters.
     DebugLog("Logging a login event.");
     FirebaseAnalytics.LogEvent(FirebaseAnalytics.EventLogin);
 }
Esempio n. 6
0
 public void LogEvent(string _event)
 {
     //Debug.Log(_event);
     FirebaseAnalytics.LogEvent(_event);
 }
 public AnalyticsService()
 {
     firebaseAnalytics = FirebaseAnalytics.GetInstance(Android.App.Application.Context);
 }
Esempio n. 8
0
    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);
    }
Esempio n. 9
0
 public void LogAppOpenEvent()
 {
     #if !UNITY_EDITOR
     FirebaseAnalytics.LogEvent(FirebaseAnalytics.EventAppOpen);
     #endif
 }
Esempio n. 10
0
 public void LoadGame()
 {
     FirebaseAnalytics.LogEvent(Actions.PLAY_GAME_BUTTON_CLICK);
     SceneManager.LoadScene(1);
 }
Esempio n. 11
0
 public static void Initialize(Context context)
 {
     _firebaseAnalytics = FirebaseAnalytics.GetInstance(context);
 }
Esempio n. 12
0
 private void InitializeFirebase()
 {
     firebaseAnalytics = FirebaseAnalytics.GetInstance(this);
 }
Esempio n. 13
0
    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);
        }
    }
Esempio n. 14
0
 public override void CustomValueEvent(string eventID, float value, string label)
 {
     Log.I("Firebase Send Data:" + eventID);
     FirebaseAnalytics.LogEvent(eventID, label, value);
 }
Esempio n. 15
0
    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");
 }
Esempio n. 18
0
        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();
            };
        }
Esempio n. 19
0
 public void LogEvent(string eventName)
 {
     FirebaseAnalytics.LogEvent(eventName);
 }
Esempio n. 20
0
        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)));
                }
            };
        }
Esempio n. 21
0
 // Reset analytics data for this app instance.
 public void ResetAnalyticsData()
 {
     DebugLog("Reset analytics data.");
     FirebaseAnalytics.ResetAnalyticsData();
 }
Esempio n. 22
0
 public static void SetUserProperties(string name, string value)
 {
     FirebaseAnalytics.SetUserProperty(name, value);
 }
Esempio n. 23
0
 // Start is called before the first frame update
 void Start()
 {
     FirebaseApp.CheckAndFixDependenciesAsync().ContinueWith(continuationAction: task => {
         FirebaseAnalytics.SetAnalyticsCollectionEnabled(true);
     });
 }
Esempio n. 24
0
 private static void LogEvent(string eventName, params Parameter[] parameters)
 {
     // Method utama untuk menembakkan Firebase
     FirebaseAnalytics.LogEvent(eventName, parameters);
 }
Esempio n. 25
0
 public void AnalyticsProgress()
 {
     // Log an event with a float.
     DebugLog("Logging a progress event.");
     FirebaseAnalytics.LogEvent("progress", "percent", 0.4f);
 }
Esempio n. 26
0
    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));
 }
Esempio n. 28
0
    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;
        }
    }
Esempio n. 29
0
 /// <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);
 }
Esempio n. 30
0
 public void HomeButton_OnClick()
 {
     FirebaseAnalytics.LogEvent("HomeButton_OnClick");
     GoToNextScene();
 }