Keine Ahnung. Das ist das Resultat aus der Push-Methode.
roomref.push erstellt einen Key mit einem eindeutigen Key. Das kannst Du nicht verhindern; So arbeitet die Realtime-DB (Siehe Doku).
Du erhälst den Key -Kyvit*
HIER erstellst Du nun einen Inhalt mit einer chatid. Das ist deine Referenz. Firebase interessiert sich nicht dafür.
Ach so. Ich Orientiere mich an einem Tutorial in einer anderen Sprache und dort wird erklärt das diese Generierte ID erst auftritt wenn man folgendes mit angibt:
B4X:
let itemRef = messageRef.childByAutoId()
erst bei .childByAutoId wird diese generierte id hinzugefügt.
Ich möchte erreichen das ich meine eigene id verwenden kann um an die "chatid" zu kommen.
So wie ich das sehe solltest du vermutlich (ich bin auch kein Firebase-Database Profi! ) eine Referenz zu deinen Räumen haben. Da dann deinen anlegen mit der id wie von FB vorgegeben. Dann holst du Dir childreferenzen wo Du genau deine id als filter einsetzt.
Am Ende müsste dann eigentlich (als Value des Snapshot) eine Map mit
deinen Werten aus CreateMap( "chatid" :Main.cursorchatmenu.GetString("sessionid"),"newroom", "post")
bekommen.
Ich habe mal einen blick in die Dokumentation geworfen und wurde fündig, statt "push" gebe ich "child" ein, mit der sessionid und schon ist mein Problem gelöst. Das Problem ist nämlich, das ich Firebase nur für den Chat benötige, wie der raum erstellt wurde hab ich in einer externen Datenbank, deshalb die sessionid. Würde ich jetzt die Generierte ID aus Firebase für den raum nutzen, müsste ich eine weitere spalte in der externen Datenbank erstellen und diese id erstmal dort speichern, aber das ist ein Zwischenschritt den ich mir somit sparen kann und es ein wenig Manipuliersicherer macht. Danke