~~Title: Startup Request Properties~~ ~~NOTRANS~~ ~~NOPDF~~ === Physical Device === osName: Android 12 iOS osVersion: e.g. 31 e.g. 16.3 screenWidth: e.g. 392 screenHeight: e.g. 856 appVersion: 2.2.0+1 deviceId: readAheadLimit: 100 technology: FlutterMobile deviceMode: mobile deviceType: e.g. Xiaomi iPhone deviceTypeModel: e.g. M2103K19PG My iPhone name (iOS <= 15) iPhone (iOS >= 16) ... langCode: e.g. en timeZoneCode: e.g. Europe/Vienna serverVersion: e.g. 2.4.0 baseUrl: e.g. http://www.domain.com/myapp/services/mobile === Browser === osName: Linux x86_64 MacIntel ... screenWidth: e.g. 392 screenHeight: e.g. 856 appVersion: 2.2.0+1 deviceId: e.g. XXXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX readAheadLimit: 100 technology: FlutterWeb deviceMode: mobileDesktop (or mobile if forced with ?mobileOnly=true) deviceType: chrome firefox ... deviceTypeModel: e.g. Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36 langCode: e.g. en timeZoneCode: e.g. Europe/Vienna serverVersion: e.g. 2.4.0 baseUrl: http://www.domain.com/myapp/services/mobile requestUri: e.g. http://www.domain.com/myapp/mobile/ === Property Details === **osName** * Web (https://developer.mozilla.org/en-US/docs/Web/API/Navigator/platform) * Android (String "Android" with release Version e.g. "Android 12") * iOS (The current operating system name) **osVersion** * Android (https://developer.android.com/reference/android/os/Build.VERSION_CODES.html) * iOS (The current operating system version) **deviceId** * Android (not available) * iOS (UUID for device) **deviceType** * Web (browser name) * Android (The manufacturer of the product/hardware.) * iOS (Device model) **deviceTypeModel** * Web (User-agent string) * Android (The end-user-visible name for the end product.) * iOS (https://developer.apple.com/documentation/uikit/uidevice/1620015-name) === Custom properties === It's also possible to send custom properties from the flutter client to the application. To do this, use the Startup Request and send properties in this form: custom_propertyname: value Every custom property has to use the prefix ''custom_''. The prefix will be removed and only the ''propertyname'' will be used. The application will be able use access the value with ''propertyname''.