これが私のコードです:
firebaseRef.getRoot().child(".info/connected").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot snapshot) {
if (snapshot.getValue(Boolean.class)) {
// We're connected (or reconnected)! Set up our presence state.
firebaseRef.child("child").setValue("value");
}
}
@Override public void onCancelled() { }
});
「子」パスのセキュリティ ルール:
".write": (auth != null);
クライアントが切断すると、再接続setValue("value");
が機能するはずです。
JS SDK で完全に動作します。
ただし、Java SDK は再接続に問題があるようです。そこにはできずsetValue("value")
、Firebase はPermission denied
エラーを返します。
何か問題がありますか?助けてください。ありがとうございました!