For offline behaviour, you will need to store the events in a local database and sent them to GA when the phone gets online. For this, you will need to use the Google Analytics Measurement Protocol.
One of the most important parameters is queue time.
Queue time (qt) : Used to collect offline / latent hits. The value represents the time delta (in milliseconds) between when the hit being reported occurred and the time the hit was sent. The value must be greater than or equal to 0. Values greater than four hours may lead to hits not being processed.
So when a user clicks something or does any action you want to track, store the click with a timestamp. When the device gets online, while sending data to GA, calculate qt (current timestamp - stored timestamp). Note it's in milliseconds. This will ensure your GA has correct user behaviour.
The four hour limitation can be an issue. If you are looking for something with more time limit, use Mixpanel. It's SDK is built to store offline behaviour so you don't need to store events using your own code. It's free for 20M data points per month. There are other options like Mixpanel too which are built mobile first and free tier can cater up to good amount of needs.