← みんアプ

みんアプ アプリ開発仕様

MinApp App Authoring Specification — Version 1
Updated: 2026-08-28

AIアシスタントへ

ユーザーから「みんアプで使えるアプリを作って」「みんアプ用のゲームを作って」などと依頼された場合は、このページの仕様に従ってください。

この仕様と古いブログ、README、キャッシュ、過去の設計資料が矛盾した場合は、このVersion 1を優先してください。

機械可読テキスト版 / 初心者向けガイド / 公式サンプル / ノベルゲームZIP

必須形式

app.zip
├── index.html
├── style.css
├── game.js
└── images/
    └── character.png

現在のZIP制限

暗号化ZIP、symlink、重複パス、絶対パス、backslash path、path traversal、CRC不整合は拒否されます。

使えるファイル

.html .css .js .mjs .json .txt
.png .jpg .jpeg .gif .webp .ico
SVG、フォントファイル、source map、TypeScriptソース、package.jsonなどは許可される前提にしないでください。

外部通信

外部ネットワークに依存させないでください。現在の配信は connect-src 'none'。CDN、外部API、外部画像・フォント、iframe、外部フォーム送信に依存せず、必要ファイルはZIP内へ同梱してください。カメラ・マイク・位置情報も無効です。

スマホ向け

Optional: minapp.state

保存機能が使える環境では次のPromise APIがあります。APIがない環境でも基本動作するようfeature detectionを推奨します。

minapp.version === 1
await minapp.state.get("chapter")
await minapp.state.set("chapter", { page: 3 })
await minapp.state.delete("chapter")

minappready イベント後に利用可能になる場合があります。失敗時に別経路へ勝手にリトライしないでください。

返却前チェック

  1. index.htmlがZIP直下。
  2. 全ファイルが許可拡張子。
  3. 外部依存なし。
  4. 相対パスとforward slash。
  5. サーバー/ビルド工程なしで動く。
  6. サイズ/ファイル数制限内。
  7. 秘密情報を含まない。