Configuration
With Appetize's configuration options, users can easily switch between different device and operating system versions, languages, and many other options in order to customize their experience.
You can configure the client to change the device, OS version, app, and various other options. This will set the configuration for the embed before the session starts, either programmatically or by user interaction.
await client.setConfig({
device: 'iphone11pro',
osVersion: '15.0'
})
Additionally, you can provide these when starting a session programmatically:
const session = await client.startSession({
device: 'iphone11pro',
osVersion: '15.0'
})
string
The publicKey of the Appetize app that you wish to run
string
string
The operating system version on which to run your app. e.g. 11.4, 12.2, 13.3, 14.0
Note: We recommend leaving this blank so it will always use our latest default for the device
number | 'auto'
Sets the scale of the device in the iframe.
If a number is provided it must be between 10 and 100. If
'auto'
, the device will scale up to fit inside the iframe."portrait" | "horizontal"
Sets the orientation of the device
"vertical" | "horizontal" | "both"
Centers the device within the embed
"black" | "white"
Sets the color of the device chrome
boolean
If true, only show the screen and not the device chrome
string
string
(iOS only) Sets the locale of the device. Must be a locale ID e.g.
en_GB
, fr_FR
string
boolean
(Android only) When true, disabled the onscreen keyboard
number[]
(iOS 12+, Android 10+) Sets location of the device in latitude and longitude. eg. [
39.903924,116.391432]
string
boolean
(Android only) Automatically grant all required app permissions
boolean
When true, starts streaming the app on device load. Default is
false
boolean
(Android only) Hide password visibility when typing
string
Specify a deep link to open when your app is launched
string[]
(iOS only) An array of strings to pass when launching your app
boolean
When true, the session will listen for debug logs and emit them as a
log
event.string
Specify a proxy server to route network traffic. eg
http://example.com:8080
For Appetize's built-in intercepting proxy, use
intercept
. Network logs are emitted from the session as a network
event.Our current support is limited to HTTP Proxies. When your app makes HTTPS connections, the data remains encrypted despite the unencrypted connection to the proxy. The app sends a CONNECT request to the proxy for the destination HTTPS server, initiating an SSL handshake. The proxy acts as a TCP connection forwarder, ensuring end-to-end encryption for app data.
boolean
Enables recording of all user actions that took place during the session. See UI Automation for more information. Default is true.
boolean
(Android only) Sets up an SSH tunnel to allow ADB connections to the emulator. SSH command and info can be found by quering getAdbInfo on the session.
boolean
(Android only) Allows installation of additional APKs after app launch
"dark" | "light"
(iOS 13+ and Android 10+) Sets dark or light mode UI
object
A JSON object that will be passed to your app on launch
boolean
Enables audio playback on the device
"h264" | "jpeg"
Set the video codec used for the stream. Default is
h264
if the browser supports it, otherwise falls back to jpeg
.Last modified 10d ago