/// <summary> /// Called from singletong Awake() - Load saved prize times, or setup new if first run or not saving across restarts /// </summary> protected override void GameSetup() { base.GameSetup(); if (SaveAcrossRestarts && PreferencesFactory.HasKey("FreePrize.NextCountdownStart")) { NextCountdownStart = DateTime.Parse(PreferencesFactory.GetString("FreePrize.NextCountdownStart", UnbiasedTime.Instance.Now().ToString(CultureInfo.InvariantCulture))); // start countdown immediately if new game NextFreePrizeAvailable = DateTime.Parse(PreferencesFactory.GetString("FreePrize.NextPrize", NextFreePrizeAvailable.ToString(CultureInfo.InvariantCulture))); SetCurrentPrizeAmount(); } else { StartNewCountdown(); SetCurrentPrizeAmount(); } GameManager.SafeAddListener <UserNotificationsChangedMessage>(UserNotificationsChangedHandler); GameManager.SafeAddListener <LocalisationChangedMessage>(LocalisationHandler); // #if !UNITY_EDITOR CancelLocalNotifications(); RegisterLocalNotifications(); #endif }
void CheckNotificationsPermission() { int CountMainMenuColdStart = PreferencesFactory.GetInt(Constants.KeyCountMainMenuColdStart); DateTime now = UnbiasedTime.Instance.Now(); // not in first launch if (CountMainMenuColdStart > 0 && !Allowed()) { // the date when we detected that notifications are denied if (!PreferencesFactory.HasKey(Constants.KeyNoNotificationPermissionDeniedDate)) { PreferencesFactory.SetString(Constants.KeyNoNotificationPermissionDeniedDate, now.ToString(CultureInfo.InvariantCulture)); return; } DateTime dateOfDenying = DateTime.Parse(PreferencesFactory.GetString(Constants.KeyNoNotificationPermissionDeniedDate, now.ToString(CultureInfo.InvariantCulture))); float minutes3days = 3 * 24 * 60; float minutes10days = 10 * 24 * 60; if (Debug.isDebugBuild) { minutes3days = 1f; // 30 sec minutes10days = 2f; // 1 min } // 3 days before show alert for first time if (now.Date < dateOfDenying.AddMinutes(minutes3days).Date) { return; } DateTime postponeDate = DateTime.Parse(PreferencesFactory.GetString(Constants.KeyNoNotificationPermissionDate, now.ToString(CultureInfo.InvariantCulture))); // 10 days to show alert again if user postpone it if (PreferencesFactory.HasKey(Constants.KeyNoNotificationPermissionDate) && now.Date < postponeDate.AddMinutes(minutes10days).Date) { return; } PreferencesFactory.DeleteKey(Constants.KeyNoNotificationPermissionDate); string text = LocaliseText.Get("Notifications.DeniedText"); Alert alert = new Alert("", text) .SetPositiveButton(LocaliseText.Get("Notifications.AllowText"), () => { iSDK.Utils.OpenSettings(); }) .SetNeutralButton(LocaliseText.Get("Notifications.IgnoreText"), () => { PreferencesFactory.SetString(Constants.KeyNoNotificationPermissionDate, now.ToString(CultureInfo.InvariantCulture)); }) .AddOptions(new AlertIOSOptions() { PreferableButton = Alert.ButtonType.Positive }); alert.Show(); } }
public static string UserID() { if (PreferencesFactory.HasKey(Constants.ProfileAnonymousUserId)) { return(PreferencesFactory.GetString(Constants.ProfileAnonymousUserId, "")); } return(PreferencesFactory.GetString(Constants.ProfileUserId, "")); }
/// <summary> /// Called from singletong Awake() - Load saved prize times, or setup new if first run or not saving across restarts /// </summary> protected override void GameSetup() { base.GameSetup(); if (SaveAcrossRestarts && PreferencesFactory.HasKey("FreePrize.NextCountdownStart")) { NextCountdownStart = DateTime.Parse(PreferencesFactory.GetString("FreePrize.NextCountdownStart", DateTime.UtcNow.ToString(CultureInfo.InvariantCulture))); // start countdown immediately if new game NextFreePrizeAvailable = DateTime.Parse(PreferencesFactory.GetString("FreePrize.NextPrize", NextFreePrizeAvailable.ToString(CultureInfo.InvariantCulture))); SetCurrentPrizeAmount(); } else { StartNewCountdown(); } }
public void PrepareAndShowInviteBalloon() { DateTime now = UnbiasedTime.Instance.Now(); DateTime datetime; if (PreferencesFactory.HasKey(Constants.KeyInviteBalloonShowedDate)) { datetime = DateTime.Parse(PreferencesFactory.GetString(Constants.KeyInviteBalloonShowedDate, now.ToString(CultureInfo.InvariantCulture))); } else { datetime = now.AddDays(-1); // first launch, there is no date } if (datetime.Date < now.Date) { ShowBalloon(); } }
public void RegisterAction(GameObject GO) { var mainTransform = GO.transform; var email = mainTransform.Find("EmailField").GetComponent <InputField> (); var username = mainTransform.Find("UsernameField").GetComponent <InputField> (); var password = mainTransform.Find("PasswordField").GetComponent <InputField> (); var repearPassword = mainTransform.Find("RepeatPasswordField").GetComponent <InputField> (); var emailString = email.text; var usernameString = username.text; var passwordString = password.text; var repeatString = repearPassword.text; if (string.IsNullOrEmpty(emailString)) { ShowInfoDialogWithText(LocaliseText.Get("Account.EmailEmptyError"), "OK"); return; } if (!IsMailValid(emailString)) { ShowInfoDialogWithText(LocaliseText.Get("Account.EmailNotValidError"), "OK"); return; } if (string.IsNullOrEmpty(usernameString)) { ShowInfoDialogWithText(LocaliseText.Get("Account.UsernameEmptyError"), "OK"); return; } if (!IsUsernameValid(usernameString)) { ShowInfoDialogWithText(LocaliseText.Get("Account.UsernameNotValid"), "OK"); return; } if (string.IsNullOrEmpty(passwordString)) { ShowInfoDialogWithText(LocaliseText.Get("Account.PasswordEmptyError"), "OK"); return; } if (string.IsNullOrEmpty(repeatString) || !repeatString.Equals(passwordString)) { ShowInfoDialogWithText(LocaliseText.Get("Account.PasswordsNotEqual"), "OK"); return; } if (!Reachability.Instance.IsReachable()) { ShowInfoDialogWithText(LocaliseText.Get("Account.NoConnection"), "CLOSE"); return; } if (!GS.Available) { GS.Reconnect(); } Loading.Instance.Show(); // user was logged from DeviceAuthenticationRequest and now only update his data if (PreferencesFactory.HasKey(Constants.ProfileAnonymousUserId)) { new ChangeUserDetailsRequest() .SetDisplayName(usernameString) .SetUserName(emailString) .SetNewPassword(passwordString) .Send((response) => { Loading.Instance.Hide(); if (response.HasErrors) { ParseServerResponse(response.Errors); return; } email.text = null; username.text = null; password.text = null; repearPassword.text = null; PreferencesFactory.SetString(Constants.ProfileEmail, emailString); PreferencesFactory.SetString(Constants.ProfileUsername, usernameString); PreferencesFactory.SetString(Constants.ProfileUserId, PreferencesFactory.GetString(Constants.ProfileAnonymousUserId)); PreferencesFactory.DeleteKey(Constants.ProfileAnonymousUserId); PreferencesFactory.Save(); if (_callback != null) { _callback.OnUserRegistered(); } GameManager.SafeQueueMessage(new UserRegisterMessage()); if (!Debug.isDebugBuild) { Flurry.Flurry.Instance.LogEvent("Register_Email"); Fabric.Answers.Answers.LogSignUp("Email"); Branch.userCompletedAction("Register"); Branch.setIdentity(PreferencesFactory.GetString(Constants.ProfileUserId)); } }); return; } new RegistrationRequest() .SetUserName(emailString) .SetDisplayName(usernameString) .SetPassword(passwordString) .Send(((response) => { Loading.Instance.Hide(); if (!response.HasErrors) { email.text = null; username.text = null; password.text = null; repearPassword.text = null; var scriptData = response.ScriptData; if (scriptData != null) { var avatar = scriptData.GetString("avatar"); if (avatar != null) { PreferencesFactory.SetString(Constants.ProfileAvatar, avatar); } } PreferencesFactory.SetString(Constants.ProfileEmail, emailString); PreferencesFactory.SetString(Constants.ProfileUsername, response.DisplayName); PreferencesFactory.SetString(Constants.ProfileUserId, response.UserId); PreferencesFactory.Save(); if (_callback != null) { _callback.OnUserRegistered(); } GameManager.SafeQueueMessage(new UserRegisterMessage()); if (!Debug.isDebugBuild) { Flurry.Flurry.Instance.LogEvent("Register_Email"); Fabric.Answers.Answers.LogSignUp("Email"); Branch.userCompletedAction("Register"); Branch.setIdentity(PreferencesFactory.GetString(Constants.ProfileUserId)); } } else { ParseServerResponse(response.Errors); } })); }
public static bool IsUserLoggedIn() { return(IsTokenAvailable() && PreferencesFactory.HasKey(Constants.ProfileUserId)); }
void Start() { GameManager.SafeAddListener <FacebookProfilePictureMessage>(FacebookProfilePictureHandler); _avatarImage = GameObjectHelper.GetChildComponentOnNamedGameObject <RawImage> (gameObject, "AvatarImage"); _userNameField = GameObjectHelper.GetChildComponentOnNamedGameObject <InputField> (gameObject, "UsernameField", true); _userNameField.text = PreferencesFactory.GetString(Constants.ProfileUsername); _statsContainer = GameObjectHelper.GetChildNamedGameObject(gameObject, "Stats", true); #if UNITY_IOS IOSCamera.OnImagePicked += OnImage; #endif #if UNITY_ANDROID AndroidCamera.Instance.OnImagePicked += OnImage; #endif string avatarId = PreferencesFactory.GetString(Constants.ProfileAvatarUploadId); if (avatarId != null) { GameSparksManager.Instance.DownloadAvatar(avatarId, (Texture2D image) => { if (_avatarImage != null && image != null) { _avatarImage.texture = image; } }); } else if (PreferencesFactory.HasKey(Constants.ProfileFBUserId)) { FacebookRequests.Instance.LoadProfileImages(PreferencesFactory.GetString(Constants.ProfileFBUserId)); } GameSparksManager.Instance.LeaderboardRating((int rating) => { PreferencesFactory.SetInt(Constants.ProfileRating, rating); SetRating(rating); }); GameSparksManager.Instance.UserStats((GSData data) => { if (data.GetGSData("Novice") != null) { GSData rank = data.GetGSData("Novice"); StatsAddRow("Novice", (int)rank.GetInt("wins"), (int)rank.GetInt("lose"), (int)rank.GetInt("draw")); } if (data.GetGSData("Advanced") != null) { GSData rank = data.GetGSData("Advanced"); StatsAddRow("Advanced", (int)rank.GetInt("wins"), (int)rank.GetInt("lose"), (int)rank.GetInt("draw")); } if (data.GetGSData("Master") != null) { GSData rank = data.GetGSData("Master"); StatsAddRow("Master", (int)rank.GetInt("wins"), (int)rank.GetInt("lose"), (int)rank.GetInt("draw")); } if (data.GetGSData("Professional") != null) { GSData rank = data.GetGSData("Professional"); StatsAddRow("Professional", (int)rank.GetInt("wins"), (int)rank.GetInt("lose"), (int)rank.GetInt("draw")); } }); SetRating(PreferencesFactory.GetInt(Constants.ProfileRating, 0)); }