Query Params Reference

With query parameters on Appetize, users can easily switch between different device and operating system versions, languages, and many other options in order to customize their experience

Supported Query Parameters

Appetize's App and Embed links can contain several additional query parameters to help customize your experience with your app.

You may see these query parameters in action when you run our online demo, and observe changes to your browser's address bar.

Sample Structure
https://appetize.io/{app/embed}/{publicKey}?{queryParameter1}={value1}&{queryParameter2}={value2}
e.g.
https://appetize.io/app/1234?device=pixel4&language=en
Query ParameterSample ValuesDescription

device

iphone8, iphone11pro, iphone11promax, ipadair2, pixel4, pixel4xl, galaxytabs7

Specifies the device to simulate. See Devices & OS Versions for more values.

codec

h264, jpeg

Changes the codec used for video streaming.

osVersion

11.4, 12.2, 13.3, 14.0

Specifies the operating system version on which to run the app. See Devices & OS Versions for more values.

Note: It is recommended not to include osVersion as a query parameter when embedding the app, as this will always use our latest default version.

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, false

When true, starts streaming the app on page load. Default is false Note: If you are making use of our JavaScript SDK, we recommend starting the session programmatically using client.startSession() instead as this may cause the session to start before the SDK is ready.

orientation

portrait, landscape

Specifies the device orientation. Default is portrait

centered

vertical, horizontal, both

Centers the device (only when embedding).

deviceColor

black, white

Specifies the color of the device frame.

screenOnly

true, false

When true, only shows the screen, i.e., no device frame. Default is false

toast

top, bottom

Adjusts the position of Appetize toast messages used for displaying error or info messages. Default is bottom

xdocMsg

true, false

When true, enables cross-document messages. Note: It is recommended to rather use our Javascript SDK to interact with the device.

adbShellCommand

Android only

am start -a android.intent.action.VIEW -d https://appetize.io/ encoded as am%20start%20-a%20android.intent.action.VIEW%20-d%20https%3A%2F%2Fappetize.io%2F

Executes an adb shell command on the device.

language

af_ZA, fr_FR

Specifies the language of the device via ISO 639-1 & BCP 47 language codes.

locale

iOS Only

en_GB, fr_FR

Specifies the locale of the device via Locale ID.

iosKeyboard

iOS Only

lv_LV@sw=QWERTY encoded as lv_LV%40sw%3DQWERTY%20

Specifies the iOS software keyboard to use. Available Values

iosAutocorrect

iOS Only

true, false

Turn on Auto-Correction for iOS.

Defaults to true

disableVirtualKeyboard

Android Only

true, false

When true, disables the on-screen keyboard. Default is false

location

iOS 12+ Android 10+

latitude, longitude, e.g. 39.903924,116.391432

Specifies the simulated location of the device.

timezone

Android Only

Australia/Adelaide encoded as Australia%2FAdelaide

Specifies the URL-encoded timezone of the device. Available Values

grantPermissions

Android Only

true, false

Automatically grants all required app permissions. Default is false

hidePasswords

Android Only

true, false

Hides password visibility when typing.

launchUrl

https://www.appetize.io encoded as https%3A%2F%2Fwww.appetize.io

Specifies a deep link to open when the app is launched.

launchArgs

iOS Only

["apple", "banana", "pear"]

encoded as

%5B%22apple%22%2C%20%22banana%22%2C%20%22pear%22%5D

Specifies a URL-encoded JSON array of strings to pass when launching the app.

debug

true, false

When true, allows viewing the debug log for the app. Default is false

proxy

http://example.com:8080/

encoded as

http%3A%2F%2Fexample.com%3A8080%2F

For Appetize's intercepting proxy, use intercept.

Specifies a proxy server to route network traffic.

Note: 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.

enableAdb

Android Only

true, false

On session start, generates an SSH tunnel to allow ADB connections to the emulator. For more information see ADB tunnel.

record

true, false

Enables recording of all user actions that took place during the session. See UI Automation for more information.

audio

Android Only

true,false

Enables audio output on the Appetize device. Note: This feature is currently in Alpha and might not always work as expected.

androidPackageManager

Android Only

true, false

Allows installation of additional APKs after app launch. Default is false

region

us,eu

Ensures that Appetize sessions are launched only from servers in a specific region.

Note: It is best to avoid setting this property unless absolutely necessary. Our system automatically directs requests to the closest servers for optimal performance. Using this property could lead to longer queues in busy regions.

appearance

iOS 13+ Android 10+

light, dark

Applies the theme's appearance to the device. Default is light

params

{"foo":"bar"} encoded as %7B%22foo%22%3A%22bar%22%7D

A URL-encoded JSON object that will be passed to your app on launch. Use this to load custom content, skip onboarding, auto-login the specified user, or custom tracking. More info: Launch Params

Last updated