I can't speak to the experience with Android but Apple offers both in-store battery replacement or Mail-in battery replacement for $70-120 which to me seems very reasonable. Could it be cheaper? Sure, maybe I guess? But $70-120 is a lot less than a new phone. And this way we don't need to compromise the shell of the phone with seams and things that can fail.
https://support.apple.com/iphone/repair/battery-replacement