انتقل إلى المحتوى
TAQNIX
وحدات Odooإضافات ووردبريسقوالب ووردبريسقوالب Shopifyقوالب التطبيقاتالسكربتات والأدواتالمدونةبِع على TAQNIX

توثيق تطبيق جوال لووكومرس

دليل خطوة بخطوة للجميع دون حاجة إلى برمجة: أعدّ متجرك، وصمّم التطبيق، وابنِ تطبيق أندرويد عبر الإنترنت. وللمطوّرين فصلا الشيفرة المصدرية وREST API.

يشرح الإصدار 1.0.2حُدّث في 23 أكتوبر 2026

ابدأ من هنا

بكلمات بسيطة: يمنح هذا المنتج متجرك الإلكتروني تطبيق تسوّق للجوال خاصًا به على هواتف أندرويد وآيفون. يثبّته عملاؤك، ويتصفحون منتجاتك، ويضيفون إلى السلة، ويدفعون، ويتابعون طلباتهم. وتدير كل شيء من لوحة تحكم WordPress المعتادة.
التطبيق يعمل على هاتف: الشاشة الرئيسية وقائمة المنتجات وصفحة الحساب.
التطبيق يعمل على هاتف: الشاشة الرئيسية وقائمة المنتجات وصفحة الحساب.

ما الذي اشتريته: ثلاثة أجزاء تعمل معًا

الجزءما هومن يحتاجه
1. الإضافة
mobile-app-for-woocommerce-plugin.zip
تُثبَّت على متجر WordPress الخاص بك. تتيح لك تصميم الشاشة الرئيسية للتطبيق، واختيار الألوان وخيارات تسجيل الدخول، وإرسال الإشعارات، وبناء التطبيق.الجميع
2. أداة بناء التطبيق عبر الإنترنت (App Builder)
(تبويب داخل الإضافة)
تنشئ لك ملف تطبيق أندرويد على خوادمنا. تملأ نموذجًا وتضغط زرًا واحدًا. لا حاجة إلى أدوات برمجة.معظم المستخدمين
3. الشيفرة المصدرية للتطبيق
flutter-app-source.zip
الشيفرة الكاملة للتطبيق (Flutter). استخدمها إذا أردت نسخة آيفون، أو أردت تغيير طريقة عمل التطبيق، أو فضّلت بناءه بنفسك.المطوّرون

أي طريق أسلك؟

أريد…افعل ما يلي
تطبيق أندرويد بسرعة ودون عمل تقنياتبع الفصول من 3 إلى 12. لن تلمس الشيفرة المصدرية أبدًا.
تطبيق آيفونالفصول من 3 إلى 9 لإعداد المتجر، ثم الفصل 13 (يحتاج إلى جهاز Mac ومطوّر).
تغيير تصميم التطبيق أو شيفرتهالفصلان 13 و15.

الصورة الكاملة في 8 خطوات

  1. تأكد من جاهزية متجرك (الفصل 3).
  2. ثبّت الإضافة (الفصل 4).
  3. صمّم الشاشة الرئيسية (الفصل 5).
  4. اختر الألوان وطرق تسجيل الدخول والروابط (الفصلان 6 و7).
  5. أنشئ مشروع Firebase مجانيًا للإشعارات (الفصل 8).
  6. ابنِ تطبيق أندرويد عبر الإنترنت (الفصل 10).
  7. ثبّته على هاتفك واختبره (الفصل 11).
  8. انشره على Google Play (الفصل 12).
كم يستغرق الأمر؟ خصّص نحو ساعة للإعداد في المرة الأولى. يستغرق البناء عبر الإنترنت وقتًا قصيرًا، ويصلك رابط التنزيل بالبريد الإلكتروني.

مصطلحات سترد في الدليل

بكلمات بسيطة: إليك قاموسًا قصيرًا حتى لا يبدو أي شيء في هذا الدليل غريبًا عليك.
المصطلحمعناه
تخطيط التطبيق (App layout)شاشة واحدة من تطبيقك (عادةً الشاشة الرئيسية)، تُصمَّم في WordPress باستخدام الكتل.
الكتلة (Block)وحدة بناء في الصفحة: شريط بانرات متحرك، أو صف من التصنيفات، أو شبكة منتجات.
API«الرسول» بين متجرك والتطبيق. يطلب التطبيق المنتجات من متجرك ويجيبه المتجر. لا تحتاج إلى فعل أي شيء بشأنه.
Firebaseخدمة مجانية من Google ترسل الإشعارات الفورية إلى الهواتف وتدعم تسجيل الدخول عبر Google.
الإشعار الفوري (Push notification)رسالة تظهر على هاتف العميل حتى عندما يكون التطبيق مغلقًا.
APKملف تطبيق أندرويد. تثبّته على هاتف لتجربته.
AAB (App Bundle)ملف أندرويد الذي يطلبه Google Play عند النشر.
اسم الحزمة (Package name)المعرّف الفريد للتطبيق، مثل com.yourshop.app. لا يتغيّر أبدًا بعد النشر.
HTTPSقفل الأمان في المتصفح. يجب أن يبدأ عنوان متجرك بـ https://.
الروابط الدائمة (Permalinks)الطريقة التي يبني بها متجرك عناوين الويب. أي خيار يعمل ما عدا «Plain».
رمز الشراء (Purchase code)الرمز الذي يثبت أنك اشتريت هذا المنتج. تطلبه أداة البناء.
OTPرمز لمرة واحدة يُرسَل برسالة SMS ليتمكن الناس من تسجيل الدخول برقم هواتفهم.
Flutterالتقنية التي كُتب بها التطبيق. لا يحتاج إليها سوى المطوّرين.

قبل أن تبدأ: افحص متجرك

بكلمات بسيطة: بضعة فحوصات سريعة الآن توفّر عليك وقتًا كبيرًا لاحقًا. كلٌّ منها يستغرق دقيقة.

قائمة التحقق

