Hi @Sachchit ! Welcome to the Amplitude Community
For question 1 and 2, this will really be dependent on what kind of action/function/trigger on your app that would represent this behavior. It would be best to consult with your Engineering team for this. Otherwise, if you are wondering how to log an event to Amplitude using our SDKs, then you would either use a logEvent or track function depending on which SDK you utilize. i.e. https://www.docs.developers.amplitude.com/data/sdks/typescript-browser/#callbacks-for-logevent-identify-and-redirect
If you don’t know what kind of action/function/trigger on your app that would represent this behavior, then this will be difficult to instrument. For App install and uninstall events, you could consider using a mobile attribution partner like Appsflyer, Branch etc who would be able to capture the events for you and then send it to Amplitude.
For question 3, if a user is just updating the app, then amplitude ID, user ID and device ID should hold even after the update. This would only change if you change the user ID and device ID. If a user uninstalls, it is possible that device ID will change but if they login with the same user ID, then the events will still merge under that user ID.