You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Firestore文档字段自动添加$app_debug后缀问题求助

Firestore文档字段名末尾带$app_debug后缀的解决方法

问题根源

你的Shop数据类中所有字段都使用了internal修饰符,Firebase的序列化机制在debug构建模式下,会为internal字段自动生成带有$app_debug后缀的字段名——这是因为Kotlin的internal成员在编译时会被添加模块相关的标识后缀,导致序列化后字段名被篡改。

解决方法

直接移除Shop类中所有字段的internal修饰符即可。Kotlin中类成员默认就是public权限,完全满足Firestore序列化的需求。

修改后的Shop.kt代码示例

@Parcelize data class Shop(
    var uid: String? = null,
    var name: String? = null,
    var owner: String? = null,
    var address: String? = null,
    var phone: String? = null,
    var openTime: String? = null,
    var website: String? = null,
    var imageUrl: String? = null,
    var service: String? = null,
    var rating: Double? = null,
    var reviewCount: Long? = null,
    var location: @RawValue HashMap<String, Any>? = null,
    var pendingApprove: Boolean? = null,
    var created: Boolean? = null,
    var lastModifiedTime: Double? = null,
    var fcmToken: String? = null
) : Parcelable

补充说明

如果需要保持模块内的访问限制,建议通过模块划分或其他架构方式实现,不要给需要Firestore序列化的字段添加internal修饰符,否则会再次触发后缀问题。

内容的提问来源于stack exchange,提问作者KiluSs

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 21:50:39