2011-09-03 95 views
1

我正在嘗試製作一款允許用戶邀請朋友的Facebook遊戲。我希望提供一個獎勵,邀請其他人邀請其每10分獲得1點獎勵。 我正在使用Python運行時在Google App Engine上開發Facebook應用程序。Facebook應用邀請激勵

實現這種功能的最佳方式是什麼?我知道我可以找出誰邀請給定的應用程序用戶。我想佔很多用戶,並希望儘可能多地節省服務器資源。

我正在考慮創建一個'用戶'實體,其中有'id'值,'points'值和'refer from'值。當爲用戶添加積分時,服務器將查找「引用」實體並相應地獎勵積分。但是因爲我每10分鐘只獎勵1分,所以服務器每次檢查mod 10是否爲0可能是浪費。同樣,如果通過邀請分數,整個用戶數據存儲區名稱空間似乎會不斷變化傳播點,這也是浪費。

任何好的實現方法?

回答

0

如您所見,一種方法是每次用戶總共獲得10分時更新父實體。如果他們一次只賺取一分,那麼最高的開銷是10%。

更有效的選擇可能是每當用戶賺取點,每日一次,運行於用戶的推薦總結了所有的點映射縮減或其他類似的工作,誰具有標誌設置,並增加了它設置一個標誌到他們的總數。

+0

所以這些標誌將會像'user1flag','user2flag'等一樣,並且這些將作爲原始用戶引用的用戶的屬性被追加? – ejang

+0

@ejang不,只是一個表示分數是否已更新的標誌。然後,對於每個有推薦人的用戶,您都可以查詢他們推薦擁有此標誌的用戶。或者,使用mapreduce,做同樣的事情,而不需要單獨的查詢。 –

0

這是對faecbooks platform policy

應用程序不直接獎勵或要求用戶使用Facebook社交 渠道,如飼料的故事和要求。

+2

他並不是在談論使用社交渠道的回報,而是在談論給現有用戶分享新用戶賺取的「積分」的份額。 「點」似乎是一個應用內的概念,只要它與創建故事等無關緊要。 –

+0

是的,積分是一個應用內概念,贏得玩遊戲。我想知道如何根據被邀請者在遊戲中的賺取積分獎勵積分。 – ejang

+1

你說的是 - 如果你邀請更多的朋友,你會得到更多的積分 - 這是激勵。 – Lix