Learn how to structure and package your BooApp for submission.
A BooApp package is a zip file containing all your app files. The structure must follow this layout:
my-booapp.zip
├── booapp.json # Manifest (required)
├── index.html # Entry point (required)
├── assets/
│ ├── icon.png # 512×512 app icon (required)
│ ├── screenshot-1.png # At least 1 screenshot (required)
│ ├── styles.css
│ └── app.js
└── vendor/
└── booapp-sdk.min.js # Optional, can use CDNRequirements
booapp.json must be at the root of the zipmainThe manifest file describes your BooApp and its configuration. All paths are relative to the zip root.
{
"name": "My Pet Tracker",
"slug": "my-pet-tracker",
"version": "1.0.0",
"description": "Track your pet's daily activities",
"author": {
"name": "Developer Name",
"email": "dev@example.com"
},
"main": "index.html",
"icon": "assets/icon.png",
"category": "health",
"permissions": ["auth", "pet_info", "camera", "location"],
"minBridgeVersion": 1,
"display": {
"orientation": "portrait",
"backgroundColor": "#FFFFFF",
"fullscreen": false
},
"navigation": {
"showBackButton": true,
"title": "My Pet Tracker"
},
"privacy": {
"dataCollection": ["user_profile", "pet_data"],
"privacyPolicyUrl": "https://example.com/privacy"
}
}| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Display name of your BooApp (2-30 characters) |
slug | string | Yes | URL-safe unique identifier (lowercase, hyphens only) |
version | string | Yes | Semantic version (e.g. "1.0.0") |
description | string | Yes | Short description (max 120 characters) |
main | string | Yes | Path to the entry HTML file (default: "index.html") |
icon | string | Yes | Path to the app icon (512×512 PNG) |
category | string | Yes | App category (health, social, tools, etc.) |
permissions | string[] | Yes | Required permission groups |
minBridgeVersion | number | Yes | Minimum bridge protocol version (current: 1) |
| Parameter | Type | Required | Description |
|---|---|---|---|
author | { name, email } | No | Developer contact info |
display | DisplayConfig | No | Display settings (orientation, background, fullscreen) |
navigation | NavConfig | No | Navigation bar settings (title, back button, colors) |
privacy | PrivacyConfig | No | Privacy declarations (data collection, policy URL) |
{
"display": {
"orientation": "portrait", // "portrait" | "landscape" | "any"
"backgroundColor": "#FFFFFF", // Background color while loading
"fullscreen": false, // Hide status bar
"statusBarStyle": "dark" // "light" | "dark" | "auto"
}
}{
"navigation": {
"showBackButton": true, // Show back arrow
"showTitle": true, // Show title in nav bar
"title": "My Pet Tracker", // Title text
"titleColor": "#000000", // Title text color
"backgroundColor": "#FFFFFF" // Nav bar background
}
}{
"privacy": {
"dataCollection": ["user_profile", "pet_data", "location"],
"dataSharing": [],
"dataRetention": "30 days",
"privacyPolicyUrl": "https://example.com/privacy",
"termsOfServiceUrl": "https://example.com/terms"
}
}Best Practice