חיתוך רשת 5G

עבור מכשירים המריצים אנדרואיד 12 ומעלה, אנדרואיד מספקת תמיכה בחיתוך רשת 5G, שימוש בווירטואליזציה של רשת כדי לחלק חיבורי רשת בודדים למספר חיבורים וירטואליים נפרדים המספקים כמויות שונות של משאבים לסוגים שונים של תעבורה. חיתוך רשת 5G מאפשר למפעילי רשתות להקדיש חלק מהרשת לספק תכונות ספציפיות עבור פלח מסוים של לקוחות. אנדרואיד 12 מציגה את יכולות חיתוך הרשתות הארגוניות של 5G הבאות, שמפעילי רשת יכולים לספק ללקוחות הארגוניים שלהם:

חיתוך מכשירים ארגוניים עבור מכשירים מנוהלים במלואם

עבור ארגונים המספקים מכשירי חברה מנוהלים במלואם לעובדיהם, ספקי רשת יכולים לספק להם פרוסת רשת ארגונית פעילה אחת או יותר שאליה מנותבת התעבורה במכשירי החברה. מאנדרואיד 12, אנדרואיד מאפשרת לספקים לספק פרוסות ארגוניות באמצעות כללי URSP, במקום להגדיר פרוסות דרך APNs.

חיתוך אפליקציות עסקיות למכשירים עם פרופילי עבודה

עבור ארגונים המשתמשים בפתרון פרופיל העבודה , אנדרואיד 12 מאפשר למכשירים לנתב את התעבורה מכל האפליקציות בפרופיל העבודה לפרוסת רשת ארגונית. ארגונים יכולים להפעיל את היכולת הזו באמצעות Device Policy Controller (DPC) .

פתרון פרופיל העבודה מספק רמה אוטומטית של אימות ובקרת גישה שארגונים דורשים כדי להבטיח שרק תעבורה מאפליקציות ארגוניות בפרופיל העבודה מנותבת לפרוסת הרשת הארגונית. אין צורך לשנות אפליקציות בפרופיל העבודה כדי לבקש במפורש את פרוסת הרשת הארגונית.

כיצד פועל חיתוך רשת 5G ב-AOSP

אנדרואיד 12 מציגה תמיכה בחיתוך רשת 5G באמצעות תוספות לבסיס הקוד של הטלפוניה ב-AOSP ולמודול ה-Tethering כדי לשלב ממשקי API קיימים של קישוריות הנדרשים לחיתוך רשת.

פלטפורמת הטלפוניה של אנדרואיד מספקת ממשקי API של HAL וטלפוניה לתמיכה בחיתוך המבוסס על בקשות רשת שהוגשו על ידי קוד הליבה ברשת ויכולות חיתוך 5G במודם. איור 1 מתאר את המרכיבים של תכונת חיתוך רשת 5G.

רכיבי חיתוך רשת 5G

איור 1. ארכיטקטורת חיתוך רשת 5G ב-AOSP.

פלטפורמת הטלפוניה והקישוריות תומכת ב:

  • המרת בקשות רשת עבור קטגוריות פרוסות לתיאורי תעבורה אשר מועברות לאחר מכן למודם לצורך התאמת תעבורת URSP ובחירת מסלול
  • חזרה לרשת ברירת המחדל אם פרוסת הרשת הארגונית אינה זמינה
  • ניתוב תנועה מכל האפליקציות מתחת לפרופיל העבודה לחיבור המתאים
  • תמיכה בחיתוך ארגוני

    • זיהוי נוכחות של פרופיל עבודה במכשיר
    • בדיקת הרשאות או הנחיות ניתוב שסופקו מה-DPC המשמש את מנהל ה-IT של הארגון

שירות הליבה ברשת כולל את השינויים הבאים במודול Tethering באנדרואיד 12:

  • מוסיף את רוב מחלקות ה-API הציבוריות או מערכתיות android.net.* למודול Tethering
  • מרחיב את גבולות מודול ה-Tethering לכלול:

    • 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 מתוך מודול ה-Tethering

