توثيق تطبيق متجر أودو للجوال
دليل تطبيق متجر أودو للجوال: تثبيت الوحدة وتطبيق الهوية وتصميم الصفحة الرئيسية والدفع وتسجيل الدخول والإشعارات والبناء والنشر للأندرويد والآيفون.
يشرح الإصدار 1.0.0حُدّث في 24 أكتوبر 2026
ابدأ من هنا
ببساطة: تمنحك هذه الحزمة تطبيق تسوّق كاملًا للآيفون والأندرويد يبيع ما في متجر موقع أودو لديك. وهو من جزأين يعملان معًا: وحدة أودو (
taqnix_ecommerce_app) تثبّتها على خادم أودو، والشيفرة المصدرية بـ Flutter للتطبيق الذي تبنيه وتنشره باسمك. تقرر الوحدة شكل التطبيق (الشعار والألوان والصفحة الرئيسية بلافتاتها ومنزلقاتها) وطرق الدفع وتسجيل الدخول التي يعرضها والإشعارات التي يرسلها؛ أما المنتجات والأسعار والمخزون والعملاء والطلبات والمدفوعات فهي من أودو الخاص بك.نصيحة: تغيير تصميم الصفحة الرئيسية أو الألوان أو طرق الدفع في أودو يسري على كل تطبيق مثبّت عند فتحه في المرة التالية. لا تنشر إصدارًا جديدًا من التطبيق إلا لتغيير شيفرته أو اسمه أو أيقونته.
محتويات الحزمة
| البند | ما هو |
|---|---|
taqnix_ecommerce_app.zip | وحدة أودو 19: واجهة التطبيق، والهوية، ومصمم الصفحة الرئيسية، والدفع، وتسجيل الدخول، والإشعارات، وترجمة عربية. |
flutter-app-source.zip | مشروع Flutter للتطبيق (أندرويد وiOS) مع سكربت الإعداد tools/setup.dart وملف README واختباراته. |
documentation/ | هذا الدليل بالإنجليزية (index.html) والعربية (index-ar.html) مع ملفات PDF. |
licensing/ | الرخصة (OPL-1: شراء واحد = متجر واحد وعلامة تطبيق واحدة مع التحديثات). |
preview-images/ | لقطات من التطبيق ومن إعدادات أودو. |
changelog.txt | سجل الإصدارات. |
كيف يعمل
| الجزء | أين يعمل | ماذا يفعل |
|---|---|---|
| وحدة أودو | خادم أودو لديك | تجيب التطبيق على https://your-shop/mo-app/v1/...: الكتالوج والسلة والدفع والطلبات والحسابات وتخطيط الرئيسية والهوية. |
| تطبيق Flutter | هواتف عملائك | يعرض المتجر ويحتفظ بالسلة ويسجّل دخول العملاء ويفتح صفحة الدفع. |
| صفحة الدفع في موقع أودو | داخل التطبيق (عرض ويب) | تأخذ الدفع بمزوّد الدفع الذي أعددته في أودو (بطاقات ومحافظ وبوابات محلية) وتؤكد الطلب. |
| Firebase (اختياري) | يوصل الإشعارات الفورية إلى الهواتف. |
نصيحة: لا يتصل التطبيق بقاعدة البيانات مباشرة ولا يحتوي أي سر: تبقى مفاتيح مزوّدي الدفع في أودو، ويبقى مفتاح إرسال الإشعارات على الخادم.
ما تحتاج إليه
| البند | التفاصيل |
|---|---|
| أودو | الإصدار 19.0 Community أو Enterprise مع تطبيقات الموقع والتجارة الإلكترونية والخصومات والولاء (تُثبَّت تلقائيًا مع الوحدة). |
| العنوان | عنوان https عام لأودو (مثل https://shop.example.com): يجب أن تصل الهواتف إليه. الشهادة الموقّعة ذاتيًا لا تعمل على الهواتف. |
| متجرك | منتجات منشورة بأسعار وطريقة توصيل واحدة على الأقل ومزوّد دفع واحد على الأقل (أو الدفع عند الاستلام). |
| حاسوب لبناء التطبيق | جهاز Mac لبناء تطبيقي الآيفون والأندرويد (ويندوز أو لينكس يبنيان الأندرويد فقط) بمساحة حرة نحو 30 غيغابايت. |
| أدوات المطوّر | Flutter 3.41 أو أحدث وAndroid Studio وXcode (الإصدار الحالي) مع CocoaPods لـ iOS. |
| حسابات المتاجر | Google Play Console (رسم لمرة واحدة) وبرنامج Apple Developer (رسم سنوي) للنشر. |
| اختياري | مشروع Firebase (مجاني) للإشعارات؛ وإعدادات Google وFacebook وApple لتسجيل الدخول الاجتماعي. |
ثبّت وحدة أودو
- فُكّ ضغط الحزمة. بداخلها
taqnix_ecommerce_app.zip؛ فُكّه لتحصل على المجلدtaqnix_ecommerce_app. - انسخ المجلد إلى أحد مجلدات
addons_pathفي خادم أودو وأعد تشغيل أودو. - سجّل الدخول كمدير وفعّل وضع المطوّر ثم افتح التطبيقات واضغط تحديث قائمة التطبيقات.
- أزل مرشح «التطبيقات» وابحث عن eCommerce Mobile App Connector واضغط تثبيت.
# or from the command line ./odoo-bin -c odoo.conf -d YOUR_DATABASE -i taqnix_ecommerce_app --stop-after-init
نصيحة: تثبّت الوحدة تبعيات التجارة الإلكترونية في أودو التي تحتاج إليها. في Odoo.sh أو أودو المستضاف، ارفع المجلد عبر مستودع Git أو لوحة الاستضافة ثم حدّث قائمة التطبيقات.
ببساطة: بعد التثبيت يظهر تطبيق جديد باسم تطبيق الجوال في القائمة الرئيسية (للمسؤولين ولمستخدمي مجموعة تطبيق الجوال: مدير).
جهّز متجرك
ببساطة: يعرض التطبيق ما يعرضه موقع أودو، فجهّز المتجر أولًا كما تفعل للموقع.
| ماذا | أين في أودو | ملاحظات |
|---|---|---|
| المنتجات | الموقع ← التجارة الإلكترونية ← المنتجات | انشرها وأضف السعر والصور والأصناف والمتغيّرات (ألوان ومقاسات) والمخزون إن كنت تتابعه. |
| الأصناف | الموقع ← التجارة الإلكترونية ← أصناف التجارة الإلكترونية | أصناف المتجر (مع صورها) هي أصناف منزلق الأصناف والمرشحات. |
| طرق التوصيل | الموقع ← الإعدادات ← طرق الشحن | انشر واحدة على الأقل. يعرض التطبيق ما ينطبق على العنوان وسعره. |
| الضرائب والعملة | إعدادات المحاسبة والموقع | تُعرض الأسعار بالضريبة أو بدونها كما في موقعك (الموقع ← الإعدادات ← الأسعار). |
| رموز الخصم | الموقع ← التجارة الإلكترونية ← العروض | تعمل رموز العروض والقسائم في سلة التطبيق. |
| اللغات | الموقع ← الإعدادات ← اللغات | أضف لغات عملائك (مثل العربية)؛ تتبع المنتجات والأصناف والرسائل لغة الهاتف. |
نصيحة: افتح موقعك على الهاتف أولًا: ما ليس على الموقع ليس في التطبيق.
أعطِ التطبيق هويتك
ببساطة: افتح تطبيق الجوال ← الإعدادات. يحوي تبويب الهوية الاسم والشعار (يظهر في شاشة البداية وشاشات الدخول والقائمة) وأيقونة التطبيق الاختيارية والألوان ومظهر الأزرار والزوايا والقائمة الجانبية. يقرأ التطبيق كل ما تغيّره هنا عند بدء تشغيله.
| الإعداد | الأثر |
|---|---|
| الشعار | الأفضل PNG مربعة 1024 × 1024. وتصنع الصورة نفسها أيقونة التطبيق ما لم تضف أيقونة تطبيق. |
| اللون الأساسي والثانوي والتمييز | الأزرار والروابط والعناصر المحددة وإبراز الأسعار والشريط العلوي حين يكون نمطه اللون الأساسي. |
| خلفية شاشة البداية | اللون خلف الشعار أثناء تحميل التطبيق. |
| النمط والأزرار | Material 3 ومدى نعومة الأسطح أو تباينها واستدارة الزوايا وأزرار ممتلئة أو محددة بإطار أو بارزة. |
| اتجاه التخطيط | حسب اللغة (من اليمين إلى اليسار للعربية والعبرية) أو إجبار اليسار إلى اليمين أو اليمين إلى اليسار. |
| القائمة الجانبية | إظهارها أو إخفاؤها؛ وخلفية بلون أو تدرج أو صورة. |
صمّم الصفحة الرئيسية
ببساطة: تسرد تطبيق الجوال ← تخطيطات الرئيسية التخطيطات. التخطيط هو رصّة من الكتل من الأعلى إلى الأسفل؛ ويُعرض التخطيط الموسوم في التطبيق. يمكنك الاحتفاظ بعدة تخطيطات (مثل واحد للتخفيضات) والتبديل بـ عرض في التطبيق.
| الكتلة | ما تعرضه | الخيارات الرئيسية |
|---|---|---|
| اللافتات | منزلق أو تمرير جانبي أو شبكة أو بطاقات (كتل لافتات) من الصور. | تفتح كل لافتة عند النقر لا شيء أو منتجًا أو صنفًا أو بحثًا أو صفحة ويب؛ تشغيل تلقائي ونقاط وعدّاد وملاءمة الصورة. |
| المنتجات | منزلق أو شبكة أو قائمة أو تمرير جانبي للمنتجات. | الأحدث أو من صنف أو الأكثر مبيعًا أو الأعلى تقييمًا أو المخفضة أو المحددة يدويًا؛ والعدد؛ وعدّاد لتخفيض خاطف. |
| الأصناف | الأصناف أيقونات دائرية أو شبكة أو منزلقًا أو قائمة. | كل الأصناف العليا أو الأصناف الفرعية لصنف؛ والأحجام. |
ببساطة: يحدد تبويب الشريط العلوي العنوان أو الشعار ومربع البحث والألوان وسلوك الشريط عند التمرير؛ ويحدد تبويب الصفحة لون الصفحة والسحب للتحديث. يفتح معاينة البيانات التي يستقبلها التطبيق البيانات نفسها التي تصل الهواتف.
نصيحة: العناوين والأوصاف ونصوص اللافتات تُترجم لكل لغة كأي نص في أودو: بدّل لغة مستخدمك وعدّل.
استقبل المدفوعات
ببساطة: يعرض التطبيق الدفع عند الاستلام (يُؤكد الطلب فورًا) وكل مزوّد دفع إلكتروني مفعّل ومنشور في أودو. وفي الدفع الإلكتروني يرى العميل صفحة الدفع لموقعك داخل التطبيق ويدفع بالمزوّد ثم يعود إلى التأكيد.
- في أودو افتح الموقع ← الإعدادات ← مزوّدو الدفع (أو المحاسبة ← الإعدادات ← مزوّدو الدفع).
- اختر مزوّدًا (Stripe أو PayPal أو Adyen أو Razorpay أو Mollie أو Paymob أو Flutterwave أو Authorize.Net أو Worldline أو Mercado Pago أو Xendit وغيرها) وأدخل المفاتيح التي يعطيك إياها واجعل الحالة اختبار أولًا ثم مفعّل.
- فعّل منشور واختر طرق الدفع والدول والعملات التي يقبلها.
- في تطبيق الجوال ← الإعدادات ← المدفوعات اترك طرق الدفع عبر الإنترنت فارغة لعرضها كلها، أو اختر ما يعرضه التطبيق.
- قدّم طلبًا تجريبيًا من التطبيق وتحقق من الدفع في تطبيق الجوال ← طلبات التطبيق.
مهم: لكل مزوّد قواعده (العملات والدول المقبولة والتحقق الثلاثي ونقاط الاستدعاء). اتبع توثيق أودو للمزوّد واختبر في وضع الاختبار قبل التشغيل الفعلي. التحويل المصرفي يعمل أيضًا: يُؤكد الطلب مع تعليمات الدفع.
تسجيل الدخول وإنشاء الحساب
ببساطة: يستطيع العملاء إنشاء حساب وتسجيل الدخول بالبريد وكلمة المرور أو المتابعة كزائر (إن سمحت) أو استخدام Google وFacebook وApple. يتحقق الخادم من كل رمز تسجيل دخول اجتماعي لدى المزوّد ويقبل فقط الرموز الصادرة لمعرّفات تطبيقك. ولا يستطيع مستخدمو أودو الموظفون تسجيل الدخول إلى التطبيق أبدًا.
| الطريقة | ما تُعدّه | أين |
|---|---|---|
| مشروع Google Cloud وشاشة موافقة OAuth ومعرّفات عميل OAuth: ويب (يستخدمه الأندرويد أيضًا) وأندرويد (اسم الحزمة وSHA-1) وiOS (معرّف الحزمة). الصق معرّفي الويب وiOS في معرّفات عميل Google. | console.cloud.google.com ← APIs & Services ← Credentials | |
| تطبيق Facebook مع Facebook Login؛ انسخ معرّف التطبيق إلى أودو، والمعرّف ورمز العميل إلى التطبيق (انظر README التطبيق). | developers.facebook.com | |
| Apple | معرّف تطبيق مع إمكانية Sign in with Apple؛ الصق معرّف الحزمة في معرّفات عميل Apple. تشترطه Apple حين يعرض التطبيق تسجيل دخول اجتماعيًا آخر. | developer.apple.com ← Certificates, IDs & Profiles |
نصيحة: إعدادات كل مزوّد في التطبيق (مخططات URL ومعرّفات العميل والاستحقاقات) مذكورة خطوة بخطوة في
docs/native-setup.md داخل مجلد التطبيق.ببساطة: يرسل نسيت كلمة المرور رسالة إعادة التعيين القياسية في أودو. وحذف حسابي داخل التطبيق (تشترطه Apple) يعطّل الحساب ويزيل البيانات الشخصية؛ وتبقى الطلبات لمحاسبتك.
الإشعارات الفورية (اختياري)
ببساطة: يستطيع التطبيق إخبار العملاء حين يُقدَّم طلب أو تتغيّر حالته (ملغى أو مُسلَّم جزئيًا أو كليًا)، ويمكنك إرسال رسالة إلى كل الأجهزة. يستخدم Firebase Cloud Messaging وهو مجاني.
- أنشئ مشروعًا في console.firebase.google.com وأضف تطبيق أندرويد (باسم حزمتك) وتطبيق iOS (بمعرّف حزمتك).
- في أودو، تطبيق الجوال ← الإعدادات ← الإشعارات، انسخ معرّف المشروع ومعرّفي تطبيقي أندرويد وiOS ومفتاح API ومعرّف المرسل (إعدادات المشروع ← عام).
- في Firebase افتح إعدادات المشروع ← حسابات الخدمة ← إنشاء مفتاح خاص جديد والصق كامل ملف JSON في ملف JSON لحساب الخدمة في أودو. يبقى على الخادم.
- للآيفون، ارفع مفتاح مصادقة APNs في Firebase (إعدادات المشروع ← Cloud Messaging) وفعّل Push Notifications لمعرّف التطبيق لدى Apple.
- يسمح العملاء بالإشعارات عند أول تسجيل دخول. استخدم تطبيق الجوال ← إرسال إشعار لرسالة إلى كل الأجهزة أو إلى عملاء محددين.
نصيحة: يمكن لنصوص إشعارات الطلبات استخدام {first_name} و{order_name} و{order_status} و{total}.
جهّز حاسوبك
- ثبّت Flutter من flutter.dev (الإصدار 3.41 أو أحدث) ونفّذ
flutter doctorوأصلح ما يبلغ عنه. - أندرويد: ثبّت Android Studio وافتحه مرة وثبّت Android SDK واقبل التراخيص بـ
flutter doctor --android-licenses. - آيفون (على Mac فقط): ثبّت Xcode من App Store وافتحه مرة لقبول الرخصة وثبّت أدوات سطر الأوامر (
xcode-select --install) وCocoaPods (sudo gem install cocoapodsأوbrew install cocoapods). - فُكّ ضغط
flutter-app-source.zipفي مجلد بلا مسافات ثم نفّذflutter pub getداخله.
نصيحة: يجب ألا يُظهر
flutter doctor علامة حمراء للمنصات التي تبني لها.اربط التطبيق بمتجرك
ببساطة: يكتب سكربت الإعداد عنوان متجرك واسم حزمتك في المشروع ويأخذ اسم التطبيق وألوانه من أودو وينزّل شعارك وأيقونتك.
dart run tools/setup.dart --url https://shop.example.com --package com.yourcompany.shop flutter pub get dart run flutter_launcher_icons dart run flutter_native_splash:create
| الخيار | المعنى |
|---|---|
| --url | عنوان https لموقع أودو (بلا شرطة مائلة في النهاية). |
| --package | المعرّف الفريد لتطبيقك مثل com.yourcompany.shop. لا يمكن تغييره بعد النشر. |
| --name | اختياري. الاسم تحت الأيقونة؛ وافتراضيًا الاسم المضبوط في أودو. |
نصيحة: يمكنك أيضًا تمرير العنوان عند التشغيل أو البناء:
flutter run --dart-define=SITE_URL=https://shop.example.com.شغّل التطبيق واختبره
- شغّل محاكي أندرويد أو محاكي آيفون أو وصّل هاتفك.
- نفّذ
flutter run(أضف--dart-define=SITE_URL=...إن لم تستخدم سكربت الإعداد). - جرّب: الرئيسية وصنفًا والبحث والمرشحات ومنتجًا بخيارات والسلة وقسيمة وإتمام الشراء بالدفع عند الاستلام وبمزوّد إلكتروني في وضع الاختبار والطلبات وقائمة الرغبات وتسجيل الدخول وإنشاء الحساب.
- في أودو تحقق من تطبيق الجوال ← طلبات التطبيق والأجهزة.
نصيحة: لاختبار أودو على حاسوبك عبر http، شغّل نسخة التطوير (تسمح بـ http؛ أما نسخ الإصدار فتسمح بـ https فقط).
ابنِ تطبيق أندرويد وانشره
- أنشئ مفتاح التوقيع مرة واحدة واحتفظ به بأمان (بدونه لا يمكنك تحديث التطبيق أبدًا):
keytool -genkey -v -keystore ~/upload-keystore.jks -keyalg RSA -keysize 2048 -validity 10000 -alias upload. - أنشئ
android/key.propertiesفيهstorePasswordوkeyPasswordوkeyAlias=uploadوstoreFile(مسار المفتاح). يعرض README التطبيق الأسطر بدقة. - ابنِ:
flutter build appbundle --release --dart-define=SITE_URL=https://shop.example.com. الملف هوbuild/app/outputs/bundle/release/app-release.aab. - في Google Play Console أنشئ التطبيق واملأ صفحة المتجر (الاسم والوصف وأيقونة 512 × 512 وصورة الميزة 1024 × 500 ولقطات الهاتف) ونموذج أمان البيانات وتصنيف المحتوى ورابط سياسة الخصوصية.
- ارفع ملف .aab إلى مسار اختبار أولًا. على حسابات المطوّرين الشخصية الجديدة إجراء اختبار مغلق بـ 12 مختبرًا على الأقل لمدة 14 يومًا قبل طلب الإنتاج؛ وحسابات المؤسسات لا تحتاج ذلك.
- أرسل الإصدار للمراجعة ثم انشر.
مهم: استخدم اسم الحزمة نفسه ومفتاح التوقيع نفسه في كل تحديث.
ابنِ تطبيق الآيفون وانشره
- في developer.apple.com أنشئ App ID بمعرّف حزمتك والإمكانات التي تستخدمها: Sign in with Apple وPush Notifications.
- في App Store Connect أنشئ التطبيق بمعرّف الحزمة نفسه.
- افتح
ios/Runner.xcworkspaceفي Xcode واختر هدف Runner ← Signing & Capabilities واختر فريقك وفعّل Automatically manage signing. - ابنِ:
flutter build ipa --release --dart-define=SITE_URL=https://shop.example.comثم ارفع بـ Xcode (Window ← Organizer ← Distribute App) أو تطبيق Transporter. - في TestFlight اختبر الإصدار، ثم في App Store Connect املأ الصفحة واللقطات وتفاصيل الخصوصية ومعلومات المراجعة وقدّم للمراجعة.
| قائمة مراجعة Apple | هل يفعلها التطبيق؟ |
|---|---|
| حذف الحساب داخل التطبيق | نعم (الحساب ← حذف حسابي) |
| Sign in with Apple بجانب تسجيلات الدخول الاجتماعية الأخرى | نعم (فعّله في أودو) |
| روابط سياسة الخصوصية والشروط | اضبطها في أودو ← الإعدادات ← روابط |
| حساب تجريبي للمراجع | أنشئ عميلًا في أودو واكتبه في ملاحظات المراجعة |
| الدفع لسلع مادية ببوابتك | مسموح: يبيع التطبيق سلعًا مادية لا محتوى رقميًا |
العمل اليومي
ببساطة: اعمل كما تعمل للموقع. تسرد تطبيق الجوال ← طلبات التطبيق الطلبات المقدّمة من التطبيق مع طريقة الدفع وموقع التوصيل الذي شاركه العميل؛ أكّدها وسلّمها وفوتِرها كالعادة. تعرض الأجهزة الهواتف المسجّلة؛ وتسجيل خروج كل الأجهزة في تبويب الربط يجبر الجميع على تسجيل الدخول من جديد.
نصيحة: وضع الصيانة (الإعدادات ← روابط) يعرض رسالتك بدل المتجر؛ وأقل إصدار للتطبيق يطلب من التطبيقات القديمة أن تتحدّث.
اللغات والاتجاه من اليمين إلى اليسار
ببساطة: يتبع التطبيق لغة الهاتف (الإنجليزية والعربية مضمّنتان؛ ويصبح التخطيط من اليمين إلى اليسار للعربية). تأتي المنتجات والأصناف واللافتات وأسماء الدفع والشحن ورسائل الخادم من أودو باللغة نفسها. والإدارة مترجمة أيضًا.
نصيحة: لإضافة لغة أخرى للتطبيق انسخ
lib/l10n/app_en.arb إلى app_xx.arb وترجمه؛ انظر README التطبيق.التحديثات
استبدل مجلد الوحدة بالإصدار الجديد وأعد تشغيل أودو ونفّذ -u taqnix_ecommerce_app؛ تبقى إعداداتك وتخطيطاتك وأجهزتك. أما التطبيق فافتح المصدر الجديد بجوار مشروعك واحتفظ بـ android/key.properties ومفتاح التوقيع، ثم شغّل سكربت الإعداد من جديد (فهو يعيد كتابة عنوان المتجر واسم الحزمة والهوية) وابنِ. اجعل رقم البناء أعلى من المنشور (version: في pubspec.yaml).
الأمان والخصوصية
| الموضوع | كيف يُعالج |
|---|---|
| الأسرار | تبقى مفاتيح المزوّدين ومفتاح الإشعارات في أودو. ولا يحتوي التطبيق إلا معرّفات عامة. |
| الجلسات | يحمل الهاتف المسجّل رمزًا عشوائيًا ولا يخزّن أودو إلا بصمته. تُزال رموز الأجهزة غير المستخدمة لسنة. وتلغيها عمليتا الخروج وحذف الحساب. |
| تسجيل الدخول الاجتماعي | تُتحقق الرموز لدى Google وFacebook وApple على الخادم، بما في ذلك معرّف التطبيق الذي صدرت له. |
| حسابات الموظفين | لا يستطيع مستخدمو أودو ذوو الوصول الداخلي تسجيل الدخول إلى التطبيق. |
| المدفوعات | يتولاها مزوّدك في صفحة الدفع للموقع؛ ولا يرى التطبيق بيانات البطاقة. رابط الدفع موقّع وينتهي بعد ساعة. |
| الطلبات والعناوين | يرى العميل طلباته وعناوينه فقط؛ ويرى الزائر الطلب الذي قدّمه من التطبيق نفسه فقط. |
| التقييمات | لا يكتبها إلا العملاء المسجّلون. |
| الخصوصية | حذف الحساب يجعل العميل مجهول الهوية. اكتب سياسة الخصوصية (تطلبها المتاجر) واربطها في الإعدادات. |
نصيحة: احمِ إنشاء الحسابات من الروبوتات بأدواتك المعتادة (حدود معدل في الجدار الناري أو الوسيط العكسي) كأي عنوان أودو عام.
أمور يجب معرفتها
| الحد | التفصيل |
|---|---|
| متجر واحد لكل موقع | لكل موقع في أودو إعداد تطبيق واحد؛ وفي أودو متعدد المواقع إعداد لكل موقع. |
| أسعار المرشحات | يستخدم مرشح السعر السعر العام للمنتج قبل خصومات قوائم الأسعار. |
| المتغيّرات | المنتجات ذات التوليفات الكثيرة: لا يُشترى في التطبيق إلا المتغيّرات الموجودة (أنشئ المتغيّرات عند ضبط المنتج). |
| الدخول بالهاتف | تسجيل الدخول برمز SMS غير مشمول. |
| المحفظة ونقاط الولاء | غير مشمولة؛ أما رموز العروض والقسائم فمشمولة. |
| Apple Pay وGoogle Pay | لا تظهر أزرارهما داخل عرض ويب الدفع؛ والبطاقات وطرق إعادة التوجيه الأخرى تعمل. |
| بلا اتصال | يحتاج التطبيق إلى اتصال؛ ويعرض رسالة ودّية عند انقطاعه. |
للمطورين
ببساطة: تخطَّ هذا الفصل إن كنت تستخدم المنتج فقط.
curl https://shop.example.com/mo-app/v1/ping
# {"ok": true, "api_version": 1}
curl https://shop.example.com/mo-app/v1/homepage
curl "https://shop.example.com/mo-app/v1/products?per_page=5&orderby=price&order=asc"
curl -X POST https://shop.example.com/mo-app/v1/auth/login -H 'Content-Type: application/json' -d '{"email": "sara@example.com", "password": "..."}'| المجال | نقاط النهاية تحت /mo-app/v1 |
|---|---|
| التطبيق | GET /ping و/homepage و/app-config و/branding/logo.png و/branding/icon.png |
| الكتالوج | GET /categories و/products و/products/<id> و/product-attributes و/products/<id>/reviews؛ POST /write-review |
| السلة | POST /cart و/cart/add و/cart/update و/cart/remove و/cart/apply-coupon و/cart/remove-coupon |
| إتمام الشراء | GET /checkout/form؛ POST /checkout/update-review و/checkout؛ GET /pay/<order> (رابط موقّع) و/orders/<id>/payment-status |
| الحساب | POST /auth/login و/auth/register و/auth/social-login و/auth/logout و/auth/profile و/auth/forgot-password و/auth/delete-account و/auth/fcm-token |
| الطلبات وغيرها | POST /orders و/orders/<id>؛ GET/POST /addresses؛ GET/POST /wishlist و/wishlist/toggle و/wishlist/details |
ببساطة: ترسل الطلبات المسجّلة
Authorization: Bearer <token>؛ وسلة الزائر هي ملف الارتباط mo_cart (أو الترويسة X-Cart-Token)؛ واللغة ترويسة Accept-Language أو ?lang=. والأخطاء {code, message, data: {status}}. تستخدم شيفرة Flutter Riverpod وgo_router وDio؛ وخريطة المجلدات في README التطبيق. للوحدة أكثر من 70 اختبارًا آليًا (--test-tags /taqnix_ecommerce_app) وللتطبيق اختبارات وحدة (flutter test).استكشاف الأخطاء
| المشكلة | ما العمل |
|---|---|
| يعرض التطبيق خطأ اتصال | افتح https://your-shop/mo-app/v1/ping على الهاتف. يجب أن يجيب {"ok": true}. افحص العنوان (https وبلا شرطة في النهاية) والشهادة وأن الوحدة مثبتة في قاعدة البيانات الصحيحة. |
| الصفحة الرئيسية فارغة | افتح تطبيق الجوال ← الإعدادات ← الصفحة الرئيسية واختر تخطيطًا؛ وأضف إليه كتلًا. |
| منتج غير ظاهر | انشره في الموقع وافحص صنفه والموقع الذي ينتمي إليه. |
| لا طريقة دفع في إتمام الشراء | فعّل مزوّدًا وانشره، أو شغّل الدفع عند الاستلام في الإعدادات ← المدفوعات. |
| صفحة الدفع تبقى فارغة أو تعود إلى السلة | يجب أن يناسب عنوان التوصيل وطريقة الشحن وعملة المزوّد السلة. افتح الطلب نفسه في الموقع لترى الرسالة. |
| تسجيل الدخول الاجتماعي يقول رمز غير صالح | معرّف العميل في أودو لا يطابق ما بُني به التطبيق (معرّف الويب لـ Google ومعرّف الحزمة لـ Apple). |
| لا إشعارات | افحص معرّفات Firebase وحساب الخدمة وأن العميل سمح بالإشعارات و(للآيفون) مفتاح APNs. |
| التطبيق القديم لا يرى تغييري | يُقرأ التخطيط والألوان والدفع عند البدء؛ أغلق التطبيق وافتحه. أما الاسم والأيقونة فيحتاجان بناءً جديدًا. |
الدعم
المساعدة في التثبيت وإصلاح الأخطاء مشمولان لمدة 6 أشهر مع تحديثات مدى الحياة. تواصل معنا عبر صفحة السوق التي اشتريت منها الوحدة أو راسل support@taqnix.com مع إصدار أودو ولقطة شاشة.