我已將用戶資料存盤在 firebase 實時資料庫中。問題是當我從除錯 APK 存盤資料時,它會寫入正確的鍵和值。但是當請求從 release aab 或 APK 發送時,存盤的值是正確的,但密鑰與我提供的不匹配。它用 (a, b, c ....) 更改了鍵名。
請查看快照以獲得更好的理解。第一個用戶資料是從除錯 APK 發送的。第二個用戶資料是從發布 APK 發送的。
另外這是我的用戶資料類
data class UserModel(@SerializedName("u_id") val u_id: String? = null, @SerializedName("user_name") val user_name: String? = null,
@SerializedName("phone_number") val phone_number: String? = null, @SerializedName("business_name") val business_name: String? = null)
這是資料集方法
private fun sendDataToFirebase(){
val database = Firebase.database.reference
val userData = UserModel(u_id, user_name, phone_number, business_name)
database.child("User").child(user.u_id).setValue(userData).addOnSuccessListener {
// some otherscode
}
}
uj5u.com熱心網友回復:
該SerializedName注釋由 GSON 使用,而不是由 Firebase 使用。對于 Firebase,請使用PropertyNameannotation。
但問題更可能是由 ProGuard 引起的,它正在縮小您的屬性名稱。您需要禁用 ProGuard 或(更有可能)使用以下命令從其中排除您的資料類:
-keep class com.yourpackage.UserModel { *; }
或更好:
-keep class com.yourpackage.model.** { *; }
另見:
- 有關配置 ProGuard的 Firebase 檔案
- 更多這些搜索結果
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/336918.html
