HTML para APK grátis
← Todos os modelos
🔤
Ganhar dinheiro

Modelo de app Quebra-cabeça de palavras

Jogo de desembaralhar palavras com anúncios de banner e intersticiais, além de uma compra única de Remover anúncios.

Ganhar dinheiroPrecisa de internet4 recursos do celular

✏️ Editar e compilar online Abrir em tela cheia

Este é o modelo rodando ao vivo. Recursos do celular, como câmera, vibração e notificações, funcionam no app que você criar.

Recursos do celular que este modelo usa

Eles vêm da ponte JavaScript do FreeApp, que todo app criado com o Free HTML to APK inclui. Em um navegador comum, o modelo continua funcionando e as chamadas simplesmente não fazem nada.

Compras no app

FreeApp.billing.*

Anúncios do AdMob

FreeApp.ads.*

Mensagens toast

FreeApp.toast()

Toast nativo curto.

Vibração

FreeApp.vibrate()

Uma vibração única (padrão 50 ms) ou um padrão [desligado, ligado, desligado, ligado…].

Como o modelo os chama

let adFree = FreeApp.billing.isAdFree();
if (!adFree) FreeApp.ads.showBanner('bottom');
FreeApp.billing.on(e => { if (e.event === 'owned' && FreeApp.billing.isAdFree()) FreeApp.ads.hideBanner(); });

Deixe com a sua cara usando IA

Copie este prompt no ChatGPT, Gemini ou Claude, troque a ideia pela sua e cole a resposta de volta no editor. Ele já explica para a IA a estrutura do app e os recursos do celular.

Mostrar o prompt para a IA
Build a single-file mobile web app (index.html with inline CSS/JS) for Android WebView.

The app: Word Puzzle — an unscramble-the-word game with a banner and an interstitial every few rounds, and a one-time remove_ads purchase that hides all ads and shows "Ad-free ✓". Unscramble-the-word game with banner and interstitial ads, plus a one-time Remove ads purchase.

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-*).
- You may load libraries from a CDN (jsDelivr/unpkg); show a friendly message if the device is offline.

The page runs inside an Android app that injects a native bridge as window.FreeApp. Available APIs:
- FreeApp.billing.{available, products(ids: string[]): Promise<[{id, title, description, type: 'inapp'|'subs', price /* formatted, local currency */, priceMicros, currency, period?, offers?: [{basePlan, offer, tags, phases: [{price, priceMicros, currency, period, cycles}]}], owned, consumable}]>, buy(id, {offer?}): Promise<{id, products, token, orderId, quantity, autoRenewing, alreadyOwned?}> (rejects with err.code: 'cancelled' | 'pending' | 'network' | 'busy' | 'unavailable' | 'developer_error' | 'not_found' | 'already_owned' | 'error'), restore(): Promise<{purchases, owned}>, consume(idOrToken), owned(): string[], isOwned(id): boolean, isAdFree(): boolean, manageSubscriptions(id?), on(cb: (e: {event: 'purchase'|'pending'|'owned'|'failed'|'unavailable', …}) => void)} — Google Play Billing; only present when Purchases is on in the builder. Unlock non-consumables from isOwned()/owned() at startup plus the 'owned' and 'purchase' events (not only in the click handler); grant consumables only in the 'purchase' event, deduplicated by e.token saved in localStorage; use buy()'s promise only for UI; show prices from products(), never hard-coded; say "Payment pending" on 'pending', stay silent on 'cancelled'; always offer a Restore purchases button and, for subscriptions, a Manage subscription link (manageSubscriptions); in a normal browser simulate purchases with a demo store
- FreeApp.ads.{loadBanner(unit?, pos?), showBanner(pos?: 'top'|'bottom'), hideBanner(), loadInterstitial(), showInterstitial(), isInterstitialLoaded(), loadRewarded(), isRewardedLoaded(), showRewarded(): Promise<{amount, type}>, on(cb: (e: {event, message?}) => void)} — AdMob; only present when ads are enabled in the builder
- FreeApp.toast(message: string): void — short native toast
- 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]

Transforme em um app Android

  1. Toque em Editar e compilar online. O modelo abre no editor online.
  2. Mude o texto, as cores e o código e depois escolha um nome de app, um ícone e um nome do pacote.
  3. Compile. Você recebe um APK assinado para instalar e um AAB para o Google Play, grátis, sem conta e sem marca d'água.

✏️ Editar e compilar online BAIXE GRÁTIS NOGoogle Play