Шаблон приложения «Полноэкранный Canvas»
Заготовка canvas во весь экран для игр: чёткая на любом экране, с вводом касаниями и игровым циклом.
Это шаблон в работе. Функции телефона, такие как камера, вибрация и уведомления, работают в приложении, которое вы соберёте.
Функции телефона, которые использует этот шаблон
Они работают через JavaScript-мост FreeApp, который есть в каждом приложении, собранном в Free HTML to APK. В обычном браузере шаблон тоже работает, просто эти вызовы ничего не делают.
Скрыть системные панели (полноэкранный режим).
Не выключать экран.
Одиночная вибрация (по умолчанию 50 мс) или шаблон [пауза, вибрация, пауза, вибрация…].
Как шаблон их вызывает
window.addEventListener('freeappready', () => {
FreeApp.fullscreen(true);
FreeApp.orientation('sensor_landscape');
FreeApp.keepAwake(true);
});
canvas.addEventListener('pointerdown', e => {
if (window.FreeApp) FreeApp.vibrate(15);
});
Сделайте его своим с помощью ИИ
Скопируйте этот промпт в ChatGPT, Gemini или Claude, замените идею на свою и вставьте ответ обратно в редактор. Он уже объясняет ИИ оболочку приложения и функции телефона.
Показать промпт для ИИ
Build a single-file mobile web app (index.html with inline CSS/JS) for Android WebView.
The app: Full-screen Canvas — a full-screen canvas with a devicePixelRatio-aware render loop and touch/pointer input. Edge-to-edge canvas starter for games: crisp on any screen, touch input, game loop.
Requirements:
- Mobile-first, touch-friendly UI (min 44px tap targets), works in portrait, supports light and dark mode.
- Use <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover"> and pad for env(safe-area-inset-*).
- Must work fully offline: no CDN or external scripts, fonts or images; persist data in localStorage.
The page runs inside an Android app that injects a native bridge as window.FreeApp. Available APIs:
- FreeApp.fullscreen(on: boolean): void — hide system bars (immersive)
- FreeApp.orientation(value: 'portrait' | 'landscape' | 'sensor_portrait' | 'sensor_landscape' | 'sensor' | 'unspecified'): void
- FreeApp.keepAwake(on: boolean): void — keep the screen on
- FreeApp.vibrate(ms?: number | number[]): void — one-shot buzz (default 50 ms) or an [off, on, off, on…] pattern
Rules for the bridge:
- Always guard calls with `window.FreeApp &&` (or `if (window.FreeApp) { … }`) and provide a browser fallback so the page also works in a normal browser.
- The bridge may be injected after your script runs: do native setup inside `window.addEventListener('freeappready', …)` and also run it immediately if window.FreeApp already exists.
- Do not use alert/confirm for normal feedback; prefer FreeApp.toast when available.
Return the complete index.html in one code block.
My idea: [DESCRIBE YOUR APP IDEA HERE]Превратите его в Android-приложение
- Нажмите Редактировать и собрать онлайн. Шаблон откроется в онлайн-редакторе.
- Измените текст, цвета и код, затем выберите название приложения, иконку и имя пакета.
- Соберите. Вы получите подписанный APK для установки и AAB для Google Play — бесплатно, без аккаунта и без водяного знака.
✏️ Редактировать и собрать онлайн СКАЧАЙТЕ БЕСПЛАТНО ВGoogle Play
Другие шаблоны в категории «Стартовые»
Пустое приложение
Чистая мобильная заготовка с безопасными зонами, цветом темы и хуком готовности FreeApp.
Нативные функции
Все API FreeApp: вибрация, фонарик, уведомления, обмен, батарея, TTS и другие.
Визитка
Одностраничный профиль со звонком, письмом и обменом в одно касание.
Демо рекламы
Баннерная, полноэкранная и вознаграждаемая реклама AdMob с балансом монет и живым журналом событий.