Mandatory Implementations

    Mandatory Implementations


    Article summary

    Your app must be certified against the below implementations prior to approval to be released to the production environment.

    Lifecyce.ready()

    Lifecycle.close()

    • Part of your app’s mandatory Lifecycle Management implementation.

    • Notifies the OS that your app is ready to be closed but does not terminate your app session immediately.

    • App to:

    • There are use cases, such as during testing, where your app returns to the foreground before your app session is terminated, landing the user on the last seen UI (i.e., exit dialog). For better UX, your app should return to either your app’s homepage or the last screen prior to the exit dialog.

    Parameter.initialization()

    • Part of your app’s mandatory Lifecycle Management implementation.

    • Required for deeplinking and app launch.

    • Payload includes ad tracking and privacy opt-in/out flags.

    • It's one of the places where your app can get the Ad tracking opt-in/out status.

    Metrics.error()

    • A component of the Error Free Session Rate (EFSR) SLA metrics.

    • Shares the list of errors and troubleshooting guidelines with the platform, which will help with testing and production support.

    • Correct implementation includes:

      • Calling Metrics.error() for all errors occur from app launch to exit

      • The errors need to be tagged correctly as 'visible' or not to the customer

    Manage app while in Inactive state

    Your app is required to close video/audio playback session when going into the Inactive state. Playback continuing while your app is out of focus is both disruptive to the customer experience and other apps subsequently launched.

    • Part of your app’s mandatory Lifecycle Management implementation.

    • On device platforms which do not support the 'Inactive' state, your app session will be terminated on exit.

    • App to:

      • Stop playback and clear player instance

      • Stop UI loading

      • Reduce memory footprint to below 120Mb

    • For the best UX, it is recommended to prepare your app to return to the foreground and land on the UI closely related to the last experience prior to going into the inactive state. For example:

      • Same page, if it was on a stable UI

      • Content detail page, if playback was in progress

    Inactive State Device Support

    The Inactive state is currently supported on the following device platforms:

    • Xumo TV (formerly XClass TV)

    • Xumo Stream Box on Charter, Xfinity, and Mediacom.

      • Currently, this feature is only turned on for the primary video service of the distribution (i.e., Spectrum TV for Charter), but it is planned to expand to all apps in the future.

    Support for the Inactive state is expanding to cover other devices in the future.

    Memory guidelines


    Was this article helpful?