Показывать рекламу один раз в день через DateTime.now

187
31 марта 2018, 13:30

Доброго времени суток, не совсем понятно каким образом реализовать следующую задачу: есть реклама, она должна вызываться в игре один раз в день, на следующий день, на следующий день реклама снова доступна к просмотру. То есть нажали на кнопку "1" показалась реклама, на второе нажатие уже будут другие действия, после наступления нового дня, реклама снова показывается один раз и так по кругу, подскажите как такое реализовать, буду признателен за шаблонный код или источники по сути этого вопроса.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using System;
public class Day : MonoBehaviour {
    public Text textNow;

public  void CheckDate()
    {
        DateTime now = DateTime.Parse ((int)PlayerPrefs.GetString ("Session"));
        if (now < (int)DateTime.Now.ToString())
        {
            textNow.text = "Можем показывать рекламу";
        } else textNow.text = "Превышен лимит на день";
    }

    public  void setSaveDate()
    {
        PlayerPrefs.SetString ("Session", DateTime.Now.ToString("dd"));
        CheckDate ();
    }
}
Answer 1

Примерно так вычисляется промежуток времени для вашей задачи.

    private DateTime timeLeft { get; set; }
    private void Rec()
    {
        TimeSpan timeSpan = timeLeft.AddDays(1).Subtract(DateTime.Now);
        if (timeSpan > TimeSpan.Zero)
        {
            // показать рекламу
        }
    }

где timeLeft это время последнего показа рекламы.

вы можете его зашифровать и установить в сессию пользователю , или сохранить на сервере

Answer 2

Может есть смысл хранить ещё одну переменную?

public bool advShown = false;
public  void CheckDate()
    {
        DateTime now = DateTime.Parse ((int)PlayerPrefs.GetString ("Session"));
        if (now < (int)DateTime.Now.ToString() && advShown == false)
        {
            textNow.text = "Можем показывать рекламу";
            advShown = true;
        } else textNow.text = "Превышен лимит на день";
    }
READ ALSO
Вывод List&lt;&gt; на DataGridView WinForms

Вывод List<> на DataGridView WinForms

Здравствуйте! Мне нужно сделать, чтоб пользователь вводил в TextBox'ы данные, они сохранялись в списке и добавлялись на DataGridViewДобавление в список...

202
binding связанных данных многие ко многим WPF MVVM

binding связанных данных многие ко многим WPF MVVM

Как биндить связанные данные многие ко многим к примеру:

208