قالب تطبيق الميزات الأصلية
كل واجهات FreeApp API: الاهتزاز والمصباح والإشعارات والمشاركة والبطارية وTTS والمزيد.
هذا هو القالب يعمل مباشرةً. ميزات الهاتف مثل الكاميرا والاهتزاز والإشعارات تعمل في التطبيق الذي تنشئه.
ميزات الهاتف التي يستخدمها هذا القالب
تأتي هذه من جسر FreeApp JavaScript المضمَّن في كل تطبيق يُنشأ باستخدام Free HTML to APK. في المتصفح العادي يظل القالب يعمل، لكن هذه الاستدعاءات ببساطة لا تفعل شيئًا.
رسالة toast أصلية قصيرة.
اهتزازة واحدة (الافتراضي 50 مللي ثانية) أو نمط [إيقاف، تشغيل، إيقاف، تشغيل…].
نافذة المشاركة في Android.
النسخ إلى الحافظة.
المصباح، يُرجع false إذا لم يكن هناك فلاش.
أبقِ الشاشة قيد التشغيل.
من 0.0 إلى 1.0 لهذه النافذة، والقيمة السالبة تعيد سطوع النظام.
مثال: '#2563EB'.
أخفِ أشرطة النظام (وضع الانغماس).
إشعار محلي فوري (يطلب الإذن على Android 13 وما بعده).
تحويل النص إلى كلام أصلي، اللغة مثل 'en-US'.
اطبع الصفحة / احفظها بصيغة PDF.
FreeApp.store.set() FreeApp.store.get()
تخزين أصلي دائم بنظام مفتاح/قيمة (JSON).
تحفظ في التنزيلات؛ FreeApp.on('saved', d => …) يعطي {name, ok, location}.
افتح صفحة إعدادات النظام لهذا التطبيق.
كيف يستدعيها القالب
if (window.FreeApp) {
FreeApp.toast('Battery: ' + FreeApp.battery().level + '%');
FreeApp.vibrate([0, 80, 60, 80]);
FreeApp.torch(true);
FreeApp.speak('Hello from Free HTML to APK');
FreeApp.notify('Demo', 'Native notification');
}
اجعله خاصًا بك بالذكاء الاصطناعي
انسخ هذا الأمر إلى ChatGPT أو Gemini أو Claude، وغيّر الفكرة إلى فكرتك، ثم الصق الإجابة في المحرر. فهو يشرح للذكاء الاصطناعي هيكل التطبيق وميزات الهاتف مسبقًا.
عرض أمر الذكاء الاصطناعي
Build a single-file mobile web app (index.html with inline CSS/JS) for Android WebView.
The app: Native Features — a showcase grid of buttons that each demonstrate one native feature. Every FreeApp API: vibrate, torch, notify, share, battery, TTS and more.
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.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
- FreeApp.share(text: string, title?: string): void — Android share sheet
- FreeApp.copy(text: string): void — copy to clipboard
- FreeApp.device(): {manufacturer, model, brand, androidVersion, sdkInt, language, screenWidth, screenHeight, density, isTablet, darkMode}
- FreeApp.app(): {packageName, versionName, versionCode, name, firstInstall}
- FreeApp.battery(): {level: number /* 0-100 */, charging: boolean}
- FreeApp.online(): boolean
- FreeApp.network(): 'wifi' | 'cellular' | 'ethernet' | 'vpn' | 'other' | 'none' | 'unknown'
- FreeApp.torch(on: boolean): boolean — flashlight, returns false if no flash
- FreeApp.keepAwake(on: boolean): void — keep the screen on
- FreeApp.brightness(level: number): void — 0.0–1.0 for this window, negative restores system brightness
- FreeApp.statusBar(hexColor: string): void — e.g. '#2563EB'
- FreeApp.fullscreen(on: boolean): void — hide system bars (immersive)
- FreeApp.orientation(value: 'portrait' | 'landscape' | 'sensor_portrait' | 'sensor_landscape' | 'sensor' | 'unspecified'): void
- FreeApp.notify(title: string, body?: string): void — instant local notification (asks permission on Android 13+)
- FreeApp.speak(text: string, lang?: string): void — native text-to-speech, lang like 'en-US'
- FreeApp.print(): void — print / save the page as PDF
- FreeApp.store.set(key: string, value: any): void — persistent native key/value (JSON)
- FreeApp.store.get(key: string): any | null
- FreeApp.saveFile(name: string, mime: string, data: string /* base64 or data: URL */ | Blob): Promise<boolean> — saves to Downloads; FreeApp.on('saved', d => …) gives {name, ok, location}
- FreeApp.requestPermission(name: 'camera' | 'microphone' | 'location' | 'notifications'): Promise<boolean>
- FreeApp.openSettings(): void — open this app's system settings page
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، مجانًا، بدون حساب وبدون علامة مائية.
المزيد من قوالب البدايات
تطبيق فارغ
قالب جوال نظيف مع المناطق الآمنة ولون السمة وخطاف جاهزية FreeApp.
Canvas بملء الشاشة
قالب canvas بملء الشاشة للألعاب: واضح على أي شاشة، مع إدخال باللمس وحلقة اللعبة.
بطاقة عمل
ملف شخصي من صفحة واحدة مع الاتصال والبريد والمشاركة بلمسة.
عرض الإعلانات
إعلانات AdMob البانر والبينية والمكافأة مع رصيد عملات وسجل أحداث مباشر.