Launch Params

With Launch Params, you can pass custom data to your mobile apps while running in Appetize. It can be useful to load custom content, skip onboarding, auto-login a specified user, or custom tracking.

Passing Data to your Application

With Query Parameter

Set the params data to pass to your application. The data needs to be an URL-Encoded JSON Object e.g.

&params={"foo":"bar"}

should be encoded to

&params=%7B%22foo%22%3A%22bar%22%7D

See Query Params Reference for more information.

With JavaScript SDK

Send the params data to pass to your application as part of the configuration. The data needs to be a JSON Object e.g.

await client.config({
    params: {"foo":"bar"},
    ...
})

See Configuration for more information.

Retrieving Data in your Application

For convenience, we set the key "isAppetize": true while streaming your app to allow you to easily detect if your app is running in Appetize.

With Intents

The data will be passed as extras into the intent that launches your app, accessible by calling the appropriate get method (based on type) e.g.

Intent intent = getIntent()
intent.getBooleanExtra("isAppetize", false);
intent.getStringExtra("stringKey");
...

With SharedPreferences

The data will also be stored in SharedPreferences under a file called prefs.db. This is accessibly by fetching that SharedPreferences instance and calling the appropriate get method e.g.

SharedPreferences preferences = getApplicationContext().getSharedPreferences("prefs.db", Context.MODE_PRIVATE);
preferences.getBoolean("isAppetize", false);
preferences.getString("stringKey", null);
...

Complex types (e.g. arrays or objects) will automatically be serialized and need to be deserialized manually before using e.g. passing an object:

{
  "obj": { "stringKey": "value", "boolKey": true }
}

when queried, will return:

"{"stringKey":"value","boolKey":true}"

Last updated