Mobile App FAQ
Q: What is the difference between channel settings, screens, and widgets?
A: Difference between these types:
- SETTINGS controls channel-wide behavior and visual defaults.
- SCREENS controls the major app screens and their publication status.
- Widgets are ordered content blocks used to build configurable screens such as Homepage and Profile.
Q: Does saving a screen as a draft publish it?
A: No. Save as Draft stores the draft configuration. Return to the screen list and confirm that the required screen shows PUBLISHED before launch.
Why can the physical app look different from the editor preview?
The preview is a configuration aid. A physical device also uses real member data, login state, segment membership, device dimensions, operating-system behavior, and the published configuration. Always complete device testing before launch.
Q: What is the difference between Initial Language and Available Languages?
A: Initial Language is the default app language. Available Languages defines the languages that a customer can use.
Q: Can I change translation placeholders?
A: Do not change dynamic placeholders for timestamps, amounts, currencies, counts, or other inserted values. Translate only the surrounding customer-facing text unless the implementation owner confirms a different placeholder format.
Q: How is the bottom-navigation order defined?
The order of values in SETTINGS → GENERAL → Menu Routes determines the bottom-navigation order.
Q: Can a bottom-navigation item open a website?
A: Yes. Use embed:menu_link in Menu Routes and store the URL in Menu Link (common.menu_link) under TRANSLATION.
Q: Can I use any value in Menu Routes?
A: No. Use only route values supported by the project. Test every route after changing the array.
Q: What is the difference between App Welcome and Onboarding?
A: App Welcome is shown once after a fresh installation. Onboarding is shown after the customer's first login or registration.
Q: Which screen types can App Welcome contain?
A: The demonstrated editor supports:
- Welcome screen
- Language screen
- Info screen
Q: Which screen types can Onboarding contain?
A: The demonstrated editor supports:
- Welcome screen
- Info screen
- Card screen
- Preference center screen
The Card screen supports the project's flow for pairing an existing loyalty card or generating a new one.
Q: Can App Welcome or Onboarding contain multiple steps?
A: Yes. Click Add new, configure each item, and drag the items into the required order.
Q: Why does App Welcome not appear again during testing?
A: App Welcome is designed to appear once after a fresh installation. Retest it in a clean-install state.
Q: Why does Onboarding not appear for an existing member?
A: Onboarding is associated with the first login or registration journey. A member who already completed that journey may not see it again. Test with the appropriate first-login or first-registration state.
Q: How do I add a widget?
A: Open a widget-based screen such as Homepage or Profile, click Add new, select the Widget type, and configure its common and type-specific settings.
Q: Where is a new Homepage widget added?
A: A new widget is added to the end of the widget list and initially uses the Static type as a default.
Q: How do I change the order of widgets?
A: Drag widgets using the reorder handle. The app displays them in the order shown in the editor.
Q: Can I prepare a widget without showing it?
A: Yes. Set Visibility to None and save the widget. Change the visibility only when the widget is ready.
Q: What happens when no segment is selected?
A: The widget is not restricted by segment. Its Visibility rule still applies.
Q: Can an embedded browser close after a completed external flow?
A: Use Close Browser on specific URL and enter the completion or callback URL used by the flow. Test the complete redirect sequence on physical devices.
Q: Can screenshots be blocked for an embedded web page?
A: The web-link configuration includes Block screenshot for supported embedded flows. Screenshot behavior must be tested on each supported device platform.
Q: How do I display the same header on every screen?
A: Configure SETTINGS → HEADER WIDGETS → Widget for header. The shared header is used on each Mobile App screen unless it is overridden.
Q: How do I display a header on only one screen?
A: Leave the global header empty and add a Header widget to the required screen.
Q: Can the header contain a personalized greeting?
The Header widget supports a greeting and can display personalized member information supported by the project's template configuration. Confirm the exact template syntax used by the project before publication.
Q: Why is Contest notification empty or hidden?
A: The Contest notification widget is displayed when the member has an unused contest token. Test it with a member who is in that state.
Q: Can a widget use an image or video?
A: Supported upload fields can accept images and, for some fields, MP4 video. Use the file formats, maximum size, and recommended dimensions displayed by the specific upload control.
Q: Which dimensions should I use for a Static widget image?
A: Select the widget height first. The editor displays the recommended dimensions for the active Tiny, Small, Medium, or Large configuration. Follow the dimensions sh
Q: What happens when the customer does not allow GPS access?
A: If the app uses a map, Mapbox Position provides the default map position when the current device position is unavailable or permission has not been granted.
Q: Can screenshots of card and coupon barcodes be blocked?
A: Use SETTINGS → SCREENSHOT BLOCKER:
- Block on Loyalty Card Detail protects the loyalty-card barcode or QR code.
- Block on Coupon Detail protects coupon detail when a barcode or QR code is visible.
Test the behavior on every supported platform.
Troubleshooting
| Problem | Possible cause | Solution |
|---|---|---|
| A widget is not visible | Visibility is None | Change the visibility to the required audience and publish the screen. |
| A widget is visible to the wrong login state | Visibility is set to All (default) or the wrong audience | Select Only anonymous or Only logged in as required. |
| A logged-in member cannot see a widget | The member does not belong to a selected segment | Verify the member's segment membership or remove the segment restriction. |
| Anonymous customers cannot see the screen content | The screen or widget is limited to logged-in customers | Review the screen-level and widget-level login controls. |
| A recent screen change is missing | The change is saved only as a draft | Publish the screen and confirm PUBLISHED in the screen list. |
| A translation is missing or incorrect | The wrong language was edited, the value was not saved, or the language is not enabled | Select the correct language, save the value, and confirm the language under Available Languages. |
| A dynamic value is shown incorrectly | A translation placeholder was changed | Restore the exact placeholder shown by the editor and translate only the surrounding text. |
| The embedded menu item does not open its website | embed:menu_link is missing, or Menu Link is empty or invalid | Add the route, enter a complete URL in common.menu_link, save it for the relevant languages, and retest. |
| Bottom-navigation items are missing or in the wrong order | Menu Routes contains unsupported values, invalid array syntax, or the wrong order | Correct the route array, save, and test every navigation item. |
| A web page opens in the wrong place | The wrong Web Link Type is selected | Choose In-app, In-App (Tab), or In browser as required. |
| A widget opens a section instead of a specific item | A direct section link is configured | Use the supported detail-link option and select the exact Item. |
| The map opens at an unexpected location when GPS is unavailable | Mapbox Position is missing or incorrect | Enter and test the correct fallback coordinates. |
| App Welcome does not appear again | The first-run journey was already completed on that installation | Retest from a clean-install state. |
| Onboarding does not appear | The test member already completed the first login or registration journey | Use the correct first-login or first-registration test state. |
| Contest notification is not displayed | The member has no unused contest token | Test with a member who has an unused token. |
| Points shows an unexpected balance | The wrong wallet is selected | Select the intended wallet and retest with a member whose balance is known. |
| Favorite venue is unavailable | The venue feature is disabled or the customer is not registered | Enable Favorite venue feature and test with a logged-in member. |
| The header is missing on some screens | No global header is configured, or a screen overrides it | Review HEADER WIDGETS and the affected screen's header configuration. |
| Uploaded media is rejected | The file does not meet the active field's format, size, or dimension requirements | Follow the upload hint displayed by that field and try again. |
| The preview differs from the published app | The preview uses different state or the physical app is using an older published configuration | Confirm publication, then test with the intended login state, member data, segment membership, language, and device. |
| Screenshot protection does not behave as expected | The relevant blocker is disabled or a different screen is being tested | Enable the exact card, coupon, or embedded-browser control and retest on the target platform. |
Widget Sizes
| Area | Screen or widget | Image variant | Dimensions |
|---|---|---|---|
| App Welcome | Welcome screen | Background | 720 × 1714 px |
| App Welcome | Welcome screen | Half | 720 × 973 px |
| App Welcome | Language screen | Image | 720 × 1714 px |
| App Welcome | Info screen | Background | 720 × 1714 px |
| App Welcome | Info screen | Half | 720 × 973 px |
| Onboarding | Welcome screen | Background | 720 × 1714 px |
| Onboarding | Welcome screen | Half | 720 × 973 px |
| Onboarding | Info screen | Background | 720 × 1714 px |
| Onboarding | Info screen | Half | 720 × 973 px |
| Onboarding | Card screen | Background | 720 × 1714 px |
| Onboarding | Preference center screen | Background | 720 × 1714 px |
| Homepage / Profile | Card | Front background | 720 × 459 px |
| Homepage / Profile | Card | Back background | 720 × 459 px |
| Homepage / Profile | Contest | Bar template background | 1440 × 727 px |
| Homepage / Profile | Contest | Stampcard background | 1440 × 727 px |
| Homepage / Profile | Header | Full width image | 720 × 100 px |
| Homepage / Profile | Link icons | Icon | 720 × 720 px |
| Homepage / Profile | Side-by-side images | Small | 720 × 468 px |
| Homepage / Profile | Side-by-side images | Medium | 720 × 643 px |
| Homepage / Profile | Side-by-side images | Large | 720 × 809 px |
| Homepage / Profile | Static | Tiny | 1440 × 249 px |
| Homepage / Profile | Static | Small | 1440 × 460 px |
| Homepage / Profile | Static | Medium | 1440 × 632 px |
| Homepage / Profile | Static | Large | 1440 × 727 px |
| Homepage / Profile | Static Two Column | Tiny | 720 × 283 px |
| Homepage / Profile | Static Two Column | Small | 720 × 522 px |
| Homepage / Profile | Static Two Column | Medium | 720 × 720 px |
| Homepage / Profile | Static Two Column | Large | 720 × 900 px |
Updated 20 days ago