-1
請讓我對android應用程序開發非常新穎。我正在嘗試開發一項遊戲,在某個任務完成時向用戶提供獎勵。但真正的問題是如何將用戶獲得的硬幣存儲到數據庫中。我不知道該怎麼去做。是否有可能使用Firebase來實現這一目標?或者我必須學習sql才能實現這一壯舉。任何幫助將深表感謝。將獲得的獎勵存入Firebase數據庫
請讓我對android應用程序開發非常新穎。我正在嘗試開發一項遊戲,在某個任務完成時向用戶提供獎勵。但真正的問題是如何將用戶獲得的硬幣存儲到數據庫中。我不知道該怎麼去做。是否有可能使用Firebase來實現這一目標?或者我必須學習sql才能實現這一壯舉。任何幫助將深表感謝。將獲得的獎勵存入Firebase數據庫
您絕對可以使用Firebase構建您的項目。通過使用交易,您可以在完成任務時更新特定用戶的硬幣數量。這是爲了防止你的計數一次遞增多次當用戶在同一時間,例如完成幾項任務:
// Check that your current user object is not nil:
guard let currentUserId = Auth.auth().currentUser?.uid else {
return
}
// Run the transaction block on your user node using his/her id:
usersRef.child(currentUserId).runTransactionBlock ({ (currentData: MutableData) -> TransactionResult in
// Check if your data is here
if var data = currentData.value as? [String: Any] {
// Get the current coins count:
var coinsCount = data["coinsCount"] as! Int
// Increment the current coins count by 100 (or whatever value that makes sense to you):
coinsCount += 100
// Set the new coins count:
data["coinsCount"] = coinsCount
currentData.value = data
// Return the transaction with the updated data:
return TransactionResult.success(withValue: currentData)
}
return TransactionResult.success(withValue: currentData)
}, andCompletionBlock: { (error, success, snapshot) in
// Completion Block:
guard error == nil else {
return
}
// Do some more things here if you need
})
您可以找到有關,在Firebase Documentation :)
更多信息,所以,做我必須像onstart和onstop方法一樣添加firebase的東西?我也希望它更新,以便用戶在打開應用程序時看到它 –
而我正在開發Android應用程序而不是iOS應用程序 –
嗯這是一個問題的很多問題..我建議您先閱讀通過他們在Github上的Firebase文檔和示例項目。如果你仍然找不到任何可以幫助你的信息,那麼歡迎你在這裏創建更具體的問題:)。 – Alex