الفحصالسببالطريقة
WordPress 6.0+ وWooCommerce 8.0+ وPHP 7.4+الإصدارات المطلوبةDashboard → Tools → Site Health → Info
يبدأ عنوان متجرك بـ https://الهواتف ترفض http العادياطلب من شركة الاستضافة تفعيل شهادة SSL المجانية
الروابط الدائمة ليست «Plain»يصل التطبيق إلى متجرك عبر /wp-json/Settings → Permalinks → اختر «Post name» → Save
المتجر في وضع Liveتبدأ المتاجر الجديدة في وضع «Coming soon» فلا يرى التطبيق شيئًاWooCommerce → Settings → Site visibility → Live
لديك منتجاتالمتجر الفارغ ينتج تطبيقًا فارغًاProducts → Add New
Settings → Permalinks: اختر أي خيار عدا Plain، ثم احفظ.
Settings → Permalinks: اختر أي خيار عدا Plain، ثم احفظ.
WooCommerce → Settings → Site visibility: اختر Live.
WooCommerce → Settings → Site visibility: اختر Live.

الحسابات التي قد تحتاج إليها

الحسابالغرضالتكلفة
Google (Gmail)Firebase (الإشعارات). مطلوب.مجاني
Google Play Consoleنشر التطبيق على Google Playرسوم لمرة واحدة
Apple Developerنشر تطبيق آيفون على App Storeرسوم سنوية
مطوّر Facebook، وتسجيل الدخول عبر Apple، ومزوّد SMSفقط إذا أردت طرق تسجيل الدخول هذهتختلف

تثبيت الإضافة

  1. في لوحة تحكم WordPress افتح Plugins → Add New → Upload Plugin.
  2. اختر الملف mobile-app-for-woocommerce-plugin.zip ثم انقر Install Now، ثم Activate.
    استخدم ملفات zip الداخلية فقط. لا ترفع ملف zip الكبير للحزمة الكاملة.
  3. يظهر عنصران جديدان في القائمة اليسرى: App Layouts وApp Settings. وقد أُنشئت لك ثلاثة تخطيطات نموذجية.
Plugins → Add New → Upload Plugin.
Plugins → Add New → Upload Plugin.
App Layouts: شاشات تطبيقك. تتضمن الإضافة ثلاثة نماذج؛ عدّل أحدها أو أضف تخطيطك الخاص.
App Layouts: شاشات تطبيقك. تتضمن الإضافة ثلاثة نماذج؛ عدّل أحدها أو أضف تخطيطك الخاص.

تحقق من أنها تعمل

افتح هذا العنوان في متصفحك (استبدله بعنوان متجرك):

https://yourstore.com/wp-json/mo-app/v1/homepage

إذا ظهرت لك صفحة نصية مليئة بالأقواس المعقوفة فالإضافة تعمل. وإذا ظهرت عبارة «Active App Layout not configured» فهذا طبيعي في الوقت الحالي: ستختار التخطيط في الفصل 6.

تصميم الشاشة الرئيسية

بكلمات بسيطة: تُبنى الشاشة الرئيسية لتطبيقك مثل صفحة WordPress عادية، لكن بكتل خاصة. تضع الكتل فوق بعضها: شريط بانرات أولًا، ثم التصنيفات، ثم المنتجات. دون أي برمجة.
محرر التخطيط: ثلاثة بانرات، ثم صف من التصنيفات (وتأتي كتلة المنتجات بعدها).
محرر التخطيط: ثلاثة بانرات، ثم صف من التصنيفات (وتأتي كتلة المنتجات بعدها).
  1. انتقل إلى App Layouts وافتح Modern Store Homepage (أو انقر Add Post لإنشاء تخطيط جديد).
  2. انقر الزر الأزرق + وابحث عن Mobile. ستجد ثلاث كتل: Mobile: App Banners وMobile: App Categories وMobile: App Product Collection.
  3. أضف الكتل التي تريدها واسحبها إلى الترتيب الذي يناسبك.
  4. انقر كتلة واستخدم الإعدادات على اليمين لتعديلها (انظر الجداول أدناه).
  5. انقر Update (أو Publish).

الكتل الثلاث

الكتلةما تعرضهأهم الإعدادات التي ستستخدمها
App Bannersصور متحركة، أو شبكة من الصور الترويجيةإضافة الصور؛ اختيار ما يحدث عند النقر (فتح منتج أو تصنيف أو رابط ويب أو لا شيء)؛ شريط متحرك أو شبكة؛ الارتفاع؛ الزوايا المستديرة؛ التشغيل التلقائي
App Categoriesتصنيفات منتجاتك على شكل صور دائريةالنمط (تمرير أفقي أو شبكة أو قائمة)؛ حجم العنصر؛ العدد؛ اختيار تصنيف أب لعرض تصنيفاته الفرعية
App Product Collectionشبكة منتجات أو صف منتجات قابل للتمريراختيار تصنيف؛ عدد المنتجات؛ حجم البطاقة؛ الأعمدة؛ مؤقت عدّ تنازلي اختياري للتخفيضات

اجعلها أجمل (في الكتل الثلاث)

  • العنوان والوصف بألوان مستقلة لكلٍّ منهما.
  • الخلفية: لون أو تدرّج لوني أو صورة.
  • التباعد: الحشو فوق الكتلة وتحتها، والزوايا المستديرة.
استخدم صورًا بالأبعاد المناسبة. صور البانر بحجم 1200 × 500 بكسل تقريبًا تبدو جيدة. والصور المربعة تناسب دوائر التصنيفات.

اللوحة الجانبية: App Screen Settings

ستجد في اللوحة اليمنى App Screen Settings. وهي تتحكم في الشريط العلوي وشريط البحث لهذه الشاشة:

الإعدادوظيفته
App Bar Title / Logoالاسم أو الشعار في أعلى الشاشة
Hide App Barمظهر بملء الشاشة دون شريط علوي
Background / Text colourألوان الشريط العلوي
Show Bottom Search Barيضيف مربع بحث ويتيح لك ضبط النص التلميحي فيه
Pull to refreshيستطيع العملاء السحب للأسفل لإعادة التحميل
Pinned / Floatingهل يبقى الشريط العلوي ثابتًا أم يختفي عند التمرير

