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

تطبيق iOS

هذا الدليل موجَّه للمطورين الذين يقومون ببناء أو تخصيص تطبيق iOS المرافق لـ LeadHub. كود المصدر مكتوب بلغة Swift ويستهدف iPhone وiPad.


المتطلبات

  • Xcode 15 أو أحدث (macOS فقط)
  • Swift 5.9 أو أحدث
  • الحد الأدنى لنشر iOS: iOS 15.0
  • حساب Apple Developer (مطلوب لـ TestFlight والتوزيع على App Store)
  • نسخة LeadHub مع رابط HTTPS صالح ومفتاح API نشط

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

  1. افتح مجلد ios/ من حزمة LeadHub التي اشتريتها في Xcode.
  2. افتح ملف .xcworkspace (وليس .xcodeproj) إذا كانت هناك تبعيات CocoaPods أو Swift Package Manager.
  3. اختر فريق التطوير الخاص بك في إعدادات Signing & Capabilities للمشروع.
  4. ابنِ التطبيق وشغّله على محاكي أو جهاز.

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

يستخدم التطبيق بنية iOS قياسية:

  • URLSession مع عميل API مخصص لاستدعاءات HTTP إلى LeadHub REST API
  • Combine أو async/await للعمليات غير المتزامنة
  • SwiftUI لواجهة المستخدم
  • CoreData للتخزين المؤقت المحلي للعملاء المحتملين بين الجلسات
  • Apple Push Notification Service (APNs) للإشعارات الفورية

يتم تخزين مفاتيح API في iOS Keychain باستخدام إطار عمل Security.


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

  1. يُدخل المستخدم رابط نسخة LeadHub ومفتاح API في شاشة الإعداد الأولي.
  2. يُرسل التطبيق طلب GET /api/v1/health للتحقق من إمكانية الوصول إلى النسخة عبر HTTPS.
  3. يتحقق من صلاحية مفتاح API عبر إرسال طلب مصادَق اختباري.
  4. يُخزَّن الرابط ومفتاح API في Keychain.

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

تستخدم الإشعارات الفورية خدمة Apple Push Notification Service (APNs).

  1. في حساب Apple Developer الخاص بك، أنشئ مفتاح APNs (ملف .p8) ضمن Certificates, Identifiers & Profiles → Keys.
  2. دوّن Key ID وTeam ID الخاصَّين بك.
  3. في إعدادات backend الخاصة بـ LeadHub، عيّن APNS_KEY وAPNS_KEY_ID وAPNS_TEAM_ID وAPNS_BUNDLE_ID.
  4. في Xcode، فعّل ميزة Push Notifications ضمن Signing & Capabilities.

يسجّل التطبيق إشعاراته الفورية عند أول تشغيل ويرسل رمز الجهاز إلى backend الخاص بـ LeadHub عبر API.


البناء للتوزيع

  1. أرشف التطبيق عبر Product → Archive في Xcode.
  2. في نافذة Organizer، انقر على Distribute App.
  3. اختر App Store Connect للتوزيع على App Store، أو TestFlight لاختبار النسخة التجريبية.
  4. اتبع تعليمات Xcode للرفع.

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

نقطة النهايةالغرض
GET /api/v1/healthالتحقق من اتصال النسخة
GET /api/v1/leadsتحميل قائمة العملاء المحتملين
GET /api/v1/leads/{id}تحميل تفاصيل العميل المحتمل
PATCH /api/v1/leads/{id}تحديث حالة العميل المحتمل أو مرحلته
POST /api/v1/leads/{id}/tagsإضافة وسم للعميل المحتمل
GET /api/v1/pipelinesتحميل قائمة خطوط الأنابيب لمحدد المراحل

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

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

إفصاح خصوصية App Store

عند التقديم على App Store، أعلن عن استخدام البيانات التالية في قسم App Privacy:

  • معلومات الاتصال (البريد الإلكتروني، الهاتف) — مجمَّعة من العملاء المحتملين، وليس من المستخدمين
  • المعرِّفات (مفتاح API) — مرتبطة بالمستخدم، تُستخدم للمصادقة
  • بيانات الاستخدام — لا تُجمَّع