אנדרואיד 12 מעביר קוד עם היכולות הבאות למודול Tethering:

  • קבלת בקשות מאפליקציות לחיבורי רשת
  • קבלת בקשות מהמערכת (לדוגמה, "הצב את האפליקציות האלה בחלק ארגוני"; הוצג באנדרואיד 12)
  • שליחת בקשות מהמערכת לקוד הטלפוניה שמנסה להגדיר רשתות או פרוסות על ידי מעבר דרך ה-HAL API והמודם
  • מידע רשת כיצד לנתב תנועה על בסיס אפליקציה (הוצג באנדרואיד 12)
  • ליידע אפליקציות מה קורה לתעבורת הרשת שלהם באמצעות ממשקי API ConnectivityManager כגון NetworkCallback , getActiveNetwork , getNetworkCapabilities .

יישום

כדי לתמוך בחיתוך 5G במכשיר, המכשיר חייב להיות בעל מודם התומך ב-IRadio 1.6 HAL שיש לו את setupDataCall_1_6 API. API זה מגדיר חיבור נתונים וכולל את הפרמטרים הבאים לתמיכה בחיתוך 5G:

  • trafficDescriptor : מציין את מתאר התנועה שנשלח למודם
  • sliceInfo : מציין מידע עבור פרוסת הרשת לשימוש במקרה של מסירת EPDG ל-5G
  • matchAllRuleAllowed : מציין אם שימוש בכלל URSP ברירת מחדל מותר להתאים לכל. טלפוניה מגדירה את זה למצב נכון עבור רשתות ברירת מחדל אך לא עבור פרוסות. כלל ההתאמה לכל מוחל על רשתות ברירת מחדל. כאשר אפליקציה מבקשת פרוסה ספציפית שאינה זמינה, הפרוסה הספציפית מדווחת כלא זמינה. עבור אפליקציות ארגוניות, מסגרת הטלפוניה יכולה לחזור לרשת ברירת המחדל אם הרשת הארגונית אינה זמינה.

מודמים חייבים גם ליישם את ה-API של getSlicingConfig , אלא אם כן הוא מדווח כלא נתמך על ידי ה-API של getHalDeviceCapabilities .

דרישות ארגוניות

להלן מתארים דרישות לארגונים להשתמש בחיתוך רשת 5G במכשירים בפריסה ארגונית של Android.

  • ודא שמכשירים מנוהלים במלואם או של עובדים שהוגדרו עם פרופיל עבודה הם בעלי יכולת 5G SA עם מודמים התומכים ב- setupDataCall_1_6 API.
  • עבוד עם שותף הספק על הגדרת פרוסה וביצועים או מאפייני SLA.

הפעלת חיתוך 5G במכשירים המוגדרים עם פרופיל עבודה

עבור מכשירים המוגדרים עם פרופילי עבודה, חיתוך רשת 5G כבוי כברירת מחדל ב-AOSP. כדי לאפשר חיתוך רשת, מנהלי IT ארגוניים יכולים להפעיל או לכבות את ניתוב תעבורת אפליקציות של פרופיל עבודה לפרוסת הרשת הארגונית על בסיס לכל עובד באמצעות ה-EMM DPC, המשתמש בשיטת setPreferentialNetworkServiceEnabled ב- DevicePolicyManager (DPM) API (מוצג ב-Android 12).

ספקי EMM עם DPCs מותאמים אישית חייבים לשלב את DevicePolicyManager API כדי לתמוך בלקוחות ארגוניים.

כללי URSP

סעיף זה כולל מידע לספקים על הגדרת כללי URSP עבור קטגוריות פרוסות שונות כולל ארגונים, CBS, זמן אחזור נמוך ותעבורת רוחב פס גבוה. בעת הגדרת כללי URSP עבור קטגוריות פרוסות שונות, הספקים חייבים להשתמש בערכים הספציפיים ל-Android הבאים.

תְעוּדַת זֶהוּת ערך תיאור
OSId 97a498e3-fc92-5c94-8986-0333d06e4e47 ה-OSId לאנדרואיד הוא גרסה 5 UUID שנוצרת עם מרחב השמות ISO OID והשם "Android".

