دليل المطوّر

كل ما تحتاجه لبناء نسخة المتاجر، ربط الإعلانات، وإضافة تطبيق جديد.

1. بنية المشروع

المسارالوظيفة
src/registry.jsالسجل المركزي لكل التطبيقات (الاسم، التصنيف، الوصف)
src/assets/css/app.cssنظام التصميم المشترك (ألوان، مكوّنات، استجابة)
src/assets/js/core.jsالنواة: السمة، التخزين، الإعلانات، التثبيت، المساعد الذكي
src/apps/<slug>.body.htmlجسم كل تطبيق (المحتوى فقط)
src/apps/<slug>.jsمنطق كل تطبيق
src/assets/js/icons.jsنظام الأيقونات (SVG) ومصدّر PNG
tools/build.mjsيبني صفحات التطبيقات والنسخة المستقلة
tools/export-icons.mjsيصدّر أيقونات PNG للمتاجر
native/إعداد Capacitor وبناء Android وiOS

2. بناء الحزمة

npm run build  # يبني dist/ و dist-standalone/
npm run icons  # يصدّر أيقونات PNG
npm run qa  # يفحص كل الصفحات في متصفح حقيقي

3. ربط الإعلانات

كل معرّفات الإعلانات في ملف واحد: tools/ad-config.js. انسخه إلى src/assets/js/ad-config.js ثم املأ:

window.AD_CONFIG = {
  adsenseClient: 'ca-pub-XXXXXXXXXXXXXXXX',
  adsenseSlots: { banner: '1234567890', rectangle: '0987654321', interstitial: '1122334455' },
  admobAppId: 'ca-app-pub-3940256099942544~XXXXXXX',
  admobUnits: { banner: 'ca-app-pub-.../banner', interstitial: 'ca-app-pub-.../interstitial', rewarded: 'ca-app-pub-.../rewarded' }
};

  • في نسخة الويب يُحمّل AdSense تلقائياً عند إدخال المعرّف.
  • في نسخة التطبيق الأصلي يُستدعى جسر AdMob عبر window.AndroidAdMob.
  • أماكن الإعلانات معرّفة في الصفحة عبر data-ad-slot="banner|rectangle|interstitial".

4. إضافة تطبيق جديد

  1. أنشئ src/apps/<slug>.body.html وsrc/apps/<slug>.js.
  2. أضف مدخلاً في src/registry.js (الاسم، التصنيف، الوصف، الوسوم).
  3. أضف أيقونة SVG في src/assets/js/icons.js ضمن APP_ICON_GLYPHS ولونها في APP_ICON_PALETTE.
  4. نفّذ npm run build ثم npm run qa.

5. النشر على المتاجر

المتجرالأمرالناتج
Google Playnpm run android:buildapp-release.aab
App Storenpm run ios:buildApp.ipa
Amazon Appstorenpm run android:buildapp-release.apk

نصوص الإدراج الجاهزة (العنوان والوصف وكلمات المفتاح) موجودة في مجلد store/.

6. المساعد الذكي

المساعد في core.js يعمل محلياً عبر مطابقة نوايا عربية. لربطه بمحرّك خارجي (مثل واجهة برمجية للذكاء الاصطناعي) أضف في ad-config.js:

window.AI_CONFIG = { endpoint: 'https://your-api/chat', key: 'YOUR_KEY' };

مساحة إعلانية 320×50