我使用的版本是:
Firebase 版本 5.4.2 和 5.5.0 Unity版本2018.5.5f1
我是用childAdded在编辑器上注册或者退订都是正常的, 但我无法在构建 apk 后取消订阅, 每次添加数据时,它都会收到与订阅数相同的返回事件。
最佳答案
我遇到了类似的错误。我有这两个功能,它们在 unity 编辑器中运行良好,但在使用 APK 的 Android 设备上无法运行。
private void OnEnable ()
{
FirebaseDatabase.DefaultInstance.GetReference("/currentGame").ValueChanged += HandleComingGameChanges;
}
private void OnDisable ()
{
FirebaseDatabase.DefaultInstance.GetReference("/currentGame").ValueChanged -= HandleComingGameChanges;
}
所以我只是添加了一个 DatabaseReference 变量并订阅了该 OnEnable 函数并取消订阅了 GameObject-Disable 函数,它开始工作了。
这是伪代码。
private DatabaseReference reference;
private void Awake ()
{
reference = FirebaseDatabase.DefaultInstance.GetReference("/myReference");
}
private void OnEnable ()
{
reference.ValueChanged += HandleChanges;
}
private void OnDisable ()
{
reference.ValueChanged -= HandleChanges;
}
注意:我在 Awake 函数中初始化引用变量,因为它在 OnEnable 之前调用,而 Start 在 OnEnable 之后调用。
关于unity3d - 统一平台android取消订阅中的Firebase数据库不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54956811/