我想限制每个用户从实时数据库读取数据的速率。有像这里描述的那样限制写入的好方法,但我找不到关于如何限制数据读取的任何解决方案。
这可以通过安全规则、云函数来完成还是我可以将其限制在 Firebase 帐户中的某处?我检查了文档,但找不到答案。
有没有办法验证服务器上的客户端 (OnAdRewarded) 是否观看了奖励视频广告?我可以与 Google Cloud Functions 集成吗?
我认为可以使用 admob admin SDK 验证客户端发送到服务器的令牌,但似乎不可能,我们只能验证客户端上的广告。
我知道可以通过这种方式禁用 Unity 中的警告消息:
#pragma warning disable 0168 // variable declared but not used.
Run Code Online (Sandbox Code Playgroud)
但有一个警告,其中没有我需要隐藏的 ID 号。有没有办法在不知道 id 的情况下禁用它,或者我可以在某个地方找到它吗?
警告消息是:BoxColliders 不支持负比例或大小。有效盒子尺寸已被强制为正值,并且可能会产生意外的碰撞几何形状。
编辑: 我收到警告的原因是:我有带有多个碰撞器的对象(一些网格,一些盒子以获得更好的性能)。碰撞器嵌套在子对象中。我在父对象上使用 -1 比例来获取其镜像。对于网格碰撞器来说是可以的,对于盒子来说则不行(将 Unity 升级到新版本后会显示此警告)。它不会破坏游戏,但很烦人,并且此警告会显示在设备上。我只是想隐藏警告,因为它对我的情况下的碰撞几何体没有影响。
当我给父对象负比例时,其带有对撞机的子对象相对于父对象保持正比例,但仍然显示警告。
如果我无法禁用设备上的警告,我将不得不修复它,但是将碰撞器更改为网格碰撞器是一种矫枉过正,我能想到的在代码中修复它的唯一方法是更改子比例(使用碰撞器) )到根的对面,但我不确定这是否有效。
编辑2: 对于遇到此问题的任何人,我通过根据世界比例使用盒碰撞器缩放所有子对象来修复警告:
transform.localScale = new Vector3(transform.localScale.x * Mathf.Sign(transform.lossyScale.x),
transform.localScale.y * Mathf.Sign(transform.lossyScale.y),
transform.localScale.z * Mathf.Sign(transform.lossyScale.z));
Run Code Online (Sandbox Code Playgroud)
无论如何,Unity 都会强制比例为正,因此最终结果是相同的。这就是为什么我只想禁用警告。
我正在使用 Unity3d 的 Firebase SDK。
我们的用户将创建我们计划保存为二进制的自定义对象。在相对较短的时间内,数据库中的二进制数据可能会占用100s GB。Firebase 实时数据库在我们的案例中使用起来太昂贵,我正在寻找更好的选择。
我更喜欢使用 Firestore,因为每 GB 的成本要低得多。不幸的是,它仍处于测试阶段,并且还没有适用于 Unity 的 SDK。
我的问题:
目前是否可以在没有官方 SDK 的情况下将 Firestore 与 Unity3D 一起使用?如果是,最好的方法是什么?请指出我正确的方向。我知道有 API 文档,但在我看来,他们还没有将该包包含在 Unity SDK 中肯定是有原因的。
将二进制文件作为文件保存到 Firebase Cloud Storage 并参考存储中的文件使用实时数据库获取基本用户数据怎么样?这种方法更容易出错吗?我知道这是处理图片、视频等的方法,但是当用户每次更改对象时,转换为二进制的 C# 对象需要从内存中保存并加载到内存中怎么办?
是否有更好的方法我不知道?
unity-game-engine google-cloud-storage firebase google-cloud-firestore