public void InitializeFirebase() { firebaseInitialized = true; FirebaseAnalytics.SetAnalyticsCollectionEnabled(true); // Set the user's sign up method. #if UNITY_IPHONE FirebaseAnalytics.SetUserProperty( "System", "IOS"); #elif UNITY_ANDROID FirebaseAnalytics.SetUserProperty( "System", "Android"); #else FirebaseAnalytics.SetUserProperty( "System", "Other"); #endif Config.userIdentify = SystemInfo.deviceUniqueIdentifier; FirebaseAnalytics.SetUserId(Config.userIdentify); Debug.Log("InitializeFirebaseInitializeFirebaseInitializeFirebaseInitializeFirebase"); FirebaseApp.DefaultInstance.SetEditorDatabaseUrl("https://pirson-escape-plan.firebaseio.com/"); if (FirebaseApp.DefaultInstance.Options.DatabaseUrl != null) { FirebaseApp.DefaultInstance.SetEditorDatabaseUrl(FirebaseApp.DefaultInstance.Options.DatabaseUrl); } }
void Init() { AppOptions app = new AppOptions() { AppId = "1:898200925370:android:5929dcbe0008296d", ApiKey = "AIzaSyDHPBbm8rKurctnZXxegGpxESGw-UoiuCk", ProjectId = "api-9101058431890075688-215796", MessageSenderId = "898200925370-haqpkh0jjaoreco3idi0fv2ltes2kh39.apps.googleusercontent.com", }; FirebaseApp.Create(app, "Glider"); Debug.Log("启用数据收集"); FirebaseAnalytics.SetAnalyticsCollectionEnabled(true); FirebaseAnalytics.SetUserId("testUserId"); FirebaseAnalytics.SetUserProperty(FirebaseAnalytics.UserPropertySignUpMethod, "Google_" + UnityEngine.Random.Range(0, 4000)); FirebaseAnalytics.SetMinimumSessionDuration(new TimeSpan(0, 0, 30)); FirebaseAnalytics.SetSessionTimeoutDuration(new TimeSpan(0, 50, 0)); LoginButton.onClick.AddListener(delegate() { AnalyticsLogin(); }); progressButton.onClick.AddListener(delegate() { AnalyticsProgress(); }); scoreButton.onClick.AddListener(delegate() { AnalyticsScore(); }); groupJoinButton.onClick.AddListener(delegate() { AnalyticsGroupJoin(); }); levelUpButton.onClick.AddListener(delegate() { AnalyticsLevelUp(); }); resetDataButton.onClick.AddListener(delegate() { ResetAnalyticsData(); }); displayAppIdButton.onClick.AddListener(delegate() { DisplayAnalyticsInstanceId(); }); SetUserButton.onClick.AddListener(delegate() { Debug.Log("设置userId"); FirebaseAnalytics.SetUserId("user_" + UnityEngine.Random.Range(0, 4000)); }); SetUserPropertyButton.onClick.AddListener(delegate() { Debug.Log("设置user flghtNumber"); FirebaseAnalytics.SetUserProperty("flghtNumber", "shas--" + UnityEngine.Random.Range(0, 4000)); }); SetUserProperty2Button.onClick.AddListener(delegate() { Debug.Log("设置user deathNumber"); FirebaseAnalytics.SetUserProperty("deathNumber", "shas--" + UnityEngine.Random.Range(0, 4000)); }); testEventButton.onClick.AddListener(delegate() { FirebaseAnalytics.LogEvent("testEvent02", "xiaName", "夏海龙9000"); }); }
void InitializeFirebase(bool firstLogin) { Debug.Log("Enabling data collection."); FirebaseAnalytics.SetAnalyticsCollectionEnabled(true); Debug.Log("Set user properties."); // Set the user's sign up method. FirebaseAnalytics.SetUserProperty( FirebaseAnalytics.UserPropertySignUpMethod, "Google"); // Set the user ID. FirebaseAnalytics.SetUserId(SystemInfo.deviceUniqueIdentifier); // Set default session duration values. FirebaseAnalytics.SetMinimumSessionDuration(new TimeSpan(0, 0, 10)); FirebaseAnalytics.SetSessionTimeoutDuration(new TimeSpan(0, 30, 0)); firebaseInitialized = true; Debug.Log("Logging a login event."); FirebaseAnalytics.LogEvent(FirebaseAnalytics.EventLogin); if (firstLogin) { Firebase.Analytics.FirebaseAnalytics.LogEvent( Firebase.Analytics.FirebaseAnalytics.EventTutorialBegin, new Firebase.Analytics.Parameter(Firebase.Analytics.FirebaseAnalytics.ParameterCreativeName, "JUEGO INICIADO&preguntas:0")); } }
void InitializeFirebase() { Debug.Log("Enabling data collection."); FirebaseAnalytics.SetAnalyticsCollectionEnabled(true); Debug.Log("Set user properties."); FirebaseAnalytics.SetUserProperty(FirebaseAnalytics.UserPropertySignUpMethod, "Google"); FirebaseAnalytics.SetUserId("uber_user_510"); }
void InitializeFirebase() { UnityEngine.Debug.Log("AnalyticsFirebase Inited"); IsInit = true; FirebaseAnalytics.SetAnalyticsCollectionEnabled(true); FirebaseAnalytics.SetUserId(DeviceID.UUID); FirebaseAnalytics.SetSessionTimeoutDuration(new TimeSpan(0, 30, 0)); }
public static void SetUserId(string id) { if (!setupReady) { return; } userId = id; Crashlytics.SetUserId(id); FirebaseAnalytics.SetUserId(id); }
// Handle initialization of the necessary firebase modules: /// <summary> /// 处理必要的FixBASE模块的初始化: /// </summary> void InitializeFirebase() { DebugLog("启用数据收集。== Enabling data collection."); FirebaseAnalytics.SetAnalyticsCollectionEnabled(true); DebugLog("设置用户属性。== Set user properties."); // Set the user's sign up method. FirebaseAnalytics.SetUserProperty(FirebaseAnalytics.UserPropertySignUpMethod, "Google_" + UnityEngine.Random.Range(0, 4000)); // Set the user ID. FirebaseAnalytics.SetUserId("uber_user_" + UnityEngine.Random.Range(0, 4000)); // Set default session duration values. FirebaseAnalytics.SetMinimumSessionDuration(new TimeSpan(0, 0, 10)); FirebaseAnalytics.SetSessionTimeoutDuration(new TimeSpan(0, 30, 0)); firebaseInitialized = true; }
void InitializeFirebase() { FirebaseAnalytics.SetAnalyticsCollectionEnabled(true); // Set the user's sign up method. FirebaseAnalytics.SetUserProperty( FirebaseAnalytics.UserPropertySignUpMethod, "Google"); // Set the user ID. FirebaseAnalytics.SetUserId("uber_user_510"); // Set default session duration values. FirebaseAnalytics.SetMinimumSessionDuration(new TimeSpan(0, 0, 10)); FirebaseAnalytics.SetSessionTimeoutDuration(new TimeSpan(0, 30, 0)); _firebaseInitialized = true; }
protected override void OnCreate(Bundle savedInstanceState) { FirebaseApp.InitializeApp(ApplicationContext); firebaseAnalytics = FirebaseAnalytics.GetInstance(this); base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.main); // Used by the PCL for database interactions so must be defined early. Session.PrivatePath = new PrivatePath(); // Register the implementation to the global interface within the PCL. RestClient.GlobalIO = new DiskIO(); var preferences = PreferenceManager.GetDefaultSharedPreferences(ApplicationContext); var UserEmail = preferences.GetString("username", ""); if (string.IsNullOrWhiteSpace(UserEmail)) { // We must clear the navigation stack here otherwise this activity is behind onboarding. var intent = new Intent(this, typeof(Activities.Onboarding)); intent.SetFlags(ActivityFlags.ClearTop | ActivityFlags.ClearTask); StartActivity(intent); Finish(); } else { // Create the user once as they can come here after Register/Login or anytime they reopen app if (Session.ActiveUser == null) { var user = Queries.UserByEmail(UserEmail); var tokens = JsonConvert.DeserializeObject <JWToken>(preferences.GetString("tokens", "")); Queries.SetActiveUser(new DataUserTokens { User = user, Tokens = tokens }); firebaseAnalytics.SetUserId(Session.ActiveUser.Id.ToString()); } var nav = FindViewById <BottomNavigationView>(Resource.Id.bottom_navigation); nav.Menu.FindItem(Resource.Id.menu_projects).SetTitle(StringResources.common_menu_projects); nav.Menu.FindItem(Resource.Id.menu_gabbers).SetTitle(StringResources.common_menu_gabbers); nav.Menu.FindItem(Resource.Id.menu_about).SetTitle(StringResources.common_menu_about); nav.NavigationItemSelected += (sender, e) => LoadFragment(e.Item.ItemId); // Load projects by default and sessions/about if they came from other activity. LoadDefaultFragment(nav); } }
// Handle initialization of the necessary firebase modules: void InitializeFirebase() { DebugLog("Enabling data collection."); FirebaseAnalytics.SetAnalyticsCollectionEnabled(true); DebugLog("Set user properties."); // Set the user's sign up method. FirebaseAnalytics.SetUserProperty( FirebaseAnalytics.UserPropertySignUpMethod, "Google"); // Set the user ID. FirebaseAnalytics.SetUserId("uber_user_510"); // Set default session duration values. FirebaseAnalytics.SetSessionTimeoutDuration(new TimeSpan(0, 30, 0)); firebaseInitialized = true; }
private void Init() { FirebaseAnalytics.SetUserId(uniqueUserId); FirebaseAnalytics.LogEvent(START); FirebaseAnalytics.SetAnalyticsCollectionEnabled(true); if (MonoSingleton <Flurry> .Instance != null) { MonoSingleton <Flurry> .Instance.SetLogLevel(Analytics.LogLevel.CriticalOnly); MonoSingleton <Flurry> .Instance.StartSession(this._iosApiKey, this._androidApiKey); MonoSingleton <Flurry> .Instance.LogUserID(uniqueUserId); MonoSingleton <Flurry> .Instance.LogEvent(START); } this.AppsFlyerInit(); }
public bool InitWithConfig(SDKConfig config, SDKAdapterConfig adapterConfig) { SDKMgr.S.RegisterFilebaseDepInitCB(() => { FirebaseAnalytics.SetAnalyticsCollectionEnabled(true); FirebaseAnalytics.SetUserProperty( FirebaseAnalytics.UserPropertySignUpMethod, "Unity"); // Set the user ID. FirebaseAnalytics.SetUserId("my_user"); // Set default session duration values. FirebaseAnalytics.SetMinimumSessionDuration(new TimeSpan(0, 0, 10)); FirebaseAnalytics.SetSessionTimeoutDuration(new TimeSpan(0, 30, 0)); m_Init = true; }); return(true); }
public void InitializeAnalytics() { if (!base.Inited) { FirebaseAnalytics.SetAnalyticsCollectionEnabled(enabled: true); FirebaseAnalytics.SetUserId(PlayerData.Instance.PlayerId); PersistentSingleton <IAPService> .Instance.IAPValidated.Subscribe(delegate { LogPurchaseEvent(); }); PersistentSingleton <IAPService> .Instance.IAPInvalidated.Subscribe(delegate { LogInvalidPurchaseEvent(); }); base.Inited = true; } }
public static void Setup(string userId) { DebugLog.Normal("Firebase Analytics : データ収集を有効化します"); FirebaseAnalytics.SetAnalyticsCollectionEnabled(true); #if UNITY_ANDROID FirebaseAnalytics.SetUserProperty( "OS", "Android"); #elif UNITY_IOS FirebaseAnalytics.SetUserProperty( "OS", "iOS"); #else FirebaseAnalytics.SetUserProperty( "OS", "Other"); #endif FirebaseAnalytics.SetSessionTimeoutDuration(new TimeSpan(0, 30, 0)); FirebaseAnalytics.SetUserId(userId); }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.main); SupportActionBar.Title = StringResources.projects_ui_title; EmojiCompat.Init(new BundledEmojiCompatConfig(this)); // Create the active user anytime they reopen app if (Session.ActiveUser == null) { var preferences = PreferenceManager.GetDefaultSharedPreferences(ApplicationContext); var user = Queries.UserByEmail(preferences.GetString("username", "")); var tokens = JsonConvert.DeserializeObject <JWToken>(preferences.GetString("tokens", "")); Queries.SetActiveUser(new DataUserTokens { User = user, Tokens = tokens }); FireBaseAnalytics.SetUserId(Session.ActiveUser.Id.ToString()); Session.ActiveUser.AppLang = user.AppLang; } SendFCMToken(); prefsFragment = new PrefsFragment(); sessionsFragment = new UploadsFragment(); projectsFragment = new ProjectsFragment(); activeFragment = projectsFragment; SupportFragmentManager.BeginTransaction().Add(Resource.Id.content_frame, prefsFragment, "settings").Hide(prefsFragment).Commit(); SupportFragmentManager.BeginTransaction().Add(Resource.Id.content_frame, sessionsFragment, "sessions").Hide(sessionsFragment).Commit(); SupportFragmentManager.BeginTransaction().Add(Resource.Id.content_frame, projectsFragment, "projects").Commit(); var suppressAsync = GetLangData(); LoadUploadFragmentAfterSession(); SupportActionBar.Title = StringResources.login_ui_title; }
void SetUserId(string userId) { FirebaseAnalytics.SetUserId(userId); //Crashlytics.SetUserId(userId); }
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; } }