I've tried just about everything on my awnings, windshield, fiberglass etc. Magic Erasers do work, but they are abrasive. My once white slide topper did look better after the eraser, but now the crud is harder to remove due to the rougher surface.
For non-glass surfaces my wife mixed-up a bottle of equal parts hydrogen peroxide, water and Blue Dawn liquid soap. She uses it in the bathrooms too and all the ceramics and grout always look like new.
Spray it on a cool surface, let it sit for a minute or two then wipe or spray it off. Wiping helps to get the more stubborn stuff off.
No bleach and no abrasives. Cheap too.
I've found
this to be #1 for windshields on all my vehicles for 20 years. Walmart, Autozone etc. Any bug guts that do stick to the RainX'd glass will easily spray off. That is a near miracle in Alabama when the summer sun cooks all the car surfaces so hot you can't touch them. Without RainX you almost need sandpaper or steel wool to get the windshields presentable.