我正在使用Firebase开发聊天应用。在调试模式下,节点正确更新并发生聊天。但在Release模式下,节点更新如下:
{
a: "Hi",
b: "-L4eVgsunE4iJMPtzYNP",
c: 1517910415250,
d: 0,
e: "passenger"
}
应该如下:
{
messageContent: "awef",
messageId: "-L4GRcJTonRiq3S6ecC6",
messageTimestamp: 1517489915463,
messageType: 0,
sender: "admin"
}
答案 0 :(得分:0)
似乎你的模型类正在被混淆。您可以通过添加以下内容来阻止它进入proguard规则:
-keep class com.your.path.to.model.** { *; }
例如,如果您的模型类位于包com.example.model.Chat.java
那么它应该是
-keep package com.example.model.** { *; }
另外,在模型中添加@PropertyName
注释,如
Chat.java [例如]
String messageContent;
@PropertyName("messageContent")
public String getMessageContent() {
return messageContent;
}
@PropertyName("messageContent")
public void setMessageContent(String messageContent) {
this.messageContent = messageContent
}