Skip to content

Cross-Platform Considerations

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 res:// 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.
TextAlignment justified is not supported before Oreo (API 26). It is interpreted as left.
No Limit in number of lines. LineBreaking mode only wordWrapping and truncatingTail are supported. TextAlignment justified is not supported. It is interpreted as center.
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.
Note:
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
Push notifications
Note:
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.
Icon, IsIconHidden, and Animated, are ignored.
Displays at bottom of screen,
Icon, IsIconHidden, and Animated, are ignored.
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

Last update: October 20, 2020