Each run of your app in Appetize.io is a fresh install of your app on a fresh "factory reset" device. This is beneficial in many ways, so that each launch is completely independent and reproducible. 

However, you may have a user login, an onboarding flow, or other steps you follow when your app launches, and you'd like to somehow persist this state between app launches. 

We do not support this type of "snapshotting" feature on our side, but we do have a few features which enable our customers to achieve a similar (and many ways better!) result. 

Launch params

You may specify key/value launch params to send to your app at launch. Your app can read these values when it launches, and take some automatic action.

For example you could send:

{ "skipOnboarding" : true, "userToken" : "xyz" }

Then, when your app launches, it knows to skip the onboarding, and automatically authenticate the user with the provided userToken. Of course your app will need to support this logic, so this may require changes to your app. 

However, many clients find that their apps already support some launch params, which can easily be re-used in Appetize.io. These are the same launch params that are used with automated testing, and other internal CI/CD pipelines. 

More info in our documentation at App playback options

Deep links

Similar to launch params, you can use deep links to accomplish much the same. Many apps already to support deep links, and you can re-use the same in Appetize.io. 

One advantage of deep links is that you can also send them dynamically while your app is running, via our cross-document messaging ("post message") APIs. 

More info in our documentation at Cross-document messages

App recorder

Finally, we do have a method in "beta" called the App recorder, where you can pre-record a set of steps such as a user login, and have those steps played back automatically when your app launches. 

Currently, using the App recorder requires some javascript development on your side, but we do have several customers using App recorder at scale in production today. 

We will be continuing to develop our App recorder technology in the future. 

More info in our documentation at App recorder