ما الذي يُحفظ خلف الكواليس (للفضوليين)

يُحفظ كل تخطيط على هيئة نص كتل بسيط كما يلي. لا تحتاج إلى كتابته أبدًا، وهو موجود هنا لتعرف أنه لا يوجد سحر في الأمر:

<!-- wp:wc-mobile/banners {"layoutType":"slider","bannerHeight":170,"showDots":true,"autoplay":true} /-->

<!-- wp:wc-mobile/categories {"title":"Shop by category","displayStyle":"horizontal_scroll"} /-->

<!-- wp:wc-mobile/products {"title":"Fresh picks for you","layoutType":"grid","gridColumns":2,"limit":6} /-->
يمكنك الاحتفاظ بعدة تخطيطات، مثلًا تخطيط عادي وتخطيط للتخفيضات. لا يظهر في التطبيق إلا التخطيط الذي تختاره في App Settings. تظهر التغييرات في التطبيق عند فتحه أو تحديثه في المرة التالية. لا حاجة إلى بناء جديد للتطبيق.

الإعدادات: تبويبًا تبويبًا

بكلمات بسيطة: افتح App Settings من القائمة اليسرى. كل ما ليس الشاشة الرئيسية موجود هنا، في تبويبات على الشريط العلوي. بعد تغيير أي شيء انقر الزر الأزرق Save All Settings.

General Settings

General Settings: اختر التخطيط الذي سيكون الشاشة الرئيسية للتطبيق.
General Settings: اختر التخطيط الذي سيكون الشاشة الرئيسية للتطبيق.
الإعدادما عليك فعله
Active App Homepageاختر تخطيطك هنا. هذه هي الخطوة التي تُفعّل الشاشة الرئيسية.
App Layout Directionاتركه على System Default. اختر Right-to-Left لفرض التخطيط على النمط العربي للجميع.
Legacy Accent Colorلا يُستخدم إلا إذا أوقفت خيارات القالب. يمكنك تجاهله.

Drawer Menu

القائمة الجانبية التي تنزلق من يسار التطبيق.
القائمة الجانبية التي تنزلق من يسار التطبيق.

شغّل القائمة المنزلقة أو أوقفها، وأظهر My Wallet وReward Points أو أخفِهما (يحتاجان إلى إضافات إضافية، انظر الفصل 14)، واختر خلفيتها: لونًا أو تدرجًا لونيًا أو عنوان صورة.

Legal & Policies

روابط صفحات الخصوصية والشروط والإرجاع.
روابط صفحات الخصوصية والشروط والإرجاع.

الصق عناوين الويب لصفحات Privacy Policy وTerms & Conditions وReturn Policy. تشترط متاجر مثل Google Play وجود سياسة خصوصية.

Support & Social

بيانات التواصل المعروضة في منطقة Contact Us بالتطبيق.
بيانات التواصل المعروضة في منطقة Contact Us بالتطبيق.

بريد الدعم الإلكتروني، ورقم WhatsApp (مع رمز الدولة، مثل +971…)، وصفحاتك على Facebook وInstagram وX.

App Info & Updates

روابط المتاجر والحد الأدنى لإصدار التطبيق.
روابط المتاجر والحد الأدنى لإصدار التطبيق.

بعد النشر، الصق رابطي Play Store وApp Store. Minimum App Version: إذا كان إصدار العميل أقدم من هذا الرقم (مثل 1.0.5) يطلب منه التطبيق التحديث قبل المتابعة. اتركه فارغًا حتى تحتاج إليه فعلًا.

Theme (Flex)

إعدادات المظهر: ألوان التطبيق كله وزواياه وأزراره.
إعدادات المظهر: ألوان التطبيق كله وزواياه وأزراره.
الإعدادما الذي يغيّره
Primary Brand Colorالأزرار الرئيسية، وعنصر القائمة النشط، وعناصر التمييز. اختر لون علامتك التجارية.
Secondary / Accent Colorعناصر تمييز صغيرة مثل الشارات
Surface Blend Mode and Strengthمقدار تلوين الخلفيات بلون علامتك التجارية. الخيار «Level Surfaces, Low Scaffold» بقوة 7 مظهر هادئ وموصى به.
Top Bar Styleهل يكون الشريط العلوي عاديًا أم ملوّنًا
Roundnessاستدارة زوايا البطاقات والصور (0 حادة، 12 ناعمة، 30 مستديرة جدًا)
Main Button Styleمعبّأ، أو بظل، أو بحدود فقط
Button colour and cornersاستخدم لون العلامة التجارية أو اختر لونًا خاصًا
Modern Design (Material 3)اتركه مفعّلًا
العملة وعدد الخانات العشرية وعرض الضريبة لا تُضبط هنا: ينسخها التطبيق تلقائيًا من WooCommerce → Settings.

تسجيل دخول العملاء

بكلمات بسيطة: يستطيع العملاء دائمًا إنشاء حساب بالبريد الإلكتروني وكلمة المرور. ويمكنك أيضًا تقديم طرق أسرع لتسجيل الدخول. فعّل فقط الطرق التي أنت مستعد لإعدادها.
App Settings → Integrations & APIs: طرق تسجيل الدخول في الأعلى، ثم Firebase وخيارات الإشعارات.
App Settings → Integrations & APIs: طرق تسجيل الدخول في الأعلى، ثم Firebase وخيارات الإشعارات.
الطريقةما تحتاج إليهدرجة الصعوبة
البريد الإلكتروني وكلمة المرورلا شيء، مفعّلة دائمًالا توجد
Googleمشروع Firebase (الفصل 8) مع تفعيل تسجيل الدخول عبر Google، وإضافة بصمات SHA الخاصة بتطبيقك إلى Firebaseمتوسطة
Facebookتطبيق مطوّر على Facebook: يوضع اسمه ومعرّفه ورمز العميل (client token) في App Builder (الفصل 10)متوسطة
Appleحساب Apple Developer. تشترطه Apple إذا قدّمت تسجيلات دخول اجتماعية أخرى في تطبيق آيفونمتوسطة
رقم الهاتف (OTP)مزوّد SMS: 2Factor (أرقام الهند +91 فقط) أو OTPlessمتوسطة
Phone Login ONLYيخفي أزرار البريد الإلكتروني والحسابات الاجتماعية: يُدخل العملاء رقم هواتفهم فقطسهلة متى عمل OTP

