Manifest Change
With KaiOS Next. We use PWA standard for the App's manifest. W3C webappmanifest.
Next (PWA standard)
If fields don't map in PWA standard, They will be put in b2g_feature
.
Common Fields We Used:
Requires:
- name or short_name: string
- description: string
- lang: string
- theme_color: string
- background_color: string
- orientation: string
- start_url: string
- icons: Array of Object
- id: string
Optional:
- dir: string
- scope: string
- display: string
- background_color: string
- related_applications: Array of Object
- prefer_related_applications: Boolean
- categories: Array of Strings
- screenshots: Array of Strings
- shortcuts: Array of Objects
name / short_name
You must provide at least name
or short_name
. If both are provided:
name
is used when the app is installed.short_name
is used on the user's home screen, or other places where space may be limited.
short_name should not be longer than 12 character.
icons
Every object have 3 fields:
src
image pathtype
image type. ex: image/pngsizes
image size. ex: 192x192
// MOZ:
"icons": {โโ
"512": "/img/icon-512.png",
"128": "/img/icon-128.png"
}
// PWA:
"icons": [
{
"src": "/images/icons-192.png",
"type": "image/png",
"sizes": "192x192"
}
]
start_url
- is equal to MOZ field:
launch_path
background_color
the same as MOZ
This property is used on the splash screen when the application is first launch on mobile.
display
is equal to MOZ field: fullscreen You can customize what browser UI is shown when your app is launched. For example, you can hide the address bar and browser chrome. Game can even be made to launch full screen.
value:
fullscreen
standalone
minimal-ui
browser (default)
theme_color
the same as MOZ
orientation
the same as MOZ, but the value is a little bit different.
any
natural
landscape
landscape-primary
landscape-secondary
portrait
portrait-primary
portrait-secondary
lang
is equal to MOZ field default_locale
A default lang manifest file e.g.manifest.en-US with the required fields is required.
id
The id uniquely identifies the app's update url. If dev wants to use same url as 2.5 app, please clone same value from 2.5 manifest name field.
For 2.5 family, KaiOS store uses manifest url
to install/update app, and the manifest url is generated by 2.5 manifest name
field.
For 3.0 family, KaiOS store uses update url
instead of manifest url
, and the update url is generated by 3.0 webmanifest.manifest id
field.
2.5 manifest.webapp
{
"name": "KaiWeather",
"categories": ["utilities"],
"version": "1.4.8",
"description":
"Stay up-to-date with reliable weather forecasts and conditions wherever you are, at any time, with alerts and reports from the most trusted source in weather.",
"subtitle": "Get the latest weather updates",
"launch_path": "/index.html",
"type": "web",
"origin": "app://kaios.kaiweather.net",
"permissions": {
"geolocation": {},
"mobiledata": {},
"wifidata": {}
},
"theme_color": "#6054EF",
"default_locale": "en-US",
"locales": {
"en-US": {
"name": "KaiWeather",
"description":
"Stay up-to-date with reliable weather forecasts and conditions wherever you are, at any time, with alerts and reports from the most trusted source in weather.",
"subtitle": "Get the latest weather updates"
}
},
"fullscreen": false,
"developer": {
"name": "KaiOS",
"url": "http://kaiostech.com"
},
"icons": {
"56": "/resources/icons/weather_56.png",
"112": "/resources/icons/weather_112.png"
},
"orientation": "default",
"chrome": {
"statusbar": "overlap"
}
}
3.0 manifest.webmanifest
{
"lang": "en-US",
"name": "KaiWeather",
"id": "KaiWeather",
"short_name": "KaiWeather",
"categories": ["utilities"],
"description":
"Stay up-to-date with reliable weather forecasts and conditions wherever you are, at any time, with alerts and reports from the most trusted source in weather.",
"icons": [
{
"src": "/resources/icons/weather_56.png",
"type": "image/png",
"sizes": "56x56"
},
{
"src": "/resources/icons/weather_112.png",
"type": "image/png",
"sizes": "112x112"
}
],
"start_url": "/index.html",
"theme_color": "#ffffff",
"orientation": "natural",
"b2g_features": {
"version": "1.0",
"subtitle": "Get the latest weather updates",
"permissions": {
"geolocation": {}
},
"origin": "kaios-weather",
"developer": {
"name": "KaiOS",
"url": "http://kaiostech.com"
},
"chrome": {
"statusbar": "overlap"
},
"focus_color": "#6054EF"
}
}
3.0 manifest.en-US.webmanifest
{
"lang": "en-US",
"name": "KaiWeather",
"id": "KaiWeather",
"short_name": "KaiWeather",
"categories": ["utilities"],
"description":
"Stay up-to-date with reliable weather forecasts and conditions wherever you are, at any time, with alerts and reports from the most trusted source in weather.",
"icons": [
{
"src": "/resources/icons/weather_56.png",
"type": "image/png",
"sizes": "56x56"
},
{
"src": "/resources/icons/weather_112.png",
"type": "image/png",
"sizes": "112x112"
}
],
"start_url": "/index.html",
"theme_color": "#ffffff",
"orientation": "natural",
"b2g_features": {
"version": "1.0",
"core": true,
"subtitle": "Get the latest weather updates",
"permissions": {
"geolocation": {}
},
"origin": "kaios-weather",
"developer": {
"name": "KaiOS",
"url": "http://kaiostech.com"
},
"chrome": {
"statusbar": "overlap"
},
"focus_color": "#6054EF"
}
}
Manifest Convert from KaiOS2.5 to KaiOS3.0
Upload your 2.5 version manifest and download 3.0 new manifest via Manifest Convertor
Note: "The
origin
path andid
needs to be manually updated by developer. It won't be automatically migrated.