Manifest
With KaiOS Next. We use PWA standard for the App's manifest. W3C webappmanifest.
KaiOS 3.0 (PWA standard)
If fields don't map in PWA standard, They will be put in b2g_feature
.
Common Fields We Used:
Requires:
name
orshort_name
: stringdescription
: stringlang
: stringid
: stringtheme_color
: stringbackground_color
: stringorientation
: stringstart_url
: stringicons
: Array of Object
Optional:
dir
: stringscope
: stringdisplay
: stringbackground_color
: stringrelated_applications
: Array of Objectprefer_related_applications
: Booleancategories
: Array of Stringsscreenshots
: Array of Stringsshortcuts
: 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 characters.
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.
A language tag RFC 4646 that defines the language you used in the field values of your app manifest.
Please refer to the list below of language identification codes used in the KaiOS system. We strongly suggest to use the same language identification codes throughout to avoid misalignment issues or incorrect results when users change language settings in the system:
af-ZA | Afrikaans |
ar-SA | عربي |
az-Latn-AZ | Azərbaycan |
be-BY | Беларуская |
bg-BG | Български |
bn-IN | বাংলা (IN) |
bn-BD | বাংলা-BD |
bs-BA | Bosanski |
cs-CZ | Česky |
da-DK | Dansk |
de-DE | Deutsch |
el-GR | Ελληνικά |
en-GB | English (GB) |
en-US | English (US) |
es-US | Español (US) |
et-EE | Eesti |
es-ES | Español (ES) |
fa-IR | فارسی (IR) |
fi-FI | Suomi |
fil-PH | Tagalog |
fr-CA | French (CA) |
fr-FR | Français (FR) |
he-IL | עברית |
hi-HI | हिन्दी |
hr-HR | Hrvatski |
hu-HU | Magyar |
hy-AM | Հայերեն |
id-ID | Bahasa Indonesia |
is-IS | Íslenska |
it-IT | Italiano |
It-LT | Lietuvių |
ka-GE | ქართული |
kk-KZ | Қазақша |
km-KH | ភាសាខ្មែរ |
lo-LA | ລາວ |
lv-LV | Latviešu |
mk-MK | Македонски |
mo-RO | Молдовеняскэ |
ms-MY | Melayu |
nb-NO | Norsk (bokmål) |
ne-IN | नेपाली |
nl-NL | Nederlands |
pl-PL | Polski |
ps-AF | پښتو |
pt-BR | Português (do Brasil) |
pt-PT | Português (Europeu) |
ro-RO | Română |
ru-RU | Русский |
si-LK | සිංහල |
sk-SK | Slovenčina |
sl-SI | Slovenščina |
sq-AL | Shqip |
sr-Latn-CS | Српски/Srpski |
sv-SE | Svenska |
sw-ZA | Kiswahili |
ta-IN | தமிழ் |
th-TH | ไทย |
tr-TR | Türkçe |
uk-UA | Українська |
ur-PK | اردو |
uz-Cyrl-UZ | O'zbek |
vi-VN | Tiếng Việt |
xh-ZA | isiXhosa |
zh-CN | 中文 (简体) |
zh-HK | 中文-HK |
zh-TW | 中文-TW |
zu-ZA | isiZulu |
as-IN | অসমীয়া |
und-bod | बोड़ो |
doi-IN | डोगरी |
gu-IN | ગુજરાતી |
kn-IN | ಕನ್ನಡ |
ks-IN | کأشُر |
kok-IN | कोंकणी |
mai-IN | मैथिली |
ml-IN | മലയാളം |
mni-IN | মণিপুরী |
mr-IN | मराठी |
or-IN | ଓଡ଼ିଆ |
pa-IN | ਪੰਜਾਬੀ |
sa-IN | संस्कृत |
sat-IN | ᱥᱟᱱᱛᱟᱞᱤ |
sd-IN | सिन्धी |
te-IN | తెలుగు |
ko-KR | 한국어" |
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",
"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"
}
}
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"
}
}
More Information
For more information. You can reference MDN Web app manifests,
web.dev Add a web manifest and Web App Manifest Specification.