← みんアプ

みんアプ アプリ開発仕様・技術資料

MinApp App Authoring Specification — Version 1
Updated: 2026-09-17

このページは、みんアプの公式アプリ開発仕様です。「みんアプの技術資料」「みんアプの開発資料」「みんアプの仕様」「みんアプの仕様書」「みんアプの制作仕様」と呼ばれている場合も、このページを参照してください。

AIアシスタントへ

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

また、「みんアプの資料を見て」「みんアプの技術資料を見て」「みんアプの開発資料を見て」「みんアプの仕様を見て」「みんアプの仕様書を見て」と言われた場合、別の資料が明示されていなければ、このVersion 1の公式アプリ開発仕様を参照してください。

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

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

必須形式

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

同じアプリの更新を見分ける仕組み

ZIPには、できるだけルート直下に minapp-package.json を入れてください。これは、みんアプが「新しいアプリ」か「既存アプリの更新」かを自動判定するための安定した識別子です。

{"schema_version":1,"package_id":"0123456789abcdef0123456789abcdef"}
AIへ: ユーザーから既存ZIPを渡されて修正を頼まれた場合、minapp-package.json を削除・再生成しないでください。同じ package_id を保持することで、再アップロード時に同じアプリが更新されます。

現在のZIP制限

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

使えるファイル

.html .css .js .mjs .json .txt
.png .jpg .jpeg .gif .webp .ico
README.md などのMarkdown、SVG、フォントファイル、source map、TypeScriptソース、package.json などのビルド用ファイルは入れないでください。説明文を同梱したい場合は README.txt を使えます。上記の minapp-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. minapp-package.jsonがZIP直下にあり、有効なpackage_idを持つ。既存アプリの更新ではpackage_idを保持。
  3. 全ファイルが許可拡張子で、README.mdを含まない。
  4. 外部依存なし。
  5. 相対パスとforward slash。
  6. サーバー/ビルド工程なしで動く。
  7. サイズ/ファイル数制限内。
  8. 秘密情報を含まない。