إعداد تسجيل الدخول بالهاتف (OTP)

  1. افتح قسم SMS / OTP في أسفل تبويب Integrations.
  2. اختر 2Factor أو OTPless مزوّدًا.
  3. الصق المفتاح أو المفاتيح التي حصلت عليها من مزوّدك في الحقول التي تظهر.
  4. فعّل الخيار Enable Phone Login في الأعلى، ثم انقر Save All Settings.
مهم: يرسل 2Factor الرموز إلى الأرقام الهندية فقط. للدول الأخرى اختر OTPless.
لا تظهر أزرار تسجيل الدخول عبر Google وFacebook وApple في التطبيق إلا إذا كانت مفعّلة و مهيّأة. جرّب كل واحدة على هاتف حقيقي قبل النشر.

إعداد Firebase (الإشعارات وتسجيل الدخول عبر Google)

بكلمات بسيطة: Firebase هي خدمة Google المجانية التي توصل الإشعارات الفورية إلى هواتف عملائك. تنشئ مشروع Firebase مرة واحدة، ثم تنزّل ملفين وتنسخ بعض القيم. يبدو الأمر طويلًا، لكن كل خطوة مجرد نقرة.

الجزء أ: إنشاء المشروع وتسجيل تطبيق أندرويد

  1. انتقل إلى console.firebase.google.com وسجّل الدخول بحساب Google الخاص بك.
  2. انقر Add project، وسمِّه باسم متجرك وأكمل المعالج (يمكنك إيقاف Google Analytics).
  3. داخل المشروع انقر أيقونة Android لإضافة تطبيق أندرويد.
  4. في الحقل Android package name اكتب اسم الحزمة الذي تريده لتطبيقك، مثل com.yourshop.app. دوّنه: ستكتب الاسم نفسه في App Builder.
  5. انقر Register app، ثم Download google-services.json. احتفظ بهذا الملف في مكان آمن. يمكنك تخطي بقية خطوات المعالج.

الجزء ب: نسخ أربع قيم إلى الإضافة

  1. في Firebase انقر أيقونة الترس → Project settings → تبويب General.
  2. مرّر إلى Your apps. انسخ API key وProject ID وApp ID وMessaging Sender ID (يوجد Sender ID في تبويب Cloud Messaging).
  3. في WordPress افتح App Settings → Integrations & APIs → Firebase Configuration والصق كل قيمة في حقلها.

الجزء ج: المفتاح الذي يتيح لمتجرك إرسال الإشعارات

  1. في إعدادات مشروع Firebase افتح تبويب Service accounts.
  2. انقر Generate new private key. يُنزَّل ملف صغير ينتهي بـ .json.
  3. افتح هذا الملف بمحرر نصوص (Notepad أو TextEdit)، وحدّد كل محتواه وانسخه.
  4. الصقه في الحقل الكبير Firebase Service Account JSON في الإضافة وانقر Save All Settings.
ملف حساب الخدمة (service account) مثل كلمة المرور إلى مشروع Firebase الخاص بك. لا ترسله بالبريد الإلكتروني ولا تنشره علنًا.

الجزء د (لتسجيل الدخول عبر Google فقط)

  1. في Firebase افتح Authentication → Sign-in method وفعّل Google.
  2. بعد أول بناء، أضف بصمتي SHA-1 وSHA-256 للتطبيق في Project settings → تطبيق أندرويد الخاص بك. في بناءات Google Play استخدم البصمات التي يعرضها Google Play ضمن App integrity.
  3. نزّل google-services.json مرة أخرى واستخدم الملف الجديد في البناء التالي.
أبقِ اسم الحزمة نفسه في كل مكان: في Firebase، وفي App Builder، و(في البناء من الشيفرة المصدرية) في شيفرة التطبيق. إذا اختلف فلن تعمل الإشعارات ولا تسجيل الدخول عبر Google.

الإشعارات والرسائل إلى العملاء

بكلمات بسيطة: يستطيع تطبيقك إخبار العملاء بطلباتهم تلقائيًا، كما يمكنك إرسال إعلاناتك الخاصة.

إشعارات الطلبات التلقائية

في Integrations & APIs فعّل Order Placed وOrder Status Updated لإرسال إشعار فوري إلى هاتف العميل كلما أُنشئ طلب أو تغيرت حالته (قيد المعالجة، تم الشحن…).

في الأسفل، تتيح Notification Message Templates كتابة صياغتك الخاصة. يمكنك استخدام هذه العناصر النائبة (placeholders) التي تُستبدل بالتفاصيل الفعلية:

النوعيتحول إلى
{order_id}رقم الطلب
{order_status}الحالة الجديدة
Title:  Order #{order_id} update
Message: Your order is now {order_status}. Thank you for shopping with us!

WhatsApp وSMS (اختياري)

  • WhatsApp: يرسل إيصالات الطلبات وتحديثاتها عبر Meta Cloud API أو Twilio أو UltraMsg. الصق رمز المزوّد (token) ورقم المرسِل.
  • SMS: يرسل تحديثات الطلبات عبر 2Factor أو MSG91 أو Twilio أو Unifonic. فعّل Order Updates via SMS والصق مفتاح المزوّد.

أرسل إعلانك الخاص

Send Notification: اكتب عنوانًا ورسالة واختر من يستلمها.
Send Notification: اكتب عنوانًا ورسالة واختر من يستلمها.
  1. افتح تبويب Send Notification.
  2. اكتب عنوانًا ورسالة (مثل «تخفيضات نهاية الأسبوع: خصم 20% على الفاكهة»).
  3. اختر All users، أو Selected users وابحث بالاسم أو البريد الإلكتروني.
  4. انقر إرسال. تعني الرسالة الخضراء أن Firebase قبلته. وتخبرك الرسالة الحمراء بما يجب إصلاحه.