הספקים חייבים להגדיר כללי URSP עבור כל נתח תעבורה עם רכיב מתאר התעבורה כ"מזהה מערכת הפעלה + סוג זיהוי אפליקציה של מערכת הפעלה". לדוגמה, לפרוסה "ENTERPRISE" חייב להיות ערך של 0x97A498E3FC925C9489860333D06E4E470A454E5445525052495345 . ערך זה הוא שרשור של ה-OSId, אורך ה-OSAppId ( 0x0A ) וה-OSAppId. למידע נוסף על סוג רכיב מתאר התעבורה, ראה 3GPP TS 24.526 טבלה 5.2.1 .

הטבלה הבאה מתארת ​​את ערכי OSAppId עבור קטגוריות פרוסות שונות.

קטגוריית פרוסות OSAppId תיאור
מִפְעָל 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"

כללי URSP לדוגמה

הטבלאות הבאות מציגות כללי URSP לדוגמה עבור ארגונים, CBS, זמן אחזור נמוך, רוחב פס גבוה ותעבורת ברירת מחדל.

ארגון 1

תמיכה עבור Enterprise 1 זמינה באנדרואיד 12 ומעלה. להלן כלל URSP לדוגמה עבור תעבורת ENTERPRISE1:

כלל URSP מס' 1 (enterprise1)
עֲדִיפוּת 1 (0x01)
מתאר תנועה מס' 1
מזהה מערכת הפעלה + סוג זיהוי אפליקציה של מערכת הפעלה 0x97A498E3FC925C9489860333D06E4E470A454E5445525052495345
מתאר בחירת מסלול מס' 1
עֲדִיפוּת 1 (0x01)
רכיב מס' 1: S-NSSAI SST:XX SD:YYYYYY
רכיב מס' 2: DNN מִפְעָל
מתאר בחירת מסלול מס' 2
עֲדִיפוּת 2 (0x02)
רכיב מס' 1: DNN מִפְעָל

Enterprise 2

תמיכה עבור Enterprise 2 זמינה באנדרואיד 13 ומעלה. להלן כלל URSP לדוגמה עבור תעבורת ENTERPRISE2:

כלל URSP #2 (enterprise2)
עֲדִיפוּת 2 (0x02)
מתאר תנועה מס' 1
מזהה מערכת הפעלה + סוג זיהוי אפליקציה של מערכת הפעלה 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534532
מתאר בחירת מסלול מס' 1
עֲדִיפוּת 1 (0x01)
רכיב מס' 1: S-NSSAI SST:XX SD:YYYYYY
רכיב מס' 2: DNN ארגון 2
מתאר בחירת מסלול מס' 2
עֲדִיפוּת 2 (0x02)
רכיב מס' 1: DNN ארגון 2

Enterprise 3

תמיכה עבור Enterprise 3 זמינה באנדרואיד 13 ומעלה. להלן כלל URSP לדוגמה עבור תעבורת ENTERPRISE3:

כלל URSP #3 (enterprise3)
עֲדִיפוּת 3 (0x03)
מתאר תנועה מס' 1
מזהה מערכת הפעלה + סוג זיהוי אפליקציה של מערכת הפעלה 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534533
מתאר בחירת מסלול מס' 1
עֲדִיפוּת 1 (0x01)
רכיב מס' 1: S-NSSAI SST:XX SD:YYYYYY
רכיב מס' 2: DNN ארגון 3
מתאר בחירת מסלול מס' 2
עֲדִיפוּת 2 (0x02)
רכיב מס' 1: DNN ארגון 3

Enterprise 4

תמיכה עבור Enterprise 4 זמינה באנדרואיד 13 ומעלה. להלן כלל URSP לדוגמה עבור תעבורת ENTERPRISE4:

כלל URSP #4 (enterprise4)
עֲדִיפוּת 4 (0x04)
מתאר תנועה מס' 1
מזהה מערכת הפעלה + סוג זיהוי אפליקציה של מערכת הפעלה 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534534
מתאר בחירת מסלול מס' 1
עֲדִיפוּת 1 (0x01)
רכיב מס' 1: S-NSSAI SST:XX SD:YYYYYY
רכיב מס' 2: DNN ארגון 4
מתאר בחירת מסלול מס' 2
עֲדִיפוּת 2 (0x02)
רכיב מס' 1: DNN ארגון 4

Enterprise 5

