Playback options
App links, such as https://appetize.io/app/<publicKey>?device=pixel4&language=en can contain many optional query parameters.
You may see these query parameters in action when you run our online demo, and observe changes to your browser's address bar.
These parameters specify:
device
- eg. iphone8, iphone11pro, iphone11promax, ipadair2, pixel4, pixel4xl, galaxytabs7codec
- "h264" or "jpeg", default is "h264". Changes the codec used for video streamingosVersion
- the operating system version on which to run your app, e.g. 11.4, 12.2, 13.3, 14.0 Note: We recommend do not include osVersion as a query parameter when embedding your app, that way will always use our latest default.scale
- a number between 10 and 100, or "auto". Adjusts the size of the device shown on the page. "auto" will scale to fit the size of the iframe (embeds only).autoplay
- true or false, default is false. When true, start streaming app on page load.orientation
- portrait or landscapecentered
- "vertical", "horizontal" or "both". Centers the device (only when embedding)deviceColor
- black or whitescreenOnly
- true or false, default is false. When true, only show the screen, i.e. no device frame.locale
- Locale ID, eg. en_GB, fr_FR (iOS only)disableVirtualKeyboard
- (Android only) true or false, default is false. When true, disables the on-screen keyboard.location
- latitude, longitude, eg. 39.903924,116.391432 (iOS 12+, Android 10+)grantPermissions
- true or false - automatically grant all required app permissions (Android only)hidePasswords
- true or false - hide password visibility when typing (Android only)launchUrl
- specify a deep link to open when your app is launchedlaunchArgs
- specify a url-encoded JSON array of strings to pass when launching your app (iOS only)debug
- true or false, default is false. When true you can view the debug log for your app.proxy
- specify a proxy server to route network traffic. e.g.http://example.com:8080
. For Appetize.io's intercepting proxy, useproxy=intercept
enableAdb
- true or false. on session start, generate an SSH tunnel to allow ADB connections to the emulatorandroidPackageManager
- true or false, default is false. Allows installation of additional APKs after app launchappearance
- set todark
to set dark mode UI on iOS 13+ and Android 10+params
- a URL-encoded JSON object. This data will be passed to your app on launch. eg.¶ms={"foo":"bar"}
which gets URL encoded to¶ms=%7B%22foo%22%3A%22bar%22%7D
The
params
JSON dictionary allows you to pass values to your app on launch. It can be useful to load custom content, skip onboarding, auto-login the specified user, or custom tracking.To read the values in your iOS app, call
[[NSUserDefaults standardUserDefaults] objectForKey:@"key"]
.On Android, they will be passed as extras into the intent that launches your app, accessible by calling
getIntent().getStringExtra("key")
, getBooleanExtra("key")
, etc.They can also be retrieved from SharedPreferences named "prefs.db", e.g.
getApplicationContext().getSharedPreferences("prefs.db", 0).getString("key", null)
For convenience, we set the key
"isAppetize": true
when streaming apps. You can detect if your app is running in Appetize.io by calling:- iOS:
[[NSUserDefaults standardUserDefaults] objectForKey:@"isAppetize"]
- Android: either of the following methods
getIntent().getBooleanExtra("isAppetize", false)
getApplicationContext().getSharedPreferences("prefs.db", 0).getBoolean("isAppetize", false)
Last modified 1mo ago