Ejemplo n.º 1
0
    private void Logout()
    {
        var tokensPath = Path.Combine(Application.persistentDataPath, TOKENS_STORAGE_FILENAME);

        NetworkManager.Instance.UserDataStorage = null;
        BsonDataManager.DeleteData(tokensPath);
    }
Ejemplo n.º 2
0
    private void Awake()
    {
        _usageTrackingManager.AcceptableBackgroundTime = _acceptableBackgroundTime;

        var             tokensPath    = Path.Combine(Application.persistentDataPath, TOKENS_STORAGE_FILENAME);
        UserDataStorage tokensStorage = BsonDataManager.ReadData <UserDataStorage>(tokensPath);

        if (tokensStorage == null)
        {
            _login.Open();
            return;
        }

        NetworkManager.Instance.UserDataStorage = tokensStorage;
        NetworkManager.Instance.Authorization(
            (e, r) =>
        {
            _login.Open();
        },
            () =>
        {
            _choice.Open();
            UsageTrackingManager.Instance.GrabReports();
        });
    }
Ejemplo n.º 3
0
    public void TrySendReport()
    {
        if (_reportsStorage == null)
        {
            return;
        }
        if (_reportsStorage.reports.TryGetValue(UserName, out ReportContainer container))
        {
            if (container.data.Count < 1)
            {
                return;
            }

            string report = JsonConvert.SerializeObject(container);

            var path = Path.Combine(Application.persistentDataPath, REPORT_CONTAINER_FILENAME);

            NetworkManager.Instance.SendReport(report,
                                               (e, n) =>
            {
                BsonDataManager.WriteData(path, _reportsStorage);
            },
                                               () =>
            {
                _reportsStorage.reports.Remove(UserName);
                BsonDataManager.WriteData(path, _reportsStorage);
            });
        }
    }
Ejemplo n.º 4
0
    public void GrabReports()
    {
        var contentPaths = Directory.GetFiles(Application.persistentDataPath);

        foreach (var path in contentPaths)
        {
            if (!path.Contains(REPORT_MARK_SUBSTRING))
            {
                continue;
            }
            var data = BsonDataManager.ReadData <TrackingData>(path);
            _unsentReports.Add(data);
        }
    }
Ejemplo n.º 5
0
    private void Login(string username, string password)
    {
        UserData userData = new UserData(username, password);

        NetworkManager.Instance.Login(userData,
                                      (e, n) =>
        {
            print($"Error nombber: {n}, message: {e}");
            _login.FailedLogin();
        },
                                      () =>
        {
            _login.SeccesfuleLogin();
            var tokenStorage = NetworkManager.Instance.UserDataStorage;
            var path         = Path.Combine(Application.persistentDataPath, TOKENS_STORAGE_FILENAME);
            BsonDataManager.WriteData(path, tokenStorage);

            UsageTrackingManager.Instance.GrabReports();
        });
    }
Ejemplo n.º 6
0
    public void GrabReports()
    {
        var path = Path.Combine(Application.persistentDataPath, REPORT_CONTAINER_FILENAME);

        if (File.Exists(path))
        {
            _reportsStorage = BsonDataManager.ReadData <ReportsStorage>(path);
            if (!_reportsStorage.reports.ContainsKey(UserName))
            {
                _reportsStorage.reports.Add(UserName, new ReportContainer());
            }
        }
        else
        {
            _reportsStorage = new ReportsStorage();
            _reportsStorage.reports.Add(UserName, new ReportContainer());
        }

        TrySendReport();
    }