Is there a way to prevent a factory reset or hard reboot on any smartphones? Could you recommend a phone at this point?
You should put Settings in the protected app list so the user cannot do factory reset from there. Most device models also allow factory reset using some key combination during device reboot. Funamo cannot block it because it is before the Android system is boot up. But you can detect it if you don't see device history updating online. A factory reset will wipe the device and remove all installed apps including Funamo. So if you see device history stops updating online, you would want to check the device to see if Funamo is still installed.