Best approach for E2E testing

Hi All, I’m very new to E2E testing. I want implement end to end testing of my Ionic 4 application. Want to know what is best way or tool to use for that. If Appium is your answer, can I use it for all the native interactions like camera, Geo-location, Making API calls etc ?
My app has many native functionalities considering that, kindly suggest me, what approach I need to use and share the useful links with that regard.