Если вы используете имена узлов, заданные с помощью push, то значение, возвращаемое Once (). Value - это Map.Таким образом, для итерации по нему с помощью foreach нужна функция, принимающая два аргумента вместо одного (именно это и говорит вам сообщение об ошибке):
response.value.forEach ((динамический ключ, динамический v) => urls.add (v))
это должно дать вам в URL список карт с именем и ключом url.Параметром «ключ» в функции foreach будет имя узла, содержащее имя и URL.
Почему однозначная функция foreach работает с числовыми именами узлов?Если вы назначите числовые имена узлов, firebase вернет эти узлы в виде массива.Поскольку в ваших образцах деревьев отсутствует узел «0», вы получаете «ноль» в качестве первого элемента массива.