1 个不稳定版本
0.1.0 | 2023年9月6日 |
---|
#1448 in 游戏开发
8.5MB
114K SLoC
bevy-firebase-firestore
Bevy的Google Firebase Firestore集成。
目前仅实现了Google + GitHub OAuth2和有限的Firestore操作。
警告
这还没有经过实战测试,如果你不小心,你将信任这个插件,使用可以产生一些严重费用的API密钥。请检查文档以了解如何使用模拟器设置Firestore。
你的密钥将嵌入到分发的二进制文件中,或者作为单独的文件提供,但无论如何它们都需要是公开的。确保你的GCP为此做好准备。
这个crate非常大。我非常确信这是由于依赖于googleapis,我将在下一个版本中通过最终确定API代码来缩小它。
安装
cargoadd bevy-firebase-firestore
依赖
需要 bevy-tokio-tasks
以使tonic crate正常工作。移除依赖是一个待办事项,我只是还不够熟悉Rust。
版本兼容性
目标Bevy 0.11.0
用法
设置
创建一个Firebase项目,并记下你的项目ID和客户端ID及密钥。
将客户端密钥放在项目根目录的keys.ron
中,并将keys.ron
添加到你的.gitignore
。
keys.ron
应格式化为以下形式
{
Github: Some(("YOUR-GITHUB-CLIENT-ID","YOUR-GITHUB-CLIENT-SECRET")),
Google: Some(("YOUR-GOOGLE-CLIENT-ID-STRING.apps.googleusercontent.com","YOUR-GOOGLE-CLIENT-SECRET"))
}
这个结构可能会在下一个版本中改变,所以我建议不要围绕它编写任何工具。
App::new()
// PLUGINS
.add_plugins(DefaultPlugins)
// Dependency for firestore RPC to work
.add_plugins(bevy_tokio_tasks::TokioTasksPlugin::default())
.add_plugins(bevy_firebase_auth::AuthPlugin::default())
.add_plugins(bevy_firebase_firestore::FirestorePlugin::default());
密钥 + 密钥
Google喜欢将所有必要的密钥放在各个地方,设置一个项目需要几个步骤。以下是一个简单的说明,以获取使用插件所需的一切。
创建Firebase项目
访问此链接并创建一个项目。
项目ID、API密钥
创建项目后,转到项目设置(在Firebase项目控制台的设置齿轮上)并记下项目ID和Web API密钥。
客户端ID、客户端密钥
我们需要创建一个标识符以验证应用程序与Google后端。前往 这里,在左上角的下拉菜单中选择您的项目,并创建一个新的OAuth2凭证。给它起一个易于识别的名字,并在生成后记下客户端ID和客户端密钥。
注意:我仅测试了桌面客户端。
开发中
克隆仓库,运行 git submodule init
和 git submodule update
。
许可证
Apache 2.0或MIT,由用户自行决定。
依赖
~32–47MB
~898K SLoC