我使用的版本是:
Firebase版本5.4.2和5.5.0 Unity版本2018.5.5f1
我正在使用child添加到注册或退订在编辑器上是正常的, 但建立APK后我无法退订, 每次添加数据时,它都会收到与订阅数相同的返回事件。
答案 0 :(得分:1)
我遇到了类似的错误。我有这两个功能,在unity editor中可以正常工作,但在使用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之后被调用。