لا يصل الإشعار إلى العملاء إلا إذا سمحوا به على هواتفهم وفتحوا التطبيق مرة واحدة على الأقل بعد تسجيل الدخول.

بناء تطبيق أندرويد عبر الإنترنت (App Builder)

بكلمات بسيطة: هذه أسهل طريقة للحصول على تطبيقك. تكتب بيانات متجرك في نموذج داخل WordPress وتضغط زرًا واحدًا. يبني خادمنا ملف أندرويد ويرسل إليك رابط التنزيل بالبريد الإلكتروني. لا تثبّت أي شيء.

ما تحتاج إليه جاهزًا أولًا

العنصرمن أين تحصل عليه
رمز الشراء (purchase code) الخاص بكمن إيصال الشراء. يبني كل رمز شراء تطبيقًا واحدًا لعنوان متجر واحد.
عنوان متجركمثل https://yourshop.com
اسم التطبيق واسم الحزمةتحدّدهما أنت: مثل «My Shop» وcom.myshop.app. يجب أن يكون اسم الحزمة هو نفسه الذي كتبته في Firebase.
google-services.jsonنزّلته في الفصل 8، الجزء أ
مفاتيح WooCommerceتُنشأ أدناه (دقيقتان)
ثلاث صورأيقونة التطبيق (مربعة، 1024 × 1024)، وشعار للتحميل، وصورة شاشة البداية (splash)
بريدك الإلكتروني ورقم هاتفكلنتمكن من إرسال رابط التنزيل إليك

إنشاء مفاتيح WooCommerce (مرة واحدة)

  1. افتح WooCommerce → Settings → Advanced → REST API → Add key.
  2. Description: Mobile app. User: حساب المدير لديك. Permissions: Read/Write.
  3. انقر Generate API key. انسخ Consumer key وConsumer secret إلى ملاحظة آمنة. يظهر السر (secret) مرة واحدة فقط.
WooCommerce → Settings → Advanced → REST API → Add key.
WooCommerce → Settings → Advanced → REST API → Add key.

املأ App Builder

  1. افتح App Settings → App Builder.
  2. ضمن Connect to Cloud Builder اكتب Site URL وPurchase Code، ثم انقر Fetch App Details. تخبرك رسالة خضراء أن الاتصال يعمل ويُفتح النموذج أدناه.
  3. Basic App Information: اسم التطبيق، واسم الحزمة، وبريدك الإلكتروني، وهاتفك، ورمز الدولة المكوّن من حرفين (مثل AE وIN وUS).
  4. Security Keys: الصق Consumer Key وConsumer Secret. أضف مفتاح Google Maps فقط إذا أردت أن يختار العملاء عناوينهم على الخريطة.
  5. Facebook Login Setup: املأه فقط إذا كنت تستخدم تسجيل الدخول عبر Facebook.
  6. Branding Images: اختر لون شاشة البداية، ثم اختر App Icon وLoading Logo وSplash Image وملف Firebase Config (google-services.json). يُرفع كل ملف لحظة اختياره ويظهر معه Uploaded Successfully بالأخضر.
  7. اختر Build Output Type: APK للتجربة على هاتفك، أو App Bundle (AAB) لـ Google Play.
  8. انقر Save Details، ثم Start Android Build.
App Settings → App Builder: اتصل، واملأ النموذج، وارفع الصور، ثم انقر زر البناء.
App Settings → App Builder: اتصل، واملأ النموذج، وارفع الصور، ثم انقر زر البناء.

ماذا يحدث بعد ذلك

الحالةالمعنى
Pendingبناؤك في قائمة الانتظار. يبدأ الخادم البناء التالي المنتظر كل بضع دقائق.
In progressيجري إنشاء تطبيقك.
Completedاكتمل. يصلك بريد إلكتروني برابط تنزيل («Download APK» أو «Download AppBundle»).
Failedيصلك بريد إلكتروني يخبرك بذلك. افحص الصورة وملف Firebase واسم الحزمة، ثم ابنِ مرة أخرى.
بعد أن تضغط الزر سترى الرسالة: Your build is processing. You will receive an email with the download link once the build is completed. يمكنك إغلاق الصفحة. افحص مجلد الرسائل غير المرغوب فيها (spam) إذا تأخر البريد. تُحفظ روابط التنزيل لمدة محدودة (نحو 30 يومًا)، لذا نزّل ملفك واحتفظ به.

قواعد يجب معرفتها

  • الملفات الأربعة كلها مطلوبة: الأيقونة، وشعار التحميل، وصورة شاشة البداية، وgoogle-services.json.
  • يجب أن يظهر اسم الحزمة داخل ملف google-services.json. في أول بناء لك، إذا اختلفا، تعتمد أداة البناء اسم الحزمة الموجود في الملف.
  • يسمح رمز شراء واحد بعدد التطبيقات المذكور في ترخيصك (عادةً تطبيق واحد لعنوان متجر واحد). إذا ظهرت لك رسالة «maximum number of apps reached» فتواصل مع الدعم.
  • بعض التراخيص مقصورة على بناءات APK. عندها تنشئ أداة البناء ملف APK حتى لو اخترت App Bundle.
  • تنشئ أداة البناء ملفات أندرويد. أما آيفون فانظر الفصل 13.
  • تُحذف الصور التي رفعتَها وملف Firebase من خادم البناء بعد نحو ثلاثة أشهر.

عندما يحدث خطأ