תמיכה עבור Enterprise 5 זמינה באנדרואיד 13 ומעלה. להלן כלל URSP לדוגמה עבור תעבורת ENTERPRISE5:

כלל URSP מס' 5 (enterprise5)
עֲדִיפוּת 5 (0x05)
מתאר תנועה מס' 1
מזהה מערכת הפעלה + סוג זיהוי אפליקציה של מערכת הפעלה 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534535
מתאר בחירת מסלול מס' 1
עֲדִיפוּת 1 (0x01)
רכיב מס' 1: S-NSSAI SST:XX SD:YYYYYY
רכיב מס' 2: DNN ארגון 5
מתאר בחירת מסלול מס' 2
עֲדִיפוּת 2 (0x02)
רכיב מס' 1: DNN ארגון 5

CBS

תמיכה ב-CBS זמינה באנדרואיד 13 ומעלה. להלן כלל URSP לדוגמה עבור תעבורת CBS:

כלל URSP #6 (CBS)
עֲדִיפוּת 6 (0x06)
מתאר תנועה מס' 1
מזהה מערכת הפעלה + סוג זיהוי אפליקציה של מערכת הפעלה 0x97A498E3FC925C9489860333D06E4E4703434253
מתאר בחירת מסלול מס' 1
עֲדִיפוּת 1 (0x01)
רכיב מס' 1: S-NSSAI SST:XX SD:YYYYYY
רכיב מס' 2: DNN cbs
מתאר בחירת מסלול מס' 2
עֲדִיפוּת 2 (0x02)
רכיב מס' 1: DNN cbs

זמן אחזור נמוך

תמיכה ב-Latency זמינה באנדרואיד 13 ומעלה. להלן כלל URSP לדוגמה עבור תעבורת LOW_LATENCY:

כלל URSP מס' 7 (זמן אחזור נמוך)
עֲדִיפוּת 7 (0x07)
מתאר תנועה מס' 1
מזהה מערכת הפעלה + סוג זיהוי אפליקציה של מערכת הפעלה 0x97A498E3FC925C9489860333D06E4E47125052494f524954495a455f4c4154454e4359
מתאר בחירת מסלול מס' 1
עֲדִיפוּת 1 (0x01)
רכיב מס' 1: S-NSSAI SST:XX SD:YYYYYY
רכיב מס' 2: DNN חֶבִיוֹן
מתאר בחירת מסלול מס' 2
עֲדִיפוּת 2 (0x02)
רכיב מס' 1: DNN חֶבִיוֹן

רוחב פס גבוה

תמיכה ברוחב פס גבוה זמינה באנדרואיד 13 ומעלה. להלן כלל URSP לדוגמה עבור תעבורה של HIGH_BANDWIDTH:

כלל URSP #8 (רוחב פס גבוה)
עֲדִיפוּת 8 (0x08)
מתאר תנועה מס' 1
מזהה מערכת הפעלה + סוג זיהוי אפליקציה של מערכת הפעלה 97A498E3FC925C9489860333D06E4E47145052494f524954495a455f42414e445749445448
מתאר בחירת מסלול מס' 1
עֲדִיפוּת 1 (0x01)
רכיב מס' 1: S-NSSAI SST:XX SD:YYYYYY
רכיב מס' 2: DNN רוחב פס
מתאר בחירת מסלול מס' 2
עֲדִיפוּת 2 (0x02)
רכיב מס' 1: DNN רוחב פס

בְּרִירַת מֶחדָל

כלל URSP מס' 9 (ברירת מחדל)
עֲדִיפוּת 9 (0x09)
מתאר תנועה מס' 1
להתאים הכל לא
מתאר בחירת מסלול מס' 1
עֲדִיפוּת 1 (0x01)
רכיב מס' 1: S-NSSAI SST:XX SD:YYYYYY

בדיקה

כדי לבדוק חיתוך רשת 5G, השתמש בבדיקה הידנית הבאה.

כדי להגדיר מכשיר לבדיקה, בצע את הפעולות הבאות:

  1. ודא שמדיניות ה-URSP מוגדרת עם כלל שאינו ברירת מחדל התואם לקטגוריית הארגון וכי מתאר בחירת המסלול המתאים ממפה את קטגוריית הארגון לפרוסת הארגון; וכלל ברירת מחדל המפנה את התנועה לפרוסת האינטרנט המוגדרת כברירת מחדל.

  2. ודא שפרופיל עבודה מוגדר במכשיר.

  3. הצטרף לשימוש בחיתוך רשת דרך ה-DPC

