Have you tried sitting next to your baby while they play? Sometimes rather than playing directly with them, you can give them something to explore and sit close to them, then gradually move it away til you're about a metre away. To improve attention span, you need a toy or object that's more than just one thing. So then when your baby would normally be just about to get bored, you then say 'ooo look at thiiis' and show them something different about it. It should snap back their attention and double their time. The reversible octopuses are a simple example of something that's more than just one thing
Although it's hard, I would say helping your baby to play by themselves for short while is good but It will take a while to build up to. A little bit of frustration from them as they play can be good as they then learn how to play with a toy differently and more independently too. So given a toy, then when they first sound frustrated, leave for a short while before going it to help. Working out the difference between frustrated but learning Vs frustrated and upset is needed to make this work and you know your baby best for how this will look and sound for you.
I would also try some household objects rather than buying new toys as you won't feel as bad if they reject them. A colander bowl which is shiny and no sharp edges is great! I place one upside down Infront of my little one and she loves to play with it & chew/lick it, try picking it up etc.
Just here to say I can relate to this completely and it’s been a struggggle 😵💫
Babies only have short attention span. It's normally about 2-3 minutes per year of age so it's not really abnormal in the slightest. Dancing fruits just puts them in a trance as does most tv because of the flickering lights and colours and sounds. You just gotta do different things all the time and change things around. Sometimes it's good for them to be left to entertain themselves too with toys left out