ما تراهما تفعله
رسالة حمراء بعد Fetch App Detailsافحص عنوان المتجر (مع https) ورمز الشراء. تأكد من أن استضافتك تسمح بالاتصالات الصادرة.
«Email and Phone are required»املأ الحقلين واحفظ مرة أخرى.
«Icon / Splash / Logo / Google services file is missing»ارفع الملف الناقص وابنِ مرة أخرى.
«The google-services.json file does not contain the package name»سُجّل تطبيق Firebase الخاص بك باسم حزمة مختلف. صحّح أحدهما ليتطابقا.
لا يصل بريد بعد وقت طويلافحص مجلد spam. تأكد من صحة البريد الإلكتروني في النموذج، واحفظ، وتواصل مع الدعم مع ذكر عنوان متجرك.
الخصوصية: لبناء تطبيقك ترسل الإضافة إلى خادم البناء لدينا (apps.taqnix.com) عبر اتصال آمن: عنوان متجرك، ورمز الشراء، واسم التطبيق، واسم الحزمة، وبيانات التواصل، ومفاتيح WooCommerce التي كتبتها، وقيم Google Maps وFacebook، وصورك، وملف Firebase. لا يُرسل شيء حتى تضغط الأزرار في هذا التبويب. أنشئ مفتاحًا مخصصًا للتطبيق فقط، واحذفه من WooCommerce → Settings → Advanced → REST API عندما لا تحتاج إلى أداة البناء بعد الآن.

تثبيت التطبيق على هاتفك واختباره

  1. افتح البريد الإلكتروني على هاتف أندرويد الخاص بك وانقر Download APK (أو نزّل الملف على حاسوب وأرسله إلى الهاتف).
  2. افتح الملف المنزَّل. قد يطلب منك أندرويد السماح بالتثبيت من هذا المصدر. اسمح به لهذه المرة فقط.
  3. افتح التطبيق. انتظر بضع ثوانٍ: تظهر شاشة البداية ثم شاشتك الرئيسية.
  4. اتبع قائمة التحقق هذه.
الاختبارسليم؟
تعرض الشاشة الرئيسية البانرات والتصنيفات والمنتجات☐
الألوان والاسم تبدو صحيحة☐
افتح منتجًا، واختر متغيّرًا، وأضفه إلى السلة☐
أنشئ حسابًا وسجّل الدخول☐
أنشئ طلبًا تجريبيًا بالدفع عند الاستلام☐
يظهر الطلب في WooCommerce → Orders☐
يصلك إشعار الطلب على الهاتف☐
تعمل كل طريقة تسجيل دخول فعّلتها☐
تُفتح روابط سياسة الخصوصية والتواصل☐
اختبر على هاتف حقيقي، وليس على حاسوب فقط. اجعل اختباراتك الأولى بالدفع عند الاستلام حتى لا تنتقل أموال حقيقية.

نشر تطبيقك على المتاجر

بكلمات بسيطة: تفحص المتاجر كل تطبيق قبل أن يتمكن العملاء من العثور عليه. تجهّز صفحة التطبيق (الاسم والوصف والصور) وترفع ملف التطبيق.

Google Play (أندرويد)

  1. أنشئ حساب مطوّر في Google Play Console.
  2. أنشئ تطبيقًا جديدًا واملأ صفحة المتجر: وصفًا قصيرًا وآخر طويلًا، وأيقونة، ولقطات شاشة للتطبيق، وصورة مميزة (feature graphic).
  3. أضف رابط سياسة الخصوصية (مطلوب).
  4. أجب عن استبيانات المحتوى (الإعلانات، وأمان البيانات، والفئة العمرية المستهدفة). وضّح أن التطبيق يستخدم الموقع لملء عنوان التوصيل، ولا يعرض إعلانات.
  5. ابنِ App Bundle (AAB) في App Builder، وارفعه ضمن Production → Create release، ثم أرسله للمراجعة.
  6. تستغرق المراجعة عادةً من بضع ساعات إلى بضعة أيام. بعد ذلك الصق رابط المتجر في App Settings → App Info & Updates.
يعيد Google Play توقيع تطبيقك بمفتاح Play. إذا كنت تستخدم تسجيل الدخول عبر Google، فأضف SHA-1/SHA-256 الخاصين بمفتاح توقيع Play إلى Firebase (الفصل 8، الجزء د).

Apple App Store (آيفون)

يحتاج تطبيق آيفون إلى جهاز Mac مثبّت عليه Xcode وحساب Apple Developer، لذا يُنجز هذا الجزء من الشيفرة المصدرية بمساعدة مطوّر (الفصل 13). كما تشترط Apple Sign in with Apple إذا قدّم التطبيق تسجيلات دخول اجتماعية أخرى، وسياسة خصوصية.

أبقِ اسم الحزمة نفسه للأبد واحتفظ بنسخة من مفاتيح التوقيع. ستحتاج إليها في كل تحديث.

للمطوّرين: بناء التطبيق من الشيفرة المصدرية

بكلمات بسيطة: تخطَّ هذا الفصل إذا كنت تستخدم أداة البناء عبر الإنترنت. فهو لمن يريد نسخة آيفون، أو يريد تغيير التطبيق، أو يحب تجميعه بنفسه.

الإعداد لمرة واحدة

  1. ثبّت Flutter بالإصدار 3.41 أو أحدث (يثبّت Dart أيضًا).
  2. شغّل flutter doctor وأصلح كل بند يبلّغ عنه (Android SDK والتراخيص، وXcode، وCocoaPods).
  3. فُكّ ضغط flutter-app-source.zip، وافتح الطرفية في المجلد وشغّل:
flutter pub get

وجّه التطبيق إلى متجرك

افتح lib/core/constants/app_config.dart وغيّر سطرين:

static const String siteUrl = 'https://yourstore.com';   // no slash at the end
static const String appName = 'My Store';

يُضاف مسار API وهو /wp-json/mo-app/v1 تلقائيًا. للاختبار مع متجر على حاسوبك استخدم عنوانًا يستطيع الهاتف الوصول إليه: في محاكي أندرويد http://10.0.2.2:8888/wp، وفي محاكي آيفون http://localhost:8888/wp.

الاسم والمعرّف والأيقونة وشاشة البداية والإصدار

