its IN, coz though the ducks appear to be ON the river, they are technically IN, due to their legs,. and river has got no surface of its own; the ducks are ON the river surface. (matter of location, and the case of grammar actually) ON should be used where there is a flat surface =)
p.s: am a language teacher, in case u need some assurance.. XX