Flutter Firebase rtdb funktioniert auf Android, aber nicht auf iOS (snapshot.exists = false)Android

Forum für diejenigen, die für Android programmieren
Anonymous
 Flutter Firebase rtdb funktioniert auf Android, aber nicht auf iOS (snapshot.exists = false)

Post by Anonymous »

Ich verwende Flutter + Firebase Realtime Database für eine Quiz-Kampffunktion.
Auf Android funktioniert alles korrekt, aber auf iOS gibt derselbe Lesevorgang leere Daten zurück (

Code: Select all

snapshot.exists == false
) ohne einen Fehler auszulösen.
Was ich mache
Ich navigiere zu einem Bildschirm und rufe Kampffragen wie diese ab:

Code: Select all

final snap = await FirebaseDatabase.instance
.ref('quizBattle/$roomId/questions')
.get();

print("exists = ${snap.exists}");
print("value = ${snap.value}");
Ergebnis
  • Teil)

    Code: Select all

    "quizBattle": {
    ".read": true,
    ".write": "auth != null",
    "$battle_id": {
    ".read": "auth != null",
    "questions": {
    ".read": true,
    ".write": true
    }
    }
    }
    
    
    />
  • Parent .read blockiert untergeordnete Lesevorgänge?
  • Firebase Auth ist unter iOS nicht bereit?
Wie werden RTDB-Regeln richtig strukturiert, damit dies auf beiden Plattformen zuverlässig funktioniert?
Was ich versucht habe
  • Hinzufügen .read: true bei Fragen
  • App neu starten / Cache leeren
  • Korrekten DB-Pfad und Daten überprüfen
Schlägt immer noch nur unter iOS fehl.
Erwartetes Verhalten
Sowohl Android als auch iOS sollten dazu in der Lage sein lesen:

Code: Select all

quizBattle/{battleId}/questions
ohne dass eine Authentifizierung erforderlich ist.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post