ماذاالأمر أو الملف
اسم الحزمة (على المنصتين)
dart run change_app_package_name:main com.yourbrand.app
الافتراضي هو com.taqnix.groceryapp. ثم افحص Bundle Identifier في Xcode.
الاسم تحت الأيقونةأندرويد: android:label في android/app/src/main/AndroidManifest.xml. آيفون: Display Name في Xcode.
أيقونة التطبيقاستبدل assets/icon/icon_android.png (1024 × 1024) ثم شغّل
dart run flutter_launcher_icons
شاشة البدايةاستبدل assets/images/splash.png، واضبط اللون في pubspec.yaml (الكتلة flutter_native_splash) ثم شغّل
dart run flutter_native_splash:create
الإصدارversion: 1.0.0+11 في pubspec.yaml (الاسم + رقم البناء). ارفع الرقم الذي بعد علامة الجمع عند كل رفع إلى المتجر.

ملفات Firebase

لا تحتوي الحزمة على أي ملفات Firebase: فهي تخص مشروعك أنت (الفصل 8).

  • أندرويد: ضع google-services.json في android/app/، ثم أضف إضافة خدمات Google. في android/settings.gradle.kts أضف داخل plugins { }:
id("com.google.gms.google-services") version "4.4.2" apply false

وفي android/app/build.gradle.kts أضف داخل plugins { }:

id("com.google.gms.google-services")
  • آيفون: افتح ios/Runner.xcworkspace في Xcode، واسحب GoogleService-Info.plist إلى مجلد Runner وفعّل Copy items if needed.

بدون هذين الملفين يبقى التطبيق يعمل للتسوّق بشكل طبيعي، لكن الإشعارات الفورية وتسجيل الدخول عبر Google تكونان متوقفتين.

Facebook وGoogle وApple والخرائط

في ios/Runner/Info.plist استبدل القيم النائبة:

<string>fbYOURAPPID</string>      <!-- keep the fb prefix -->
<key>FacebookAppID</key><string>YOURAPPID</string>
<key>FacebookClientToken</key><string>CLIENT-TOKEN</string>

لنظام أندرويد اتبع دليل الحزمة flutter_facebook_auth. فعّل Google وApple في Firebase Authentication؛ ويحتاج تسجيل الدخول عبر Apple أيضًا إلى القدرة Sign in with Apple في Xcode. لا يحتاج Razorpay إلى مفتاح في التطبيق: يُقرأ من إعدادات Razorpay في WooCommerce لديك.

التشغيل والبناء

flutter run                          # on a phone or emulator
flutter build apk --release          # Android APK
flutter build appbundle --release    # Android AAB for Google Play
flutter build ipa --release          # iPhone (on a Mac)

توقيع تطبيق أندرويد لـ Google Play

تستخدم بناءات الإصدار (release) مفتاح التصحيح (debug) حتى تضيف مفتاحك الخاص. أنشئ مفتاحًا مرة واحدة واحتفظ به في مكان آمن:

keytool -genkey -v -keystore ~/upload-keystore.jks -keyalg RSA -keysize 2048 -validity 10000 -alias upload

أنشئ android/key.properties:

storePassword=YOUR_PASSWORD
keyPassword=YOUR_PASSWORD
keyAlias=upload
storeFile=/Users/you/upload-keystore.jks

وفي android/app/build.gradle.kts حمّله واستخدمه في signingConfigs / buildTypes.release كما هو موضح في دليل توقيع Flutter. أما لآيفون فاختر فريقك في Xcode → Signing & Capabilities.

يحتوي manifest أندرويد أصلًا على أذونات INTERNET والموقع والإشعارات التي تحتاج إليها بناءات الإصدار.

ما الذي يستطيع التطبيق فعله

شاشات الرئيسية وقائمة المنتجات والحساب (العرض التجريبي لمتجر البقالة).
شاشات الرئيسية وقائمة المنتجات والحساب (العرض التجريبي لمتجر البقالة).
المنطقةما يستطيع العملاء فعله
الرئيسيةرؤية البانرات والتصنيفات والمنتجات كما صمّمتها؛ والسحب للأسفل للتحديث.
البحث والتصفيةالبحث، والتصفية حسب التصنيف والسعر وخيارات المنتج (اللون، المقاس…).
صفحة المنتجالصور والسعر والخيارات والوصف والتقييمات؛ وكتابة تقييم؛ والإضافة إلى قائمة الأمنيات.
السلةتغيير الكميات، وحذف العناصر، واستخدام أكواد الكوبونات.
صفحة الدفعملء حقول العنوان نفسها الموجودة في موقعك، واختيار الشحن والدفع. ينتهي الدفع عند الاستلام داخل التطبيق، ويفتح Razorpay ورقة الدفع الخاصة به، وتفتح طرق الدفع الأخرى صفحة ويب آمنة ثم تعود إلى التطبيق.
الحسابتسجيل الدخول أو التسجيل، وتعديل الملف الشخصي، والعناوين المحفوظة (مع الخريطة)، والطلبات وتفاصيلها، وتسجيل الخروج.
المحفظة ونقاط المكافآترؤية الرصيد والسجل. يتطلب الإضافتين TeraWallet وWooCommerce Points and Rewards. فعّل عناصر القائمة في App Settings → Drawer Menu.
القائمة الجانبية والمعلوماتصفحات الخصوصية والشروط والإرجاع، وروابط التواصل، وشاشة التحديث الإجباري.
الإشعاراتتحديثات الطلبات وإعلاناتك الخاصة.

للمطوّرين: واجهة REST API

بكلمات بسيطة: كل ما يفعله التطبيق يمر عبر مجموعة صغيرة من عناوين الويب على متجرك. يستطيع المطوّرون استخدامها لتوسيع التطبيق أو بناء تطبيق آخر.
جزء من استجابة نقطة النهاية الرئيسية (home endpoint).
جزء من استجابة نقطة النهاية الرئيسية (home endpoint).

العنوان الأساسي: https://yourstore.com/wp-json/mo-app/v1. ترسل الطلبات التي تتطلب تسجيل الدخول الترويسة X-App-Token التي يعيدها طلب تسجيل الدخول.

جرّب بنفسك

# The home layout and global settings
curl https://yourstore.com/wp-json/mo-app/v1/homepage

