Cellular (الاتصال الخلوي) — تقنية نقل لاسلكي للصوت والبيانات عبر شبكة من المحطات الأساسية (BS) تغطي المنطقة بخلايا يتراوح قطرها من 200 متر (خلايا صغيرة) إلى 50 كيلومترًا (خلايا كبيرة). في التطبيقات المحمولة، الإنترنت الخلوي هو القناة الرئيسية لتنزيل المحتوى خارج مناطق Wi-Fi. وفقًا لـ تقرير GSMA للاقتصاد المحمول، 2025، هناك أكثر من 5.6 مليار مستخدم فريد للهواتف المحمولة في العالم، وبلغ متوسط سرعة التنزيل في شبكات 5G 240 ميجابت/ثانية.
الرئيسية
الاتصال الخلوي — معيار اتصال لاسلكي محمول يعتمد على تقسيم المنطقة إلى خلايا، كل منها تخدمها محطة أساسية (BS). عند تحرك الجهاز، يحدث تسليم (handover) — تبديل تلقائي بين الخلايا دون انقطاع الاتصال. تختلف أحجام الخلايا: خلايا كبيرة (10–50 كم) للمناطق الريفية، وخلايا صغيرة (200–2000 م) للمدن، وخلايا متناهية الصغر (حتى 50 م) للأماكن المغلقة.
تتضمن بنية الشبكة الخلوية ثلاثة مكونات رئيسية: User Equipment (UE) — الهاتف الذكي أو المودم؛ Radio Access Network (RAN) — مجموعة من المحطات الأساسية مع الهوائيات؛ Core Network — التوجيه والمصادقة والفواتير والاتصال بالإنترنت. تختلف الأجيال المختلفة في بنية Core Network وطرق تعديل إشارة الراديو.
على عكس Wi-Fi، تستخدم الشبكات الخلوية ترددات مرخصة — يحصل كل مشغل على نطاقات حصرية في المزادات. وهذا يضمن عدم وجود تداخل بين المشغلين، ولكنه يحد من سرعة نشر المعايير الجديدة بسبب الحاجة إلى إعادة تخصيص الترددات.
جلب كل جيل من الاتصال الخلوي (N-G) نموًا هائلاً في السرعة وحالات استخدام جديدة. 2G (GSM) قام برقمنة الصوت لأول مرة وأدخل SMS. 3G (UMTS, HSDPA) فتح الإنترنت المحمول للمستخدم العام. 4G LTE انتقل بالكامل إلى حزم IP، متخليًا عن تبديل الدوائر. 5G NR ركز على زمن الوصول المنخفض للغاية وتقسيم الشبكة إلى شرائح افتراضية.
| الجيل | المعيار | السرعة القصوى | زمن الوصول | السنة |
|---|---|---|---|---|
| 2G | GSM / GPRS / EDGE | 384 كيلوبت/ثانية (EDGE) | ~300 مللي ثانية | 1991 |
| 3G | UMTS / HSPA+ | 42 ميجابت/ثانية (HSPA+) | ~100 مللي ثانية | 2001 |
| 4G | LTE-Advanced Pro | 3 جيجابت/ثانية | ~30 مللي ثانية | 2009 |
| 5G | NR (New Radio) | 20 جيجابت/ثانية | <5 مللي ثانية | 2019 |
| 6G | قيد التطوير | 1 تيرابت/ثانية (متوقع) | <0.1 مللي ثانية | 2030 (مخطط) |
تحدد أنظمة التشغيل المحمولة الجيل الحالي للشبكة من خلال واجهة الراديو. على Android، يتوفر TelephonyManager.getDataNetworkType() الذي يعيد الثابت NETWORK_TYPE_LTE أو NETWORK_TYPE_NR. يوفر iOS CTTelephonyNetworkInfo مع خاصية serviceCurrentRadioAccessTechnology.
4G LTE يعتمد على بنية all-IP مسطحة مقسمة إلى Evolved Packet Core (EPC) و Evolved Node B (eNB). eNB هي محطة أساسية تجمع بين وظائف الاتصال اللاسلكي والتوجيه الأساسي. يتكون EPC من MME (إدارة التنقل) و SGW (بوابة الخدمة لتبادل البيانات مع eNB) و PGW (بوابة الحزم إلى الإنترنت).
OFDMA (Orthogonal Frequency Division Multiple Access) — التقنية الرئيسية لـ LTE: يتم تقسيم موارد التردد إلى ناقلات فرعية، يتم تعيين كل منها لمستخدم معين. يسمح MIMO 4×4 بإرسال ما يصل إلى 4 تدفقات بيانات مستقلة على تردد واحد. يجمع Carrier Aggregation ما يصل إلى 5 ترددات حاملة، مما يزيد عرض النطاق الترددي 5 مرات.
الشبكات التراكبية — LTE-Advanced و LTE-Advanced Pro — أضافت CoMP (الإرسال المنسق من عدة eNB) و LAA (LTE في النطاق غير المرخص 5 جيجاهرتز). بالنسبة للمطور، هذه التحسينات شفافة: يستخدم برنامج تشغيل المودم تلقائيًا التقنيات المتاحة دون تغيير كود التطبيق.
fun getCellularType(context: Context): String {
val tm = context.getSystemService(Context.TELEPHONY_SERVICE)
as TelephonyManager
return when (tm.dataNetworkType) {
TelephonyManager.NETWORK_TYPE_NR -> "5G"
TelephonyManager.NETWORK_TYPE_LTE -> "4G LTE"
TelephonyManager.NETWORK_TYPE_HSPAP -> "3G HSPA+"
else -> "2G/Unknown: ${tm.dataNetworkType}"
}
}
تحصل الدالة على TelephonyManager وتحدد نوع الشبكة النشط. على Android 10+، للوصول إلى dataNetworkType يلزم إذن READ_PHONE_STATE، وبدءًا من Android 11 — فقط للتطبيقات المثبتة كمعالج اتصالات أو رسائل SMS.
5G NR (New Radio) — تحديث جذري للطبقة المادية مقارنة بـ LTE. يعمل المعيار في نطاقي تردد: FR1 (Sub-6, 1–6 جيجاهرتز) للتغطية الشاملة و FR2 (mmWave, 24–52 جيجاهرتز) للسرعات فائقة الارتفاع على مسافات قصيرة. يتطلب mmWave خط رؤية مباشر للهوائي — حتى أوراق الشجر تسبب توهينًا يصل إلى 30 ديسيبل.
وضعان للنشر: NSA (Non-Standalone) — يعمل 5G NR مع Core LTE لتسريع الإطلاق، و SA (Standalone) — شبكة 5G Core مستقلة تمامًا مع دعم Network Slicing. يقسم Network Slicing البنية التحتية المادية إلى شرائح افتراضية: شريحة لـ IoT (سرعة منخفضة، استهلاك طاقة فائق الانخفاض)، وأخرى للمركبات ذاتية القيادة (زمن وصول < 1 مللي ثانية).
للتطبيقات المحمولة، يعني 5G ليس فقط السرعة، ولكن أيضًا سلوك استهلاك طاقة جديد: تستهلك وحدات mmWave ما يصل إلى 2 واط في الوضع النشط (مقابل 0.5 واط لـ LTE). عند التطوير لـ 5G، يوصى بمراعاة أن نقل البيانات المتكرر في mmWave يستنزف البطارية بسرعة — من الأفضل تخزين البيانات مؤقتًا وإرسالها على دفعات في نطاق Sub-6.
import CoreTelephony
func check5GStatus() -> String {
let info = CTTelephonyNetworkInfo()
guard let tech = info.serviceCurrentRadioAccessTechnology
?.values.first else { return "No cellular" }
if tech == CTRadioAccessTechnologyNRNSA {
return "5G NSA"
} else if tech == CTRadioAccessTechnologyNR {
return "5G SA"
} else {
return "LTE أو 3G: \(tech)"
}
}
iOS عبر CoreTelephony يبلغ عن نوع الاتصال النشط: CTRadioAccessTechnologyNR لـ SA (5G نقي) و CTRadioAccessTechnologyNRNSA لـ NSA (5G مع نواة LTE). تساعد هذه المعلومات في تكييف سلوك التطبيق — على سبيل المثال، تحميل المحتوى الثقيل فقط في وضع SA مع زمن وصول منخفض.
يمكن للتطبيق المحمول تكييف سلوكه وفقًا لنوع وجودة الاتصال الخلوي. ConnectivityManager (Android) و NWPathMonitor (iOS) يخطران التطبيق بتغييرات الشبكة — التبديل من Wi-Fi إلى Cellular، فقدان الإشارة أو توفر 5G.
سيناريوهات المعالجة الرئيسية:
RSSI (Received Signal Strength Indicator) — المقياس الرئيسي لجودة الإشارة الخلوية. تتراوح القيم من -50 dBm (إشارة ممتازة) إلى -120 dBm (لا توجد شبكة تقريبًا). يوفر Android الوصول إلى RSSI عبر SignalStrength.getLevel()، iOS — عبر CTCarrier (وصول محدود).
import Network
let monitor = NWPathMonitor()
monitor.pathUpdateHandler = { path in
if path.usesInterfaceType(.cellular) {
print("الشبكة الخلوية نشطة")
if path.isExpensive {
print("اتصال مدفوع — تقييد حركة المرور")
}
}
}
monitor.start(queue: .main)
يقوم NWPathMonitor من إطار Network بمراقبة نوع الاتصال (cellular, wi-fi, wired) وعلامة isExpensive التي تشير إلى اتصال مدفوع. على iOS، هذه هي الطريقة الرئيسية لتكييف سلوك التطبيق مع نوع الشبكة الحالي دون وصول مباشر إلى واجهة الراديو.
على الرغم من أن التطبيق لا يتحكم في اختيار المشغل، إلا أن معرفة خصائص الباقات المختلفة تساعد المطور في اتخاذ القرارات. APN (Access Point Name) — بوابة بين الشبكة الخلوية والإنترنت. توفر نقاط APN المختلفة (internet, ims, mms) جودة خدمة QoS مختلفة — APN للصوت (IMS) له أولوية على حركة مرور الإنترنت.
يقوم المشغلون العصريون بإدخال DNN (Data Network Name) في 5G SA — وهو مشابه لـ APN مع إمكانية التقسيم حسب المتطلبات: ultra-reliable low-latency (URLLC)، enhanced mobile broadband (eMBB)، massive IoT (mMTC). لا يختار المطور الشريحة مباشرة، ولكن يمكن للتطبيق طلب QoS معين من خلال 5G QoS Identifier (5QI) عند استخدام Network Slicing.
توصيات للمطور: التحقق من توفر الاتصال عبر NetworkInfo.isConnectedOrConnecting قبل إرسال البيانات؛ تعيين مهلات الطلب بما لا يقل عن 30 ثانية للشبكات الخلوية (جلسة TCP تتم بشكل أبطأ في ظل الإشارة الضعيفة)؛ استخدام المهام الخلفية (WorkManager, BGTaskScheduler) للمزامنة فقط عند الاتصال بشبكة Wi-Fi أو باقة غير محدودة.
الأسئلة الشائعة
5G NSA (Non-Standalone) يستخدم 5G New Radio لنقل البيانات و 4G LTE Core لإدارة الاتصال والتنقل. 5G SA (Standalone) يستخدم نواة 5G كاملة مع مصادقة مستقلة. SA إلزامي لـ Network Slicing وزمن وصول أقل من 10 مللي ثانية، NSA — للإطلاق المبكر لـ 5G على البنية التحتية الحالية.
على Android — ConnectivityManager.getActiveNetwork().getNetworkCapabilities() مع التحقق hasTransport(TRANSPORT_CELLULAR). على iOS — NWPathMonitor مع التحقق usesInterfaceType(.cellular). بالإضافة إلى ذلك، يوفر iOS isExpensive لتحديد الاتصال المدفوع.
Carrier Aggregation — تقنية تجمع ما يصل إلى 5 ترددات حاملة (component carriers) لزيادة عرض النطاق الترددي. إذا كان كل تردد حامل يوفر 20 ميجاهرتز من النطاق، فإن تجميع 3 ترددات حاملة يوفر 60 ميجاهرتز — سرعة تصل إلى 450 ميجابت/ثانية. بالنسبة للتطبيق، Carrier Aggregation شفافة: يدير المودم التجميع تلقائيًا.
الموجات المليمترية (24–52 جيجاهرتز) لها طول موجي قصير جدًا (5–12 مم) وتتوهن بشدة عند المرور عبر الجدران والنوافذ وحتى أوراق الشجر. mmWave يتطلب خط رؤية مباشر للهوائي — الخسائر عبر الزجاج تتراوح بين 10–30 ديسيبل. لذلك، يُستخدم mmWave في الأماكن المفتوحة: الملاعب والساحات ومراكز التسوق ذات القباب الشفافة.
يوصى بالاشتراك في إشعارات ConnectivityManager (Android) أو NWPathMonitor (iOS). عند فقدان الإشارة، يجب على التطبيق: إلغاء طلبات الشبكة الحالية، عرض مؤشر عدم الاتصال للمستخدم، حفظ الحالة في التخزين المحلي (Room, CoreData)، وجدولة إعادة الاتصال مع تأخير أسي (إعادة المحاولة بعد 10 ثوانٍ، 30 ثانية، 60 ثانية، 300 ثانية).
الملخص
سنقوم بتطوير تطبيق جوال جاهز
تقدم IT Sectr تطبيقات iOS وAndroid للشركات الناشئة والشركات منذ عام 2017. سوف نقدم لك النصح ونقترح أفضل حل.
اقرأ أيضًا