إنتقل إلى المحتوى الرئيسي

تطبيق Android

دليل المطوّر لـ Android

يغطي هذا المستند تطبيق Android الأصلي الخاص بـ LeadHub — المكتوب بلغة Kotlin — الذي يتصل بنسختك من LeadHub عبر واجهة برمجة التطبيقات REST. يُوجَّه هذا الدليل للمطورين الذين يحتاجون إلى بناء التطبيق أو تخصيصه أو نشره.


المتطلبات

قبل البدء، تأكد من توفر ما يلي:

المتطلبالتفاصيل
Android StudioHedgehog (2023.1.1) أو أحدث
JDK17 أو أعلى
الحد الأدنى لمستوى API26 (Android 8.0)
نسخة LeadHubيجب أن تكون متاحة عبر HTTPS مع شهادة SSL صالحة
مفتاح APIيُنشأ من لوحة تحكم المستخدم

إعداد المشروع

1. فتح المشروع

افتح مجلد android/ في Android Studio. سيقوم Gradle بمزامنة التبعيات تلقائيًا.

2. تكوين عنوان URL الأساسي

افتح app/src/main/assets/config.xml وحدد عنوان URL لنسختك:

<config>
<base_url>https://yourdomain.com</base_url>
</config>

3. المزامنة والبناء

نفّذ Build → Make Project للتحقق من أن كل شيء يُترجَم بشكل صحيح.


البنية المعمارية

يستخدم التطبيق نمط MVVM القياسي في Android:

الطبقةالتقنية
الشبكةRetrofit + OkHttp
حالة واجهة المستخدمViewModel + LiveData
التخزين المحليRoom (قاعدة بيانات SQLite)
الإشعارات الفوريةFirebase Cloud Messaging (FCM)
تخزين بيانات الاعتمادEncryptedSharedPreferences

تدفق المصادقة

  1. يُدخل المستخدم عنوان URL للنسخة ومفتاح API في شاشة تسجيل الدخول.
  2. يستدعي التطبيق GET /api/health للتحقق من إمكانية الوصول إلى النسخة.
  3. يستدعي التطبيق GET /api/users/me باستخدام مفتاح API كرمز Bearer.
  4. عند النجاح، يُحفظ مفتاح API في EncryptedSharedPreferences ويُعتبر المستخدم مصادَقًا.

الإشعارات الفورية

يستخدم التطبيق Firebase Cloud Messaging لإشعارات العملاء المحتملين الجدد.

  1. أنشئ مشروعًا في Firebase Console.
  2. أضف تطبيق Android باسم الحزمة الخاص بتطبيقك.
  3. قم بتنزيل google-services.json وضعه في مجلد app/.
  4. أضف مفتاح خادم FCM (FCM_SERVER_KEY) إلى تكوين خادم LeadHub حتى يتمكن الخادم من إرسال الإشعارات.

البناء للإصدار

1. إنشاء Keystore

keytool -genkey -v -keystore leadhub.keystore -alias leadhub -keyalg RSA -keysize 2048 -validity 10000

2. تكوين التوقيع

أضف تفاصيل keystore إلى ملف build.gradle الخاص بتطبيقك ضمن قسم signingConfigs.

3. بناء APK / AAB للإصدار

استخدم Build → Generate Signed Bundle / APK في Android Studio، أو نفّذ:

./gradlew bundleRelease

سيكون ملف AAB الناتج في app/build/outputs/bundle/release/.

4. الرفع إلى Google Play

ارفع ملف AAB في Google Play Console ضمن الإنتاج → إنشاء إصدار جديد.


نقاط نهاية API المستخدمة

نقطة النهايةالغرض
GET /api/healthالتحقق من إمكانية الوصول إلى النسخة
GET /api/users/meالتحقق من صلاحية مفتاح API والحصول على معلومات المستخدم
GET /api/leadsجلب قائمة العملاء المحتملين
GET /api/leads/{id}الحصول على تفاصيل عميل محتمل
PUT /api/leads/{id}تحديث عميل محتمل
GET /api/pipelinesجلب خطوط الأنابيب والمراحل

الحد الأدنى من صلاحيات مفتاح API المطلوبة

الصلاحيةالسبب
read:leadsعرض العملاء المحتملين
write:leadsتحديث العملاء المحتملين من التطبيق
read:pipelinesعرض مراحل خط الأنابيب