# Products: page 1, 10 items, search for "milk"
curl "https://yourstore.com/wp-json/mo-app/v1/products?page=1&per_page=10&search=milk"

# Log in and keep the token
curl -X POST https://yourstore.com/wp-json/mo-app/v1/auth/login \
  -H "Content-Type: application/json" \
  -d '{"username":"customer@example.com","password":"secret"}'

# Use the token to read the customer's orders
curl https://yourstore.com/wp-json/mo-app/v1/orders -H "X-App-Token: YOUR_TOKEN"

مثال بلغة Dart (داخل التطبيق)

final res = await dio.get('/products', queryParameters: {'category': 'fruits', 'per_page': 20});
final products = res.data['products'];

جميع نقاط النهاية

نقطة النهايةالغرض
GET /homepageالإعدادات (المظهر، والعملة والضريبة، وطرق تسجيل الدخول، والقائمة الجانبية، والروابط، والإصدارات) والتخطيط النشط.
GET /products, GET /products/{id}المنتجات. المعاملات: page, per_page, include, search, category, attributes, min_price, max_price, orderby, order.
GET /product-attributesخيارات التصفية، ولتصنيف واحد اختياريًا.
GET /products/{id}/reviews, POST /write-reviewالتقييمات.
GET /categoriesالتصنيفات مع الصور والأعداد.
POST /auth/register, /auth/login, /auth/logoutحسابات البريد الإلكتروني وكلمة المرور.
POST /auth/send-otp, /auth/verify-otpتسجيل الدخول بالهاتف برمز لمرة واحدة.
POST /auth/social-loginتسجيل الدخول عبر Google أو Facebook أو Apple برمز المزوّد (token).
GET/POST /auth/profile, POST /auth/fcm-tokenالملف الشخصي ورمز الإشعارات الفورية للهاتف.
GET /cart, POST /cart/add, /cart/update, /cart/remove, /cart/apply-coupon, /cart/remove-couponالسلة.
GET /checkout/form, POST /checkout/update-review, POST /checkoutحقول صفحة الدفع والإجماليات وإنشاء الطلب.
GET /orders, GET /orders/{id}طلبات العميل.
GET/POST /addresses, PUT/DELETE /addresses/{id}العناوين المحفوظة.
GET /wishlist, GET /wishlist/details, POST /wishlist/toggleقائمة الأمنيات.
GET /wallet, GET /pointsالمحفظة والنقاط (تتطلب إضافات إضافية).

يحتوي مجلد includes/api في الإضافة على ملف لكل مجموعة مع المعاملات الدقيقة.

حل المشكلات

بكلمات بسيطة: ابحث في العمود الأيمن عمّا تراه.
ما تراهما عليك فعله
يعرض التطبيق خطأ تحميل أو لا يعرض منتجاتافتح https://yourstore.com/wp-json/mo-app/v1/homepage في المتصفح. يجب أن تُحمَّل دون تسجيل دخول. وإلا: استخدم https، واضبط الروابط الدائمة على أي خيار عدا Plain، واجعل المتجر Live، وتأكد من أن إضافة أمان أو جدار حماية لا يحجب /wp-json/.
يظهر في عنوان الويب «Active App Layout not configured»App Settings → General Settings → Active App Homepage: اختر تخطيطًا واحفظ.
غيّرت لونًا أو التخطيط ولم يتغير التطبيقانقر Save All Settings (أو Update في التخطيط)، ثم اسحب للأسفل للتحديث أو أعد فتح التطبيق.
الشاشة الرئيسية فارغةلا توجد كتل في التخطيط، أو لم تجد كتلتا التصنيفات والمنتجات شيئًا. أضف منتجات وتأكد من أن التصنيفات ليست فارغة.
البانرات رماديةعناوين صور البانرات خاطئة، أو الصور غير عامة. أعد إضافتها من Media Library.
لا تصل الإشعاراتتأكد من لصق Firebase Service Account JSON كاملًا، ومن أن اسم الحزمة هو نفسه في كل مكان، ومن أن الهاتف سمح بالإشعارات، ومن أن العميل سجّل الدخول مرة واحدة.
يفشل تسجيل الدخول عبر Googleأضف SHA-1 وSHA-256 لمفتاح التوقيع إلى Firebase، ونزّل google-services.json مرة أخرى، وأعد البناء.
لا يصل رمز OTPيعمل 2Factor مع الأرقام الهندية فقط. استخدم OTPless للدول الأخرى. افحص رصيد مزوّدك ومفتاحه.
لا تعرض المحفظة أو النقاط شيئًاثبّت وفعّل TeraWallet وWooCommerce Points and Rewards.
يفشل Fetch App Detailsافحص العنوان ورمز الشراء؛ وانظر الفصل 10.
لا يستطيع تطبيق الإصدار الاتصال (بناء خاص بك)يحتاج manifest أندرويد إلى إذن INTERNET. وهو مضمَّن؛ أبقِه إذا استبدلت الملف.
يفشل بناء آيفون في Xcodeشغّل cd ios && pod install --repo-update، وأضف GoogleService-Info.plist، واختر فريق توقيع ومعرّف حزمة (bundle ID) فريدًا.
تبدو السلة أو صفحة الدفع غريبة في التطبيقيأتي نموذج الدفع من WooCommerce. افحص حقول الدفع وطرق الدفع في WooCommerce → Settings.

التحديث وإزالة التثبيت

حدّث الإضافة برفع ملف zip الجديد (Replace current with uploaded)؛ وتبقى تخطيطاتك وإعداداتك محفوظة. وحدّث التطبيق ببناء إصدار جديد ورفعه إلى المتاجر. ولإزالة الإضافة، عطّلها واحذفها؛ وتبقى تخطيطات تطبيقك في قاعدة البيانات حتى تحذفها من App Layouts.

الدعم

مساعدة التثبيت وإصلاح الأخطاء مشمولان لمدة 6 أشهر، مع تحديثات مدى الحياة. تواصل معنا عبر صفحة المنتج في السوق التي اشتريت منها الحزمة. وعند مراسلتنا، أرفق عنوان متجرك وما تراه على الشاشة.