The overall goal for Mobile Development Kit applications is for the same metadata to run on either platform (iOS, Android or web). However, due to some of the underlying platform preferences there are some differences in behavior for some metadata items.
This table outlines areas where the metadata is handled differently between the platforms.
|Topic||iOS Behavior||Android Behavior||Web Behavior|
|Action Bar buttons||Can be defined to show on left or right of Page caption (centered)||All buttons are on right with the Page caption left aligned in the Action Bar area
Normal page: due to how Android's UI design, all items are displayed on the right side of the Action Bar
Modal page: Only the first left item is positioned on the left side of the action bar, and that first left item can only support icon and system item, it cannot support text.
|Can be defined to show on left or right of Page caption (centered)|
|Branded in Images referenced via
||All valid iOS filenames supported||File-based resource names must contain only lowercase a-z, 0–9, or underscore and period||All valid filenames supported|
|Button Form Cell
Button Table Section
|Title is displayed as entered in the metadata||The Title is displayed in ALL CAPS||Title is displayed as entered in the metadata|
|Grid Row Item||No limit in the number of lines. All alignment types are supported||The maximum number of lines is capped at 2.
||No Limit in number of lines. LineBreaking mode only wordWrapping and truncatingTail are supported.
|mobile services > Client Policies > Passcode Policy > Passcode Options: No Passcode Required||No Passcode Required option is ignored on iOS.
If Enable Passcode Policy is checked the MDK client requires the user to enter a passcode.
|If Enable Passcode Policy is checked and No Passcode Required is checked, the MDK client displays a USE DEFAULT option on the enter passcode screen. Selecting USE DEFAULT skips the passcode entry.
Android will be moving to Ignore the No Passcode Required flag in the future. It is recommended not to set this flag in mobile services to avoid confusion moving forward.
|Unsupported on web as onboarding is a mobile only capability|
Sending push notifications to both iOS and Android devices requires the sender to include APS and Firebase appropriate structures in the message body.
|Common properties are generically exposed with access to raw payload specific to APS||Common properties are generically exposed with access to raw payload specific to Firebase||Currently Push notifications is unsupported on web|
|Segment Form Cell||Maximum number of displayed segments is 5.||No limit to the number displayed||No limit to the number displayed|
|Table Cells - OnAccessoryButtonPress||In iOS, it triggers by pressing ProgressIndicator or "detail button" if AccessoryType is set to detailButton or detailDisclosureButton.||In Android, it is triggered for any AccessoryType or ProgressIndicator.||In Web, it is triggered for any AccessoryType or ProgressIndicator.|
|Toast Message||Can set duration
Display in center of screen
Message is centered in toast area
|Displays at bottom of screen, left aligned within Toast area consistent with Android Material Design guidelines.
||Displays at bottom of screen,
|Toolbar buttons Flexible Space
Toolbar buttons Fixed Space
|Supported||All Toolbar buttons are right aligned and any Flexible Space or Fixed Space buttons are ignored||Supported|
|ApplicationUpdate||Allows to manually check for application update, supported on iOS||Allows to manually check for application update, supported on Android||No such capability to manually check for application update, a refresh of the application will fetch the latest application code|
|ChangeUserPasscode||Allows users to change their onboarding passcode||Allows users to change their onboarding passcode||Unsupported on web as onboarding is a mobile only capability|
|VerifyPasscode||Allows to check user access rights by validating the passcode set using onboarding||Allows to check user access rights by validating the passcode set using onboarding||Unsupported on web as onboarding is a mobile only capability|