Building your app involves understanding and implementing baseline functionality and features according to platform requirements. Once done, your app must be tested and certified before release.
Before you begin
Review the platform design guidelines in our Design & Plan section. Keeping these guidelines in mind while developing your app will enable you to have a more streamlined certification and release process once development is complete.
Need to learn about Firebolt® before building your app?
Check out our Baseline Firebolt APIs and our Getting Started guide to learn details about our technology stack and how to build a Hello World app.
Implement baseline functionality
To start developing your app, you will need to implement core functionality that enables baseline platform functionality and features. While developing, you should ensure your app functions as expected on less powerful devices before porting it to higher-end devices. Refer to the Device Specs for information on specific devices.
Transitioning from legacy
This implementation guidance is designed specifically to help with building Firebolt apps. If you are transitioning your app from our legacy badger APIs, refer to the guidance for Transitioning from Legacy.
Lifecycle and navigation
All apps are required to have basic Firebolt Lifecycle support to run properly on our platform. At a high level, lifecycle functionality on our platform is robust in the fact that your app must support more states than just closed or open. Instead, your app must support inactive, suspended, closed, background, and foreground states that enable quick startup and better app performance.
Lifecycle Management lets you manage the various states of your app on the device.
Listening for Events lets your app to respond to asynchronous notifications from users and the platform.
Listening for Property Changes lets you adjust your app’s functionality in response to hardware and system properties (e.g., audio, accessibility settings).
Deep Linking lets users to directly navigate to content in your App from the home screen.
Associated requirements for lifecycle and navigation include:
Media playback
Media playback works in tandem with lifecycle and navigation functionality to let users interact with your app’s content. It can be triggered by specific events, intents, and deep links. Common triggers for media playback include the following intents:
PlayEntityIntent is the standard for beginning playback of your content. It also offers extra configuration options to targeting specific entities for playback (e.g., playing a specific song in an album).
PlayQueryIntent leads to media playback from a search or abstract query, where a specific entity is not defined.
TuneIntent is used specifically for “tuning” to linear media, such as a broadcast channel/network or a live streaming event.
Associated requirements for media playback include:
App metrics
To track the quality of your App’s experience, our platform needs to know metrics for when specific events are initiated. The Firebolt Metrics module helps with reporting and analytics regarding your App’s functionality and usage.
For step-by-step instruction on implementing metrics in your app, check out the Implementing Firebolt Metrics guide.
App operations and experience
Your app must fulfill established operational and experience requirements to ensure a high-quality user experience.
Associated requirements for operations and experience include:
Test and debug
Thorough testing can accelerate app release and create a more reliable app experience. Once you’ve implemented baseline functionality for your app, you can verify your app works as expected on test devices through the following resources:
Implement additional integrations
Feature integrations must be discussed before adoption
The integrations available for your app may depend on your specific distribution terms. Contact your delivery manager if you are interested in additional integrations.
Once your baseline app is working as expected, you can connect to our Metadata systems to enable additional feature integrations if applicable to your app. Additional integrations include:
Continue Watching: Let users pick up and resume content where they last left off.
Advertising: Integrate advertising into your app experience to increase monetization.
Marketplace: Let users purchase content directly from their device.
Whole-Home Sign-In: Let users login with the same credentials across all devices connected to their account.
Partner Page: Show users the best content you have to offer via a fully automated merchandising experience.
Kids Section: Offer dedicated areas for kids content.
Check out our Additional Integration Requirements to see what’s needed for each integration. As you add integrations, be sure to test each one to ensure the app behaves as expected according to the requirements.
Certify and release
Once you have determined your app is working as expected, you can submit it for certification testing. After your app has passed certification, you can then coordinate with your delivery manager on the final release.
Certification
Submit your app for certification via the developer portal certification form. This form is accessible from the portal’s app dashboard.
The app certification team receives your certification request and determines a testing plan. Considerations that help determine the specific testing plan include:
Specific features and integrations that you have implemented in your app.
Territories and devices to which you plan to distribute your app.
The app certification team tests the app according to the finalized test plan. Upon testing completion, the team will inform you whether your app has passed or failed certification.
If the app has passed certification, you can now coordinate the final release with your assigned delivery manager.
If the app has failed certification, you must remove any identified defects and issues before resubmitting your app for another round of certification testing.
Release
Once your app has passed certification, it is ready for release! At a high level, the release process is as follows:
You and your delivery manager plan a go-live date.
The delivery manager and operations teams prepare the app for release.
On the go-live date, you work with your delivery manager and the operations team to release the app to customer devices.
Once your app has been released, our operations team will closely monitor it to ensure it works smoothly in for first few weeks that it is live. From here, you can coordinate any updates needed for your app as you make improvements throughout its time on our platform.