כדי לבדוק את התנהגות חיתוך רשת 5G, בצע את הפעולות הבאות:

  1. ודא שהפעלת PDU נוצרה עם החלק הארגוני (לדוגמה, על ידי שימוש בכתובת IP ספציפית) ושאפליקציות בפרופיל העבודה משתמשות בהפעלת PDU זו.
  2. ודא שהפעלת PDU נפרדת נוצרה עם פרוסת האינטרנט המוגדרת כברירת מחדל ושאפליקציות בפרופיל האישי משתמשות בהפעלת PDU.

מכירות 5G חיתוך

תכונת המכירות של 5G חיתוך, הזמינה מאנדרואיד 14-QPR1, מאפשרת לספקים להציע יכולות רשת משופרות (שהייה ורוחב פס) למשתמשים שלהם באמצעות חיתוך רשת 5G.

תכונת מכירת ה-5G משתמשת בתגובת TS.43 משרת הזכאות של הספק כדי להניע את זרימת הרכישה. ספקים יכולים להשתמש בתגובה כדי לציין את כתובת האתר עבור תצוגת האינטרנט של הספק לרכישה, לשלוח נתונים נוספים לתצוגת האינטרנט ולציין אם הפרוסה מסופקת וזמינה ברשת הספק.

הספקים יכולים להתאים אישית את ההתנהגות של תכונת ה-5G חיתוך העלאת מכירה באמצעות תצורות ספק, השולטות אם ניתן לבצע בקשות רכישה, מתי מותר לאפליקציות לבקש יכולות פרימיום וכמה זמן מסגרת הטלפוניה ממתינה לתגובות מהמשתמש או מהרשת.

תכונת ה-5G slicing upsell מספקת ממשק, הנקרא DataBoostWebServiceFlow , כדי לאפשר תקשורת בין אנדרואיד לתצוגת האינטרנט של הספק.

איור 2 מציג את זרימת הרכישה של חיתוך 5G:

זרימת רכישה של 5G חיתוך

איור 2. זרימת רכישה של 5G חיתוך.

תהליך הזכאות TS.43

כאשר משתמש מגיש בקשה ליכולות רשת משופרות, מסגרת הטלפוניה מבקשת את תצורת הזכאות לשירות עבור יכולת הפרימיום המבוקשת. אם תגובת TS.43 חוקית, מסגרת הטלפוניה משתמשת בשדות מתגובת ה-HTTP כדי להניע את בקשת הרכישה.

פרוס שדות רכישה

תצורת הזכאות TS.43 כוללת את השדות הבאים לרכישת פרוסה:

סטטוס זכאות

מפתח: EntitlementStatus

סוג: int

ערכים נתמכים: 0 (מושבת), 1 (מופעל), 2 (לא תואם), 3 (הקצאה), 4 (כלול)

סטטוס הקצאה

מפתח: ProvStatus

סוג: int

ערכים נתמכים: 0 (לא מוקצה), 1 (מוקצה), 2 (לא זמין), 3 (בביצוע)

מסגרת הטלפוניה משתמשת בשילוב של סטטוס הזכאות וסטטוס ההקצאה כדי לקבוע את מצב רכישת הפרוסה הנוכחית. התוצאה יכולה להיות אחת מהאפשרויות הבאות:

אם סטטוס הזכאות הוא 1 (מופעל) וסטטוס ההקצאה הוא 0 (לא מסופק), מסגרת הטלפוניה מציגה הודעת מכירה נוספת למשתמש כדי לרכוש את החיזוק דרך תצוגת האינטרנט של הספק. הטבלה הבאה מתארת ​​את ההתנהגות של מסגרת הטלפוניה עבור שילובים שונים של ערכי סטטוס הקצאה וזכאות.

