في الأجهزة التي تعمل بالإصدار 12 من نظام التشغيل Android أو إصدار أحدث، يتيح نظام التشغيل Android استخدام تقسيم شبكة الجيل الخامس، وهو استخدام المحاكاة الافتراضية للشبكة لتقسيم اتصالات الشبكة الفردية إلى اتصالات افتراضية متعددة ومختلفة توفّر كميات مختلفة من الموارد لأنواع مختلفة من الزيارات. تتيح شرائح شبكة الجيل الخامس لمشغّلي الشبكات تخصيص جزء من الشبكة لتوفير ميزات معيّنة لشريحة معيّنة من العملاء. يقدّم نظام التشغيل Android 12 إمكانات تقسيم شبكة الجيل الخامس التالية للمؤسسات، والتي يمكن لمشغّلي الشبكات توفيرها لعملاء المؤسسات:
تقسيم الأجهزة في المؤسسات إلى شرائح للأجهزة المُدارة بالكامل
بالنسبة إلى المؤسسات التي توفّر أجهزة مُدارة بالكامل لموظفيها، يمكن لموفّري الشبكات تزويدهم بشريحة واحدة أو أكثر من شرائح شبكة المؤسسة النشطة التي يتم توجيه الزيارات على أجهزة الشركة إليها. بدءًا من Android 12، يتيح نظام Android لمشغّلي شبكات الجوّال توفير شرائح مخصّصة للمؤسسات من خلال قواعد URSP، بدلاً من إعداد الشرائح من خلال أسماء نقاط الوصول (APN).
تقسيم تطبيقات المؤسسات على الأجهزة التي تتضمّن ملفات عمل
بالنسبة إلى المؤسسات التي تستخدم حل ملف العمل، يتيح نظام التشغيل Android 12 للأجهزة توجيه الزيارات من جميع التطبيقات في ملف العمل إلى شريحة شبكة المؤسسة. يمكن للمؤسسات تفعيل هذه الميزة من خلال جهاز تحكّم لسياسة الجهاز (DPC).
يوفّر حلّ ملف العمل مستوى تلقائيًا من المصادقة والتحكّم في الوصول تتطلّبه المؤسسات لضمان توجيه الزيارات من تطبيقات المؤسسة في ملف العمل فقط إلى شريحة شبكة المؤسسة. لا تحتاج التطبيقات في ملف العمل إلى تعديل لطلب شريحة شبكة المؤسسة بشكل صريح.
طريقة عمل تقسيم شبكة الجيل الخامس في "مشروع Android مفتوح المصدر"
يتيح نظام التشغيل Android 12 استخدام شرائح شبكة الجيل الخامس (5G) من خلال إضافة تعديلات إلى قاعدة رموز الاتصال في مشروع AOSP ووحدة الربط لدمج واجهات برمجة التطبيقات الحالية الخاصة بالاتصال واللازمة لتقسيم الشبكة.
يوفّر نظام الاتصالات على Android واجهات برمجة تطبيقات الاتصالات وطبقة تجريد الأجهزة (HAL) لدعم التقسيم استنادًا إلى طلبات الشبكة التي يقدّمها رمز الشبكة الأساسي وإمكانات التقسيم على شبكة الجيل الخامس في المودم. يوضّح الشكل 1 مكوّنات ميزة تقسيم شبكة الجيل الخامس.
الشكل 1. بنية تقسيم شبكات الجيل الخامس في AOSP
تتيح منصة الاتصالات والربط ما يلي:
- تحويل طلبات الشبكة لفئات الشرائح إلى واصفات حركة البيانات التي يتم بعد ذلك تمريرها إلى المودم لمطابقة حركة البيانات في سياسة URSP واختيار المسار
- الرجوع إلى الشبكة التلقائية في حال عدم توفّر شريحة شبكة المؤسسة
- توجيه الزيارات من جميع التطبيقات ضمن ملف العمل إلى الاتصال المعني
دعم تقسيم الشبكة على مستوى المؤسسة
- رصد وجود ملف عمل على الجهاز
- التحقّق من الأذونات أو اتّجاهات المسار المقدَّمة من وحدة التحكّم في سياسة الجهاز (DPC) التي يستخدمها مشرف تكنولوجيا المعلومات في المؤسسة
تتضمّن خدمة الشبكات الأساسية التغييرات التالية على وحدة الربط في Android 12:
- تضيف معظم فئات واجهة برمجة التطبيقات العامة أو فئات واجهة برمجة تطبيقات النظام إلى وحدة Tethering
android.net.*
توسيع حدود وحدة الربط لتشمل ما يلي:
f/b/core/java/android/net/…
f/b/services/net/…
f/b/services/core/java/com/android/server/connectivity/…
f/b/services/core/java/com/android/server/ConnectivityService.java
f/b/services/core/java/com/android/server/TestNetworkService.java
نقل رمز شبكة VPN خارج وحدة الربط
ينقل نظام التشغيل Android 12 الرمز الذي يتضمّن الإمكانات التالية إلى وحدة "ربط الإنترنت":
- تلقّي طلبات من التطبيقات لإجراء اتصالات بالشبكة
- تلقّي طلبات من النظام (مثل "وضع هذه التطبيقات في شريحة خاصة بالعمل"، وقد تم طرح هذه الميزة في Android 12)
- إرسال طلبات من النظام إلى رمز الاتصال الهاتفي الذي يحاول إعداد الشبكات أو الشرائح من خلال واجهة برمجة تطبيقات HAL والمودم
- إعلام netd بكيفية توجيه حركة البيانات على أساس كل تطبيق (تمت إضافة هذه الميزة في Android 12)
- إبلاغ التطبيقات بما يحدث لحركة بيانات الشبكة من خلال واجهات برمجة التطبيقات
ConnectivityManager
مثلNetworkCallback
وgetActiveNetwork
وgetNetworkCapabilities
التنفيذ
لكي يتوافق الجهاز مع تقنية تقسيم شبكة الجيل الخامس، يجب أن يتضمّن مودمًا متوافقًا مع واجهة IRadio 1.6 HAL التي تتضمّن واجهة برمجة التطبيقات setupDataCall_1_6
. تُعدّ هذه الواجهة اتصالاً بالبيانات وتتضمّن المَعلمات التالية
لإتاحة تقسيم شبكة الجيل الخامس:
trafficDescriptor
: تحدّد هذه السمة واصف حركة البيانات الذي يتم إرساله إلى المودمsliceInfo
: تحدّد هذه السمة معلومات عن شريحة الشبكة التي سيتم استخدامها في حال نقل البيانات من EPDG إلى شبكة الجيل الخامس-
matchAllRuleAllowed
: تحدّد ما إذا كان مسموحًا باستخدام قاعدة URSP تلقائية تطابق الكل. يضبط نظام الاتصال هذا الخيار على "صحيح" للشبكات التلقائية ولكن ليس للشرائح. يتم تطبيق قاعدة "مطابقة الكل" على الشبكات التلقائية. عندما يطلب تطبيق شريحة معيّنة غير متاحة، يتم الإبلاغ عن أنّ الشريحة المحدّدة غير متاحة. بالنسبة إلى تطبيقات المؤسسات، يمكن أن يعود إطار عمل Telephony إلى الشبكة التلقائية إذا لم تكن شبكة المؤسسة متاحة.
يجب أن تتوافق أجهزة المودم أيضًا مع واجهة برمجة التطبيقات
getSlicingConfig
ما لم يتم الإبلاغ عن عدم توافقها من خلال واجهة برمجة التطبيقات
getHalDeviceCapabilities
.
متطلبات Enterprise
في ما يلي وصف لمتطلبات المؤسسات لاستخدام تقسيم شبكات الجيل الخامس على الأجهزة في عملية نشر Android للمؤسسات.
- تأكَّد من أنّ الأجهزة المُدارة بالكامل أو أجهزة الموظفين التي تم إعدادها باستخدام ملف عمل متوافقة مع شبكة الجيل الخامس المستقلة (5G SA) ومزوّدة بمودمات تتوافق مع واجهة برمجة التطبيقات
setupDataCall_1_6
. - التعاون مع شريك مشغّل شبكة الجوّال بشأن إعداد الشرائح وأدائها أو خصائص اتفاقية مستوى الخدمة.
تفعيل تقسيم شبكة الجيل الخامس على الأجهزة التي تم إعدادها باستخدام ملف عمل
بالنسبة إلى الأجهزة التي تم إعدادها باستخدام ملفات عمل، تكون ميزة "تقسيم شبكة الجيل الخامس" غير مفعّلة تلقائيًا في "مشروع Android مفتوح المصدر" (AOSP). لتفعيل تقسيم الشبكة، يمكن لمشرفي تكنولوجيا المعلومات في المؤسسة تفعيل أو إيقاف توجيه زيارات تطبيقات ملف العمل إلى شريحة شبكة المؤسسة على أساس كل موظف من خلال وحدة التحكّم بسياسة الجهاز (DPC) الخاصة بإدارة الخدمات الجوّالة للمؤسسات (EMM)، والتي تستخدم طريقة setPreferentialNetworkServiceEnabled
في واجهة برمجة التطبيقات DevicePolicyManager
(إدارة سياسات الأجهزة) (التي تم طرحها في Android 12).
على مورّدي إدارة الخدمات الجوّالة للمؤسسات (EMM) الذين لديهم أجهزة تحكّم مخصّصة في السياسات (DPC) دمج واجهة برمجة التطبيقات DevicePolicyManager
لتوفير الدعم لعملاء المؤسسات.
قواعد URSP
يتضمّن هذا القسم معلومات لمشغّلي شبكات الجوّال حول كيفية ضبط قواعد URSP لفئات الشرائح المختلفة، بما في ذلك المؤسسات وخدمة البث المباشر (CBS) ووقت الاستجابة المنخفض وحركة البيانات ذات النطاق الترددي العالي. عند ضبط قواعد URSP لفئات شرائح مختلفة، على مشغّلي شبكات الجوّال استخدام القيم التالية الخاصة بنظام Android.
رقم التعريف | القيمة | الوصف |
---|---|---|
OSId | 97a498e3-fc92-5c94-8986-0333d06e4e47 |
رقم تعريف نظام التشغيل لنظام التشغيل Android هو معرّف فريد عالميًا (UUID) من الإصدار 5 تم إنشاؤه باستخدام مساحة الاسم ISO OID والاسم "Android". |
على مشغّلي شبكات الجوّال ضبط قواعد URSP لكل شريحة زيارات باستخدام مكوّن واصف الزيارات على النحو التالي: "نوع رقم تعريف نظام التشغيل + رقم تعريف تطبيق نظام التشغيل". على سبيل المثال، يجب أن تحتوي شريحة "المؤسسة" على القيمة 0x97A498E3FC925C9489860333D06E4E470A454E5445525052495345
.
هذه القيمة هي سلسلة مدمجة من OSId وطول OSAppId (0x0A
) وOSAppId.
لمزيد من المعلومات حول نوع مكوّن واصف حركة البيانات، يُرجى الاطّلاع على
الجدول 5.2.1 من 3GPP TS 24.526.
يوضّح الجدول التالي قيم OSAppId لفئات الشرائح المختلفة.
فئة الشريحة | OSAppId | الوصف |
---|---|---|
ENTERPRISE |
0x454E5445525052495345 |
OSAppId هو تمثيل لمصفوفة بايت للسلسلة ENTERPRISE |
ENTERPRISE2 |
0x454E544552505249534532 |
OSAppId هو تمثيل لمصفوفة بايت للسلسلة ENTERPRISE2 |
ENTERPRISE3 |
0x454E544552505249534533 |
OSAppId هو تمثيل لمصفوفة بايت للسلسلة ENTERPRISE3 |
ENTERPRISE4 |
0x454E544552505249534534 |
OSAppId هو تمثيل لمصفوفة بايت للسلسلة ENTERPRISE4 |
ENTERPRISE5 |
0x454E544552505249534535 |
OSAppId هو تمثيل لمصفوفة بايت للسلسلة ENTERPRISE5 |
CBS |
0x434253 |
OSAppId هو تمثيل لمصفوفة بايت للسلسلة CBS |
PRIORITIZE_LATENCY |
0x5052494f524954495a455f4c4154454e4359 |
OSAppId هو تمثيل لمصفوفة بايت للسلسلة PRIORITIZE_LATENCY |
PRIORITIZE_BANDWIDTH |
0x5052494f524954495a455f42414e445749445448 |
OSAppId هو تمثيل لمصفوفة بايت للسلسلة PRIORITIZE_BANDWIDTH |
PRIORITIZE_UNIFIED_COMMUNICATIONS |
0x5052494f524954495a455f554e49464945445f434f4d4d554e49434154494f4e53 |
OSAppId هو تمثيل لمصفوفة بايت للسلسلة PRIORITIZE_UNIFIED_COMMUNICATIONS |
أمثلة على قواعد URSP
تعرض الجداول التالية أمثلة على قواعد URSP للمؤسسات، وCBS، ووقت الاستجابة المنخفض، والنطاق الترددي العالي، وحركة البيانات التلقائية.
Enterprise 1
تتوفّر ميزة Enterprise 1 في الإصدار 12 من نظام التشغيل Android والإصدارات الأحدث. في ما يلي مثال على قاعدة URSP لحركة بيانات ENTERPRISE1:
قاعدة URSP رقم 1 (enterprise1) | |
---|---|
الأولوية | 1 (0x01) |
وصف حركة البيانات #1 | |
نوع رقم تعريف نظام التشغيل + رقم تعريف تطبيق نظام التشغيل | 0x97A498E3FC925C9489860333D06E4E470A454E5445525052495345 |
واصف اختيار المسار رقم 1 | |
الأولوية | 1 (0x01) |
المكوّن 1: S-NSSAI | SST:XX SD:YYYYYY |
المكوّن رقم 2: الشبكة العصبية العميقة | المؤسسات |
واصف اختيار المسار 2 | |
الأولوية | 2 (0x02) |
المكوّن رقم 1: شبكة عصبية عميقة | المؤسسات |
Enterprise 2
تتوفّر ميزة Enterprise 2 في الإصدار 13 من نظام التشغيل Android والإصدارات الأحدث. في ما يلي مثال على قاعدة URSP لحركة بيانات ENTERPRISE2:
قاعدة URSP رقم 2 (enterprise2) | |
---|---|
الأولوية | 2 (0x02) |
وصف حركة البيانات #1 | |
نوع رقم تعريف نظام التشغيل + رقم تعريف تطبيق نظام التشغيل | 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534532 |
واصف اختيار المسار رقم 1 | |
الأولوية | 1 (0x01) |
المكوّن 1: S-NSSAI | SST:XX SD:YYYYYY |
المكوّن رقم 2: الشبكة العصبية العميقة | enterprise2 |
واصف اختيار المسار 2 | |
الأولوية | 2 (0x02) |
المكوّن رقم 1: شبكة عصبية عميقة | enterprise2 |
Enterprise 3
تتوفّر ميزة Enterprise 3 في الإصدار 13 من نظام التشغيل Android والإصدارات الأحدث. في ما يلي مثال على قاعدة URSP لحركة بيانات ENTERPRISE3:
قاعدة URSP رقم 3 (enterprise3) | |
---|---|
الأولوية | 3 (0x03) |
وصف حركة البيانات #1 | |
نوع رقم تعريف نظام التشغيل + رقم تعريف تطبيق نظام التشغيل | 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534533 |
واصف اختيار المسار رقم 1 | |
الأولوية | 1 (0x01) |
المكوّن 1: S-NSSAI | SST:XX SD:YYYYYY |
المكوّن رقم 2: الشبكة العصبية العميقة | enterprise3 |
واصف اختيار المسار 2 | |
الأولوية | 2 (0x02) |
المكوّن رقم 1: شبكة عصبية عميقة | enterprise3 |
Enterprise 4
تتوفّر ميزة Enterprise 4 في الإصدار 13 من نظام التشغيل Android والإصدارات الأحدث. في ما يلي مثال على قاعدة URSP لحركة بيانات ENTERPRISE4:
قاعدة URSP رقم 4 (enterprise4) | |
---|---|
الأولوية | 4 (0x04) |
وصف حركة البيانات #1 | |
نوع رقم تعريف نظام التشغيل + رقم تعريف تطبيق نظام التشغيل | 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534534 |
واصف اختيار المسار رقم 1 | |
الأولوية | 1 (0x01) |
المكوّن 1: S-NSSAI | SST:XX SD:YYYYYY |
المكوّن رقم 2: الشبكة العصبية العميقة | enterprise4 |
واصف اختيار المسار 2 | |
الأولوية | 2 (0x02) |
المكوّن رقم 1: شبكة عصبية عميقة | enterprise4 |
Enterprise 5
تتوفّر ميزة Enterprise 5 في الإصدار 13 من نظام التشغيل Android والإصدارات الأحدث. في ما يلي مثال على قاعدة URSP لحركة بيانات ENTERPRISE5:
قاعدة URSP رقم 5 (enterprise5) | |
---|---|
الأولوية | 5 (0x05) |
وصف حركة البيانات #1 | |
نوع رقم تعريف نظام التشغيل + رقم تعريف تطبيق نظام التشغيل | 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534535 |
واصف اختيار المسار رقم 1 | |
الأولوية | 1 (0x01) |
المكوّن 1: S-NSSAI | SST:XX SD:YYYYYY |
المكوّن رقم 2: الشبكة العصبية العميقة | enterprise5 |
واصف اختيار المسار 2 | |
الأولوية | 2 (0x02) |
المكوّن رقم 1: شبكة عصبية عميقة | enterprise5 |
CBS
تتوفّر ميزة "البث الخلوي" في الإصدار 13 من نظام التشغيل Android والإصدارات الأحدث. في ما يلي مثال على قاعدة URSP لحركة بيانات CBS:
قاعدة URSP رقم 6 (CBS) | |
---|---|
الأولوية | 6 (0x06) |
وصف حركة البيانات #1 | |
نوع رقم تعريف نظام التشغيل + رقم تعريف تطبيق نظام التشغيل | 0x97A498E3FC925C9489860333D06E4E4703434253 |
واصف اختيار المسار رقم 1 | |
الأولوية | 1 (0x01) |
المكوّن 1: S-NSSAI | SST:XX SD:YYYYYY |
المكوّن رقم 2: الشبكة العصبية العميقة | cbs |
واصف اختيار المسار 2 | |
الأولوية | 2 (0x02) |
المكوّن رقم 1: شبكة عصبية عميقة | cbs |
وقت استجابة بطيء
تتوفّر ميزة "وقت الاستجابة المنخفض" في الإصدار 13 من نظام التشغيل Android والإصدارات الأحدث. في ما يلي مثال على قاعدة URSP لحركة بيانات LOW_LATENCY:
قاعدة URSP رقم 7 (وقت استجابة منخفض) | |
---|---|
الأولوية | 7 (0x07) |
وصف حركة البيانات #1 | |
نوع رقم تعريف نظام التشغيل + رقم تعريف تطبيق نظام التشغيل | 0x97A498E3FC925C9489860333D06E4E47125052494f524954495a455f4c4154454e4359 |
واصف اختيار المسار رقم 1 | |
الأولوية | 1 (0x01) |
المكوّن 1: S-NSSAI | SST:XX SD:YYYYYY |
المكوّن رقم 2: الشبكة العصبية العميقة | وقت الاستجابة |
واصف اختيار المسار 2 | |
الأولوية | 2 (0x02) |
المكوّن رقم 1: شبكة عصبية عميقة | وقت الاستجابة |
نطاق ترددي عالٍ
تتوفّر ميزة "النطاق الترددي العالي" في الإصدار 13 من نظام التشغيل Android والإصدارات الأحدث. في ما يلي مثال على قاعدة URSP لحركة بيانات HIGH_BANDWIDTH:
قاعدة URSP رقم 8 (معدل نقل بيانات عالٍ) | |
---|---|
الأولوية | 8 (0x08) |
وصف حركة البيانات #1 | |
نوع رقم تعريف نظام التشغيل + رقم تعريف تطبيق نظام التشغيل | 97A498E3FC925C9489860333D06E4E47145052494f524954495a455f42414e445749445448 |
واصف اختيار المسار رقم 1 | |
الأولوية | 1 (0x01) |
المكوّن 1: S-NSSAI | SST:XX SD:YYYYYY |
المكوّن رقم 2: الشبكة العصبية العميقة | معدّل نقل البيانات |
واصف اختيار المسار 2 | |
الأولوية | 2 (0x02) |
المكوّن رقم 1: شبكة عصبية عميقة | معدّل نقل البيانات |
تلقائي
قاعدة URSP رقم 9 (تلقائية) | |
---|---|
الأولوية | 9 (0x09) |
وصف حركة البيانات #1 | |
مطابقة الكل | لا ينطبق |
واصف اختيار المسار رقم 1 | |
الأولوية | 1 (0x01) |
المكوّن 1: S-NSSAI | SST:XX SD:YYYYYY |
الاختبار
لاختبار تقسيم شبكة الجيل الخامس، استخدِم الاختبار اليدوي التالي.
لإعداد جهاز للاختبار، اتّبِع الخطوات التالية:
تأكَّد من ضبط سياسة URSP باستخدام قاعدة غير تلقائية تتطابق مع فئة المؤسسة، ومن أنّ واصف اختيار المسار المقابل يربط فئة المؤسسة بشريحة المؤسسة، ومن وجود قاعدة تلقائية توجّه حركة البيانات إلى شريحة الإنترنت التلقائية.
تأكَّد من إعداد ملف عمل على الجهاز.
الموافقة على استخدام تقسيم الشبكة من خلال وحدة التحكّم بسياسة الجهاز (DPC)
لاختبار سلوك تقسيم شبكة الجيل الخامس، اتّبِع الخطوات التالية:
- تأكَّد من إنشاء جلسة وحدة بيانات البروتوكول (PDU) مع شريحة المؤسسة (على سبيل المثال، باستخدام عنوان IP محدّد) ومن أنّ التطبيقات في ملف العمل تستخدم جلسة وحدة بيانات البروتوكول هذه.
- تأكَّد من إنشاء جلسة وحدة بيانات البروتوكول (PDU) منفصلة مع شريحة الإنترنت التلقائية ومن أنّ التطبيقات في الملف الشخصي تستخدم جلسة وحدة بيانات البروتوكول (PDU).
زيادة مبيعات تقسيم شبكات الجيل الخامس
تتيح ميزة البيع الإضافي لتقسيم شبكة الجيل الخامس، المتوفّرة بدءًا من الإصدار Android 14-QPR1، لمشغّلي شبكات الجوّال تقديم إمكانات محسّنة للشبكة (زمن الاستجابة ومعدّل نقل البيانات) للمستخدمين من خلال تقسيم شبكة الجيل الخامس.
تستخدم ميزة "الترقية إلى شريحة 5G" استجابة TS.43 من خادم تحديد الأهلية التابع لمشغّل شبكة الجوّال لتوجيه عملية الشراء. يمكن لمشغّلي شبكات الجوّال استخدام الرد لتحديد عنوان URL الخاص بعرض الويب لعمليات الشراء التي تتم من خلال مشغّل شبكة الجوّال، وإرسال بيانات إضافية إلى عرض الويب، وتحديد ما إذا كانت الشريحة متوفرة على شبكة مشغّل شبكة الجوّال.
يمكن لمشغّلي شبكات الجوّال تخصيص سلوك ميزة البيع الإضافي لتقسيم شبكة الجيل الخامس باستخدام إعدادات مشغّل شبكة الجوّال التي تتحكّم في إمكانية تقديم طلبات الشراء، وتحديد الأوقات التي يُسمح فيها للتطبيقات بطلب إمكانات مميّزة، ومدة انتظار إطار عمل Telephony للردود من المستخدم أو الشبكة.
توفّر ميزة البيع الإضافي لتقسيم شبكة الجيل الخامس واجهة باسم
DataBoostWebServiceFlow
للسماح بالتواصل بين Android وWebView الخاص بمشغّل شبكة الجوّال.
يوضّح الشكل 2 مسار شراء ترقية تقسيم شبكات الجيل الخامس:
الشكل 2. مسار شراء ترقية تقسيم شبكات الجيل الخامس
عملية منح الإذن TS.43
عندما يطلب المستخدم إمكانات شبكة محسّنة، يطلب إطار عمل Telephony إعدادات أهلية الخدمة للإمكانات المميّزة المطلوبة. إذا كانت استجابة TS.43 صالحة، يستخدم إطار عمل Telephony الحقول من استجابة HTTP لتنفيذ طلب الشراء.
حقول شراء الشرائح
يتضمّن إعداد أذونات الاستخدام وفقًا للمواصفة TS.43 حقول شراء الشرائح التالية:
- حالة الاستحقاق
المفتاح:
EntitlementStatus
النوع:
int
القيم المسموح بها:
0
(غير مفعَّل) و1
(مفعَّل) و2
(غير متوافق) و3
(توفير) و4
(مضمّن)- حالة إدارة الحسابات
المفتاح:
ProvStatus
النوع:
int
القيم المسموح بها:
0
(لم يتم توفيرها)،1
(تم توفيرها)،2
(غير متوفّرة)،3
(قيد التقدّم)
يستخدم إطار عمل Telephony مزيجًا من حالة الأهلية وحالة التوفير لتحديد حالة شراء الشريحة الحالية. يمكن أن تكون النتيجة إحدى القيم التالية:
PURCHASE_PREMIUM_CAPABILITY_RESULT_ALREADY_PURCHASED
PURCHASE_PREMIUM_CAPABILITY_RESULT_ALREADY_IN_PROGRESS
PURCHASE_PREMIUM_CAPABILITY_RESULT_ENTITLEMENT_CHECK_FAILED
PURCHASE_PREMIUM_CAPABILITY_RESULT_CARRIER_ERROR
إذا كانت حالة الاستحقاق هي 1
(مفعَّلة) وحالة التوفير هي 0
(لم يتم توفيرها)، يعرض إطار عمل Telephony إشعارًا بزيادة المبيعات للمستخدم لشراء الحزمة من خلال عرض الويب الخاص بشركة الاتصالات. يوضّح الجدول التالي سلوك إطار عمل Telephony لمجموعات مختلفة من قيم حالة التوفير والأهلية.
حالة توفير المتطلبات اللازمة | |||||
---|---|---|---|---|---|
لم يتم توفيرها (0 ) |
تم توفيرها (1 ) |
غير متوفّر (2 ) |
قيد التقدّم (3 ) |
||
حالة إذن الوصول | غير مفعَّل (0 ) |
تعذَّر التحميل | تعذَّر التحميل | تعذَّر التحميل | تعذَّر التحميل |
مفعَّلة (1 ) |
عرض WebView | تم شراؤه من قبل | تم شراؤه من قبل | قيد التقدم | |
غير متوافق (2 ) |
تعذَّر التحميل | تعذَّر التحميل | تعذَّر التحميل | تعذَّر التحميل | |
التزويد (3 ) |
خطأ من شركة النقل | خطأ من شركة النقل | قيد التقدم | قيد التقدم | |
مضمّنة (4 ) |
خطأ من شركة النقل | تم شراؤه من قبل | تم شراؤه من قبل | خطأ من شركة النقل |
حقول مسار الخدمة
يحدّد الرد TS.43 عنوان URL وبيانات المستخدم ونوع المحتوى لتخصيص سلوك عرض الويب في عملية الشراء من مشغّل شبكة الجوّال. إذا لم يتم تحديد نوع المحتوى، يتم تحميل عنوان URL كطلب GET. إذا كانت بيانات المستخدم متوفّرة، تتم إضافتها إلى عنوان URL كمعلَمة طلب بحث (على سبيل المثال، https://www.android.com?encodedValue=Base64EncodedUserData
)، وإذا لم تكن متوفّرة، يتم استخدام عنوان URL كما هو (على سبيل المثال، https://www.android.com
).
إذا تم تحديد نوع المحتوى بتنسيق JSON أو XML، يتم تحميل عنوان URL كطلب POST، ويتم إرسال بيانات المستخدم (بعد فك ترميزها إذا كانت مرمّزة بتنسيق Base 64) كبيانات لطلب POST.
- عنوان URL
المفتاح:
ServiceFlow_URL
النوع:
String
مثال:
"https://www.android.com"
- بيانات المستخدمين
المفتاح:
ServiceFlow_UserData
النوع:
String
مثال:
"encodedValue=Base64EncodedUserData"
- نوع المحتوى
المفتاح:
ServiceFlow_ContentsType
النوع:
String
القيم المسموح بها:
0
(غير محدّد)،1
(JSON)،2
(XML)
إعدادات مشغّلي شبكات الجوّال
في ما يلي إعدادات مشغّل شبكة الجوّال المتاحة لتخصيص سلوك ميزة البيع الإضافي لتقسيم شبكة الجيل الخامس.
KEY_SUPPORTED_PREMIUM_CAPABILITIES_INT_ARRAY
قائمة بالإمكانات المميّزة المتاحة. هذه مصفوفة أعداد صحيحة من
TelephonyManager.PremiumCapability
. تتشارك هذه الإمكانات المدفوعة القيمة نفسها مع فئةNetworkCapabilities.NetCapability
المقابلة. إذا تم طلب إحدى الميزات المدفوعة ولم تكن مضمّنة في هذه الإعدادات، سيتعذّر طلب الشراء وستظهر النتيجةCARRIER_DISABLED
.في نظام التشغيل Android 14، لا تتوفّر سوى
PREMIUM_CAPABILITY_PRIORITIZE_LATENCY
.KEY_PREMIUM_CAPABILITY_MAXIMUM_DAILY_NOTIFICATION_COUNT_INT
الحدّ الأقصى اليومي لعدد المرّات التي يتم فيها عرض إشعار زيادة سعر الشراء للمستخدم. في حال بلوغ الحد الأقصى اليومي، لن يظهر إشعار البيع بسعر أعلى، وسيتم تقييد طلبات الشراء (بما في ذلك طلبات خادم الأذونات) حتى منتصف ليل اليوم التالي. ستتعذّر معالجة طلبات الشراء التي يتم إجراؤها بعد بلوغ الحد الأقصى اليومي، وسيظهر الرمز
PURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLED
.KEY_PREMIUM_CAPABILITY_MAXIMUM_MONTHLY_NOTIFICATION_COUNT_INT
الحدّ الأقصى الشهري لعدد مرّات عرض إشعار زيادة سعر الشراء للمستخدم. في حال بلوغ الحد الأقصى الشهري، لن يتم عرض إشعار الترقية، وسيتم تقييد طلبات الشراء (بما في ذلك طلبات خادم الأذونات) حتى اليوم الأول من الشهر التالي. ستفشل طلبات الشراء التي يتم إجراؤها بعد بلوغ الحد الأقصى الشهري، وسيظهر لك الرمز
PURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLED
.KEY_PREMIUM_CAPABILITY_PURCHASE_URL_STRING
عنوان URL الخاص بشراء مشغل شبكة احتياطي والذي سيتم عرضه للمستخدم عند النقر على إشعار البيع بسعر أعلى. إذا لم يتم العثور على عنوان URL للشراء في رد TS.43 من خادم تحديد الأهلية، يتم استخدام هذه القيمة بدلاً من ذلك. إذا لم يكن عنوان URL من استجابة TS.43 أو إعدادات مشغّل شبكة الجوّال صالحًا، سيتعذّر تنفيذ طلب الشراء وسيظهر رمز النتيجة
PURCHASE_PREMIUM_CAPABILITY_RESULT_CARRIER_DISABLED
.KEY_PREMIUM_CAPABILITY_SUPPORTED_ON_LTE_BOOL
تحدِّد هذه السمة ما إذا كان سيُسمح بشراء إمكانات مميّزة عندما يكون الجهاز متصلاً بشبكة Long-Term Evolution (LTE). إذا كان
true
، يمكن تقديم طلبات الشراء على شبكة LTE وشبكة New Radio (NR). في حالfalse
، لا يمكن تقديم طلبات الشراء إلا على شبكة NR، وستتعذّر الطلبات المقدَّمة على شبكة LTE مع ظهور النتيجةPURCHASE_PREMIUM_CAPABILITY_RESULT_NETWORK_NOT_AVAILABLE
.KEY_PREMIUM_CAPABILITY_NOTIFICATION_DISPLAY_TIMEOUT_MILLIS_LONG
مقدار الوقت الذي سيتم فيه عرض إشعار زيادة المبيعات للمستخدم قبل إلغائه تلقائيًا. عند إلغاء الإشعار، يتم تقييد الطلبات اللاحقة وتتعذّر مع ظهور النتيجة
PURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLED
.KEY_PREMIUM_CAPABILITY_NOTIFICATION_BACKOFF_HYSTERESIS_TIME_MILLIS_LONG
مقدار الوقت الذي يجب فيه تقييد طلبات الشراء اللاحقة بعد حدوث خطأ بسبب انتهاء المهلة أو إلغاء المستخدم. إذا لم ينقر المستخدم على إشعار زيادة المبيعات الخاص بعملية الشراء خلال المهلة المحدّدة في
KEY_PREMIUM_CAPABILITY_NOTIFICATION_DISPLAY_TIMEOUT_MILLIS_LONG
، أو إذا ألغى الإشعار أو تجاهله، سيبدأ مؤقّت التراجع هذا. أثناء تفعيل هذا الموقّت، ستتعذّر طلبات الشراء وسيظهر لك الرمزPURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLED
.KEY_PREMIUM_CAPABILITY_PURCHASE_CONDITION_BACKOFF_HYSTERESIS_TIME_MILLIS_LONG
مقدار الوقت الذي يجب فيه تقييد طلبات الشراء اللاحقة بعد حدوث خطأ بسبب مشغّل شبكة الجوّال أو الشبكة إذا تعذّر التحقّق من التخويل أو كان عنوان URL غير متاح أو كان عنوان URL الخاص بالشراء من مشغّل شبكة الجوّال يشير إلى حدوث خطأ، سيبدأ مؤقّت التراجع هذا. أثناء تفعيل هذا الموقّت، ستتعذّر طلبات الشراء وسيظهر لك الرمز
PURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLED
.KEY_PREMIUM_CAPABILITY_NETWORK_SETUP_TIME_MILLIS_LONG
مقدار الوقت الذي يجب أن تُعدّ فيه الشبكة إعدادات تجزئة الشبكة للاستفادة من ميزة "الاشتراك المميّز". وخلال هذه الفترة، يتم حظر طلبات الشراء اللاحقة ويتم عرض النتيجة
PURCHASE_PREMIUM_CAPABILITY_RESULT_PENDING_NETWORK_SETUP
. إذا لم تتمكّن الشبكة من إعداد ضبط تقسيم الشبكة في الوقت المناسب، يمكن للتطبيقات طلب شراء إمكانات مميّزة مرة أخرى. لا تعتبر خدمة الاتصال الهاتفي عملية الشراء مكتملة إلا بعد إرسال إعدادات التقسيم ذات الصلة، بغض النظر عمّا إذا كان المستخدم قد دفع لشركة الاتصالات أم لا.
واجهة JavaScript
عندما ينقر المستخدم على إشعار "تعزيز الشبكة"، يتم عرض عنصر WebView
يتضمّن عنوان URL الخاص بالشراء من مشغّل شبكة الجوّال. يمكن لمشغّلي شبكات الجوّال استخدام واجهات برمجة التطبيقات المتوفّرة في واجهة DataBoostWebServiceFlow
المستندة إلى JavaScript على موقعهم الإلكتروني المخصّص للشراء للتواصل مع تطبيق شراء الشرائح.
يمكن لموقع مشغّل شبكة الجوّال الإلكتروني الحصول على الإمكانية المميزة المطلوبة من خلال الطريقة getRequestedCapability()
.
في حال تمت عملية الشراء بنجاح، على الموقع الإلكتروني الخاص بشركة الاتصالات إرسال إشعار إلى تطبيق شراء الشرائح من خلال notifyPurchaseSuccessful()
أو notifyPurchaseSuccessful(duration)
، حيث duration
هو مَعلمة اختيارية تشير إلى المدة المقصودة للشريحة.
إذا لم تنجح عملية الشراء، على موقع مشغّل شبكة الجوّال الإلكتروني إرسال إشعار إلى تطبيق شراء الشرائح من خلال الطريقة notifyPurchaseFailed(code, reason)
، حيث يمثّل code
رمز الخطأ الذي يشير إلى سبب تعذُّر العملية، ويمثّل reason
السبب الذي يمكن قراءته وفهمه إذا كان رمز الخطأ غير معروف.
إذا لم يتم استدعاء أيّ من طريقتَي الردّ هاتين، لن يتم اعتبار عملية الشراء مكتملة، وسينتهي وقت طلب الشراء في النهاية.
في ما يلي رموز الأعطال الصالحة التي يمكن أن يعرضها الموقع الإلكتروني لشركة النقل عند تعذُّر الشراء:
FAILURE_CODE_UNKNOWN
FAILURE_CODE_CARRIER_URL_UNAVAILABLE
FAILURE_CODE_AUTHENTICATION_FAILED
FAILURE_CODE_PAYMENT_FAILED
FAILURE_CODE_NO_USER_DATA
عند اكتمال عملية الشراء، على مشغّل شبكة الجوّال تعديل قواعد URSP وإضافة شريحة PRIORITIZE_LATENCY
إلى جهاز المستخدم.