Bu uygulama-agnostik soru, ama bir ben üzerinde daha iyi bir cevap almak istiyorum değildir.
Bir meydan okuma ya da hedefi tamamlamadan kullanıcıları izlemek için en iyi set-up nedir? Eğer belli bir hedefe isabet eğer bir rozeti konum yığın taşması, benzer düşünüyorum.
Şu anda, bir web sitesinin geliştirici ve ekli Facebook uygulaması değilim. Ben tamamlanmış zorlukları izlemek için en iyi yolu bilmek istiyorum. Şu anda, muhtemelen en iyi yol değildir, gerçek denetleyicisi kodu ile serpilir kod tek bir satır var. Aşağıdaki gibi bir şey:
if ($upload_photo == true) {
$challenge->perform(1);
}
Gördüğünüz gibi meydan eşik karşılandı ise, yukarıdaki temelde görmek için bir veritabanı look-up var, (Challenge
sınıfından) perform()
yöntemi çağrısı patlar bugüne kadar ve değilse, bir kayıt ekler ve bu meydan okuma ile ilişkili puan sayısı ile üye kredi. Bunun için aşağıdaki gibi bir veritabanı set-up, basittir:
member_id INT
challenge_id INT
Ve bir üye belirli bir meydan okuma yürüttü sayısını elde etmek için, ben sadece bir COUNT (*) AS count FROM table_name WHERE member_id = ? AND challenge_id = ?
sorguyu çalıştırın.
Ama bu en iyi set-up? Bence değil ve bu set-up artırmak için nasıl cevap açıktır.
Söz konusu olarak, ben bu web sitesi ile ilişkili bir Facebook uygulaması geliştirme sorumlusu da benim. Kullanıcıların belirli eylemleri gerçekleştirmek için ve onlar için ödüllendirilir sağlayacak bir ilerleme çubuğu olacak. Örneğin, bir uygulama sık kullanılanlara; Uygulamayı sevme; ve kendi Facebook arkadaşlarına uygulamayı düşündüren.
Bu eylemler yapılmış ise Facebook'un PHP SDK'yı kullanarak ben sorgulayabilirsiniz. Orada sorun yok. Benim sorunum oturum orada süresi daha sonraki bir zamanda dönmek, sonra uygulamayı bırakacaktır kullanıcıları için geliyor. Bir eylem yapıldığı zaman, ben bir veritabanı tablosunda bir kayıt olarak bu saklamak gerekir, ve bir kullanıcı oturum açtığında app içine sadece veritabanını sorgulamak? Veya sadece oturum ile ilgili kontrolleri yapmak ve relavant eylemi tetiklemek zaman relavant oturum anahtarlarını yazılmadan, bir oturumda sonuçlar saklamak gerekir?
Bu set-up iyileştirilmesi için herhangi bir öneriniz hoş olurdu. Şimdiden teşekkürler.