据我所知,新发布的 Cloud Firestore Unity 绑定(bind)还没有任何示例,因此我将其添加到现有应用程序中作为世界上最简单的 Firestore 测试,这是 Unity 化的版本第一个例子在这里:
https://firebase.google.com/docs/firestore/quickstart
我认为这可行,但收到错误“无法为 UserData 类型创建转换器”。
快速浏览一下引用文献似乎没有显示注册转换器的方法(??在对象和json之间?)任何人都可以解释我的误解吗?
[System.Serializable]
public class UserData
{
public int x;
public int y;
public string name;
}
// Later on after FirebaseInit, etc...
UserData userData = new UserData
{
x = 5,
y = 7,
name = "Joe Bloggs"
};
var write = await
FirebaseFirestore.DefaultInstance.Collection("Users").AddAsync(userData);
最佳答案
一般来说,您现在能做的最好的事情就是手动将此数据放入与IDictionary<string, object>
匹配的内容中。接口(interface)(例如:只是一个普通的旧 C# dictionary )并将其传入。对于实时数据库来说实际上也是如此(即使您传入 RawJson,它也会在内部转换为 IDictionary
)。
为了遵守 Stack Overflow 的指南,您的实现可能如下所示:
var data = new Dictionary<string, object>();
data.Add("x", 5);
data.Add("y", 7);
data.Add("name", "Joe Bloggs");
await FirebaseFirestore.DefaultInstance.Collection("Users").AddAsync(userData);
// do cool stuff here after the upload
现在需要注意的是:游戏 Firestore 是 alpha 版本。它不完整,API 可能会发生变化。这也意味着您可以帮助插入其演变为测试版。如果您要将这个 Stack Overflow 问题重写为功能请求 here ,您会在团队的雷达上看到它。
另外,请关注this repository 。示例应用程序可能很快就会出现。
最后,您很兴奋并在 Alpha 状态下使用 Firestore,这真是太棒了。除了我上面链接的 github 问题页面之外,您还可以 file bugs and feature requests here 。还有一个相当活跃的google group here和 a slack channel here ,均由 Firebase 工程师监控。
关于firebase - Cloud Firestore Unity SDK 转换器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60642793/