В настоящее время я работаю над приложением IOS и хочу иметь возможность давать пользователю достижение, когда он входит в систему. Я использую firebase для своих возможностей входа и регистрации, и мне интересно, как дать пользователю достижение а затем сохраните достижение (может быть, в базе данных firebase?) Например, вот как я настроил свой профиль пользователя с помощью firebase для регистрации:
func createProfile(_ user: User){
let username = usernameTxt.text
let changeRequest = user.createProfileChangeRequest()
changeRequest.displayName = username
changeRequest.commitChanges(completion: { (error) in
guard error == nil else{
AlertController.showAlert(self, title: "Error", message: error!.localizedDescription)
return
}
self.goToHomePage()
})
let newUser = ["username": username,"email": user.email, "photo": "https://firebasestorage.googleapis.com/v0/b/wetalk-1aa48.appspot.com/o/profile_pic%2F66D66DEB-FADF-48F8-A5CC-5440C8353E3A?alt=media&token=64e76d93-393e-4d5a-98bc-c50382f3fc64"]
self.databaseRef.child("profile").child(user.uid).updateChildValues(newUser) { (error, ref) in
if error != nil {
print(error!)
return
}
print("Profile created without error")
}
}
Затем у меня есть страница достижений, где изображение представляет достижение проводится. Когда пользователь разблокирует достижение при первом входе в систему, я хочу, чтобы изображение изменило что-то еще, указывающее, что достижение было разблокировано.
Код для этого находится здесь:
lazy var kiwiAchieve: UIImageView = {
let image = UIImageView()
image.image = UIImage(named: "icons8-kiwi-80")?.withRenderingMode(.alwaysOriginal)
return image
}()
Я новичок в этом, так что извините, если что-то не ясно. Мы будем очень благодарны за помощь, если, наконец, вы получите базовое c понимание того, как добавлять элементы в базу данных.