Live App 无法将数据写入 Firebase 数据库

Posted

技术标签:

【中文标题】Live App 无法将数据写入 Firebase 数据库【英文标题】:Live App is unable to write data into Firebase database 【发布时间】:2021-06-02 09:36:15 【问题描述】:

我刚刚在 google play store 上发布了我的游戏,但是当我的朋友从 play store 安装它时,应用程序在他提交分数时停止。所以我尝试手动将分数插入到 firebase 数据库并检查我的游戏的分数页面。它显示分数,以便确认我的游戏可以访问并且能够从 firebase 数据库中读取。但是,当我的朋友提交他的分数(将分数写入数据库)时,它会崩溃。

是因为从签名包写入 firebase db 存在问题吗?因为本地测试和未签名的捆绑包都可以工作。

这就是我插入 firebase db 的方式:

databaseReference.push().setValue(new UserRecord(name, score));

这是我的对象的样子:

import com.google.firebase.database.IgnoreExtraProperties;`

@IgnoreExtraProperties
public class UserRecord 

    public String name;
    public int score;

    public UserRecord() 
        // Default constructor required for calls to DataSnapshot.getValue(User.class)
    

    public UserRecord(String name, int score) 

        this.name= name;
        this.score= score;
    

有什么想法吗?谢谢。

【问题讨论】:

能否提供崩溃日志? 感谢您的评论。如何查看已发布应用的崩溃日志? 您是否向 crashlytics(firebase 的一部分)注册了它? 如果是 Proguard 问题,我想你可能会对 this 感兴趣。 【参考方案1】:

您的应用是否有 Firebase crashlytics?如果是这样,请在 firebase 控制台上检查错误可能是什么。 如果应用程序不只写入数据库,我会说它可能是签名密钥,但由于它崩溃,我建议你看看 pojo 类,如果你使用的话。如果您使用它更新到 firebase 并且您将 minifyEnabled 设置为 true,则必须将 @Keep 添加到类中,因此不会删除 firebase 所需的方法。 但是话又说回来,如果没有看到实际的代码,我们真的帮不上什么忙。

【讨论】:

嗨,感谢您的回复。我确实有 minifyEnabled true 来遵守混淆。我确实使用 pojo 来更新 firebase。你能看看我上面更新的帖子吗? @yologaming 删除 IgnoreExtraProperties 并替换为 Keep 然后试试看。 谢谢,成功了!也看到了关于这个问题的更大线程@Keep 是当前的解决方案,而不是 -keep。

以上是关于Live App 无法将数据写入 Firebase 数据库的主要内容,如果未能解决你的问题,请参考以下文章

无法将数据写入 Firebase 数据库 Android

Firebase/Flutter - 无法将数据写入数据库

无法使用 Swift 4 将数据写入 Firebase 实时数据库

使用 Vue 将数据写入 Firebase

无法使用 Android 将数据写入 Firebase 数据库时如何获取错误消息

无法在 Glitch 上使用 Javascript 写入 Firebase 数据库