סטטוס הקצאה
לא מסופק ( 0 ) מסופק ( 1 ) 1 ) לא זמין ( 2 ) בתהליך ( 3 )
סטטוס זכאות מושבת ( 0 ) נִכשָׁל נִכשָׁל נִכשָׁל נִכשָׁל
מופעל ( 1 ) הצג תצוגת אינטרנט כבר נרכש כבר נרכש בתהליך
לא תואם ( 2 ) נִכשָׁל נִכשָׁל נִכשָׁל נִכשָׁל
הקצאה ( 3 ) שגיאת ספק שגיאת ספק בתהליך בתהליך
כלול ( 4 ) שגיאת ספק כבר נרכש כבר נרכש שגיאת ספק

שדות זרימת שירות

תגובת TS.43 מציינת את כתובת האתר, נתוני המשתמש וסוג התוכן כדי להתאים אישית את התנהגות תצוגת האינטרנט של רכישת הספק. אם סוג התוכן אינו מוגדר, כתובת האתר נטען כבקשת GET. אם נתוני המשתמש קיימים, הם מצורפים לכתובת האתר כפרמטר שאילתה (לדוגמה, https://www.android.com?encodedValue=Base64EncodedUserData ); ואם היא לא קיימת, כתובת האתר משמשת כפי שהיא (לדוגמה, https://www.android.com ).
אם סוג התוכן מצוין בפורמט JSON או XML, כתובת ה-URL נטען כבקשת POST, ונתוני המשתמש (מפוענח אם הם מקודדים בבסיס 64) נשלחים כנתונים עבור בקשת ה-POST.

כתובת אתר

מפתח: ServiceFlow_URL

סוג: String

דוגמה: "https://www.android.com"

מידע משתמש

מפתח: ServiceFlow_UserData

סוג: String

דוגמה: "encodedValue=Base64EncodedUserData"

סוג תוכן

מפתח: ServiceFlow_ContentsType

סוג: String

ערכים נתמכים: 0 (לא צוין), 1 (JSON), 2 (XML)

תצורות הספק

להלן תצורות הספק הזמינות כדי להתאים אישית את ההתנהגות של תכונת מכירת ה-5G החיתוך.

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 משרת ההרשאות, ערך זה משמש במקום זאת. אם לא כתובת האתר מתגובת TS.43 או תצורת הספק חוקיים, בקשת הרכישה נכשלת עם התוצאה PURCHASE_PREMIUM_CAPABILITY_RESULT_CARRIER_DISABLED .

KEY_PREMIUM_CAPABILITY_SUPPORTED_ON_LTE_BOOL

האם לאפשר רכישת יכולות פרימיום כאשר המכשיר מחובר ל- Long-Term Evolution (LTE). אם true , ניתן לבצע בקשות רכישה גם ב-LTE וגם ברדיו חדש (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 עם כתובת האתר לרכישת הספק מוצג למשתמש. ספקים יכולים להשתמש בממשקי ה-API הניתנים בממשק DataBoostWebServiceFlow Javascript באתר הרכישה שלהם כדי לתקשר עם אפליקציית רכישת ה-Slice.

אתר האינטרנט של הספק יכול לקבל את יכולת הפרימיום המבוקשת באמצעות השיטה getRequestedCapability() .

אם הרכישה הצליחה, אתר הספק חייב להודיע ​​לאפליקציית רכישת הפרוסה באמצעות notifyPurchaseSuccessful() או notifyPurchaseSuccessful(duration) כאשר duration הוא פרמטר אופציונלי המציין את משך הזמן המיועד של הפרוסה.

אם הרכישה לא הצליחה, אתר הספק חייב להודיע ​​לאפליקציית רכישת הפרוסות באמצעות השיטה notifyPurchaseFailed(code, reason) , כאשר code הוא קוד הכשל המציין את הסיבה לכישלון reason היא הסיבה לקריאה אנושית לכישלון אם קוד כשל אינו ידוע.

אם לא תיקרא לאחת משיטות התגובה הללו, הרכישה לא תיחשב כמושלמה ובסופו של דבר הזמן הקצוב לבקשת הרכישה.

להלן קודי הכשל החוקיים שאתר הספק יכול להחזיר במקרה של כשל ברכישה:

לאחר השלמת הרכישה, על הספק לעדכן את כללי ה-URSP עם הפרוסה PRIORITIZE_LATENCY למכשיר של המשתמש.