Developer FAQ

  1. How to get started? 
    You can start by visiting the KaiOS Developer Portal, where you’ll learn more about KaiOS, UI guidelines, and best practices; how to establish a developer environment, and access to the simulator, which shows how your app will perform on KaiOS.

  2. What knowledge will I need, in order to develop apps for the KaiStore? 
    KaiOS apps are based on web technologies – HTML, CSS, and JavaScript, and are run by Gecko runtime. If you have written a web page you already know the basics. 

  3. What development tools are available for KaiOS? 
    We have a KaiOS Simulator available via the developer portal, for Linux O.S. You can use the simulator for app development, debugging, checking KaiAds integration, etc. It’s important to know that the simulator doesn’t support device hardware functions such as Bluetooth or Camera 

  4. What’s the Difference between a Native and Hosted app? 
    Native apps are submitted as a zip file, while hosted apps are hosted on your server and only require the submission of the manifest.

  5. How do I bring my Progressive Web App (PWA) to KaiOS? 
    We are exploring the integration of PWA to the KaiOS ecosystem. As the project is a work in progress, please get in touch with Developer Support (developersupport@kaiostech.com) to learn about the current status of the projects, documents, and tools that would be beneficial to you. 

  6. How do I create a Privileged or Certified app? 
    If your app needs device API permission, the app type in the manifest should be Privileged or Certified depending on the API you need to access. You can learn more about this, here.  
    User Data security is crucial to our mission and we go an extra mile to protect it. Therefore, in order to have a Privileged or Certified app, you must provide an explanation for which device APIs you need access to and why, in the “Known issues” segment of the submission portal.

  7. Which apps are already live in the KaiStore? 
    You can learn about the apps available on the KaiStore, here. 
    If you’d like to learn more about the types of apps to develop or are interested in a recommendation from our team, you can reach out to developer support, (developersupport@kaiostech.com). 

  8. Which devices are powered by KaiOS? 
    You can learn more about the devices powered by KaiOS, here

  9. How does the release of global apps work, in comparison to regional apps? 
    While we encourage all apps be released globally for all KaiOS users, we have the functionality to implement regional apps that are curated for a specific location. You can select the regions where you want to release the app while submitting the app via the submission portal.

  10. What are the recommended frameworks? 
    Though most of the JS & HTML5 frameworks are compatible with KaiOS devices, we recommend frameworks with low memory consumption, including: Inferno, Construct, Phaser, Stevia.

  11. Can you tell me about KaiAds? 
    KaiAds is KaiOS’s in-house advertising SDK developed specifically for the small screen KaiOS devices. Thus, giving optimum user experience as well as best ecpm for the publishers/developers. 

  12. How do I integrate KaiAds into my app? 
    Visit the KaiAds site to learn about the SDK and find easy to follow steps for integration.

  13. What are the current ad formats? 
    We currently serve full screen and banner ads. 
    We are working with big demand partners such as Google and Facebook to increase our ad inventory and add additional support for video & audio ads.

  14. What is the Certified Developer Program? 
    This is a  platform for developers to work on outsourced projects for companies that have a limited resources. 
    For a studio to become a Certified Developer, it needs to have at least 6 apps live on the Kaistore. We then recommend your services to interested parties based on your expertise and project ‘fit’.

  15. Where can I get a debug-device? 
    You can reach out to developer support (developersupport@kaiostech.com), if you are interested in receiving a user-debug enabled device. 

  16. What is the average size of an app on the KaiStore? 
    The average size of an app on the KaiStore is 1-2 MB, but your app can be as big as 6 MB. 
    To reduce the size of the app, try compressing the assets such as app icons, marketing banners, mp3 files, etc. 

  17. What is the process for updating an app? 
    After your app is published, you can update the app by sending change logs of the app update to developer support (developersupport@kaiostech.com) or mention it in “known issues” when submitting the app. 
    Change logs help our QA team to understand what they need to test. Thus improving the efficiency and reducing turnaround time. 
    App updates have lower priority then new app QA, thus we advise you to have a thorough inspection of your app before submission. 
    You can also change the ‘type’ of app during the app update. Make sure to inform us the permissions you require for privileged or certified apps

  18. What is the QA process? 
    Once you have developed your app, we would recommend you to go through the checklist   before you submit the app. This is to ensure that you have followed all the guidelines, and thus reduce the chances of app QA getting rejected. 

  19. Do I need to pay for app QA? 
    We want any and every one to be able to develop apps with low barrier. As developer outreach initiatives, we do not charge for Developer account Registration, App QA, App storing fee, etc. 

  20. What is the business model of KaiOS? 
    In our mission to reach the next billion users, we work closely with our partners to offer various subsidies to reduce the cost of the device and pass the benefits to our users. Therefore, we encourage the developers to monetize their apps on our Store.
     
  21. How do I monetize my app  on the KaiStore? 
    We recommend developers monetize their apps on the KaiStore, which provides compensation but also provides better app placement, priority in QA, priority in Technical assistance, and on-demand feedback and recommendations for your app. 
    Currently, the only option available to KaiOS developers is advertisement, however we’re working on KaiPay which would enabling direct carrier billing.

  22. How does app promotion work on the KaiStore? 
    The most recent apps are shown at the top of the KaiStore, however key apps and apps from certified partners may get a higher priority within the store.
    There is the potential to get your app at the top of the store or on the recommended tab with paid promotion, pricing to be determined. 

  23. How can I test the app on an actual KaiOS device? 
    For anyone who has an app with KaiStore (non-Jio), follow the IMEI binding process. 

  24. When do developers get paid? 
    Monthly bank transfer payments occur after the cumulative amount crosses $500 USD. 

  25. What should I do if my app is rejected? 
    First check the UI design guidelines, here.  
    The app release could also be on hold if there is performance issue on the 256MB devices. We want our global users with 256 MB devices to not miss out on your exciting apps. We would appreciate if you could go an extra mile to optimize your app and reach to all of our users. 

  26. How do I ensure my app is killed on exit, and not running in the background? 
    Pause the game before calling the getKaiAd({ function. And resume it once you receive the ad close response.ad.on(‘close’, () => console.log(‘close event’) )  

  27. What are the most common errors? 
  • Manifest Error, when uploading the file
    Go to root folder of your app and select all the contents of the app. Right click and compress all the contents to create a zip file.
     
  • More than 2 icons submitted
    You have submitted too many icons. We only need 2 app icons, 56px and 112px 
  • Marketing Banner missing 

  • Size of the icon 
    Your icon may be too large. You can learn more about this process via the instructions for launch icons, here. 

  • KaiAds Publisher ID missing
    Make sure to add your KaiAds publisher ID in the app
  • The app manifest is missing Subtitles & App description
    A good description, improves the attractiveness of your app and increases the apps overall downloads. Below are some examples for your reference

App Name: Birdy
Subtitle: Birdy’s adventures through the jungle 
Descriptions: Keep your Birdy safe by guiding him through the jungle, dodging the pipes that pop up along the way. Stay for as long as possible, in order to obtain the new high score! 

App Name: News
Subtitle: a personalized quality news experience
Description: KaiNews brings a personalized quality news experience. Choose your region and language to read the best coverage of current events in different categories such as Business, Entertainment, Technology, Science, etc.

 

  • Menu bar is white on specific devices 
    You could add a top menu bar of invisible color on your app
    <head> <meta name=”theme-color” content=”#20407b”>
    or launch the app on the fullscreen mode.
  • Instructions do not accurately represent the app.
    If your game instructions read “Click center key to start the game”, only the center key should start the game and other key should not take any actions.
  • App sound continue playing when device is locked and/or display is off.
    Many developers forget to monitor the visibility of their Apps, and Apps background music still plays when Apps are hidden, for example, stay in background, or screen display off, or screen locked. Add an event listener on “visibilitychange” and from there if it is not visible, mute the game. If it is visible then check if it has focus. If it has the focus then unmute, else continuously check if it gained focus under these conditions and then unmute it.
    Click here to lean how it could be achieved.

     

 

If you have any other queries, don’t hesitate to reach our developer support team at developersupport@kaiostech.com