Это вопрос, не зависящий от приложения, но я бы хотел получить лучший ответ.
Какова наилучшая настройка для отслеживания пользователей, выполняющих задачи или цели? Подумайте так же, как Stack Overflow, где, если вы попадаете в определенную цель, вы получаете значок.
В настоящее время я являюсь разработчиком веб-сайта и прилагаю приложение Facebook. Я хочу знать лучший способ отследить выполненные задачи. В настоящее время у меня есть единственная строка кода, обросшая фактическим кодом контроллера, что, вероятно, не лучший способ. Примерно так:
if ($upload_photo == true) {
$challenge->perform(1);
}
Как вы видите, вышеприведенное в основном запускает вызов метода perform()
(класса Challenge
), который просматривает базу данных, чтобы увидеть, был ли достигнут порог вызова до настоящего времени, и если нет , вставляет запись и кредитует участника с количеством баллов, связанных с этой задачей. Настройка базы данных для этого проста:
member_id INT
challenge_id INT
И чтобы узнать, сколько раз участник выполнял конкретную задачу, я просто запускаю запрос COUNT (*) AS count FROM table_name WHERE member_id = ? AND challenge_id = ?
.
Но это лучшая установка? Я думаю, что нет, и открыт для ответов о том, как улучшить эту настройку.
Как уже упоминалось, я также отвечаю за разработку приложения для Facebook, связанного с этим сайтом. Будет индикатор выполнения, который позволит пользователям выполнять определенные действия и получать за них вознаграждение. Например, закладки приложения; нравится приложение; и предложить приложение своим друзьям на Facebook.
Используя PHP SDK Facebook, я могу запросить, были ли выполнены эти действия. Нет проблем там. Моя проблема возникает для пользователей, которые покинут приложение, а затем вернутся позже, когда истечет время сеанса. Когда действие было выполнено, должен ли я сохранить это как запись в таблице базы данных и просто запросить базу данных, когда пользователь входит в приложение? Или я должен просто проверить вход в систему и сохранить результаты в сеансе, перезаписывая соответствующие ключи сеанса, когда они запускают соответствующее действие?
Любые предложения по улучшению этой установки будут приветствоваться. Заранее спасибо.