對於搭載 Android 12 以上版本的裝置,Android 支援 5G 網路切片功能,可使用網路虛擬化技術將單一網路連線劃分為多個不同的虛擬連線,為不同類型的流量提供不同數量的資源。5G 網路切片技術可讓網路營運商將部分網路專用於為特定客群提供特定功能。Android 12 推出下列 5G 企業網路切片功能,網路業者可提供給企業客戶:
全代管裝置的企業裝置切片
如果企業為員工提供全代管公司裝置,網路供應商可以為這些裝置提供一或多個有效的企業網路切片,將裝置上的流量導向這些切片。從 Android 12 開始,Android 允許電信業者透過 URSP 規則提供企業網路切片,不必透過 APN 設定網路切片。
為設有工作資料夾的裝置提供企業商務應用程式切片
如果企業採用工作資料夾解決方案,Android 12 可讓裝置將工作資料夾中所有應用程式的流量,導向企業網路切片。企業可透過裝置政策控制器 (DPC) 啟用這項功能。
工作資料夾解決方案提供企業所需的自動驗證和存取權控管層級,確保只有工作資料夾中的企業應用程式流量會路由至企業網路切片。工作資料夾中的應用程式不需要修改,即可明確要求企業網路切片。
AOSP 中的 5G 網路切片運作方式
Android 12 在 AOSP 的電話程式碼集和網路共用模組中新增功能,支援 5G 網路切片,並納入網路切片所需的現有連線能力 API。
Android 電話通訊平台提供 HAL 和電話通訊 API,可根據核心網路程式碼提出的網路要求,以及數據機中的 5G 切片功能,支援切片。圖 1 說明 5G 網路切片功能的元件。
圖 1. AOSP 中的 5G 網路切片架構。
電話和連線平台支援:
- 將切片類別的網路要求轉換為流量描述元,然後傳遞至數據機,以進行 URSP 流量比對和路徑選取
- 如果企業網路切片無法使用,則會改用預設網路
- 將工作資料夾中所有應用程式的流量,轉送至對應的連線
支援企業切片
- 偵測裝置上是否有工作資料夾
- 檢查企業 IT 管理員使用的 DPC 提供的權限或路徑指示
核心網路服務在 Android 12 中對網路共用模組進行了下列變更:
- 將大部分的
android.net.*公開或系統 API 類別新增至 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.javaf/b/services/core/java/com/android/server/TestNetworkService.java
將 VPN 程式碼移出「網路共用」模組
Android 12 會將具有下列功能的程式碼移至「網路共用」模組:
- 接收應用程式的網路連線要求
- 接收系統要求 (例如「將這些應用程式放在企業切片上」;Android 12 推出這項功能)
- 系統會將要求傳送至電話通訊程式碼,嘗試透過 HAL API 和數據機設定網路或切片
- 告知 netd 如何以每個應用程式為單位轉送流量 (Android 12 中導入)
- 透過
ConnectivityManagerAPI (例如NetworkCallback、getActiveNetwork、getNetworkCapabilities) 通知應用程式網路流量的狀況。
導入作業
如要在裝置上支援 5G 切片,裝置必須具備支援 IRadio 1.6 HAL 的數據機,該數據機具有 setupDataCall_1_6 API。這個 API 會設定資料連線,並包含下列參數,以支援 5G 切片:
trafficDescriptor:指定傳送至數據機的流量描述元sliceInfo:指定要在 EPDG 交接至 5G 時使用的網路切片資訊matchAllRuleAllowed:指定是否允許使用預設的「符合所有條件」URSP 規則。電話服務會將預設網路設為 true,但不會將切片設為 true。系統會將「符合所有條件」規則套用至預設網路。如果應用程式要求的特定版面配置無法使用,系統會回報該版面配置無法使用。如果是企業應用程式,如果企業網路無法使用,電話通訊架構可以改用預設網路。
除非 getHalDeviceCapabilities API 回報數據機不支援 getSlicingConfig API,否則數據機也必須實作該 API。
企業版需求
以下說明企業在 Android Enterprise 部署作業中,於裝置上使用 5G 網路切片功能時須符合的條件。
- 確認全代管裝置或設有工作資料夾的員工裝置支援 5G SA,且數據機支援
setupDataCall_1_6API。 - 與電信合作夥伴合作,設定切片和效能,或瞭解服務等級協議 (SLA) 特性。
在設有工作資料夾的裝置上啟用 5G 切片
如果是設有工作資料夾的裝置,AOSP 預設會關閉 5G 網路切片功能。如要啟用網路切片,企業 IT 管理員可以透過 EMM DPC,根據每位員工的設定,開啟或關閉工作資料夾應用程式流量的企業網路切片轉送功能。EMM DPC 會使用 setPreferentialNetworkServiceEnabled 方法,透過 Android 12 推出的 DevicePolicyManager (DPM) API 進行設定。
如果 EMM 供應商使用自訂 DPC,就必須整合 DevicePolicyManager API,才能支援企業客戶。
URSP 規則
本節提供電信業者資訊,說明如何為不同類別的網路切片設定 URSP 規則,包括企業、CBS、低延遲和高頻寬流量。為不同類別的網路切片設定 URSP 規則時,電信業者必須使用下列 Android 專屬值。
| ID | 值 | 說明 |
|---|---|---|
| OSId | 97a498e3-fc92-5c94-8986-0333d06e4e47 |
Android 的 OSId 是以命名空間 ISO OID 和名稱「Android」產生的版本 5 UUID。 |
電信業者必須為每個切片流量設定 URSP 規則,並將流量描述元元件設為「OS ID + OS 應用程式 ID 類型」。舉例來說,「ENTERPRISE」切片的值必須為 0x97A498E3FC925C9489860333D06E4E470A454E5445525052495345。這個值是 OSId、OSAppId 長度 (0x0A) 和 OSAppId 的串連。如要進一步瞭解流量描述元元件類型,請參閱 3GPP TS 24.526 表格 5.2.1。
下表說明不同配量類別的 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 規則範例
下表顯示企業、CBS、低延遲、高頻寬和預設流量的 URSP 規則範例。
企業 1
Android 12 以上版本支援 Enterprise 1。以下是 ENTERPRISE1 流量的 URSP 規則範例:
| URSP 規則 #1 (enterprise1) | |
|---|---|
| 優先順序 | 1 (0x01) |
| 流量描述元 #1 | |
| 作業系統 ID + 作業系統應用程式 ID 類型 | 0x97A498E3FC925C9489860333D06E4E470A454E5445525052495345 |
| 路徑選取描述元 #1 | |
| 優先順序 | 1 (0x01) |
| 元件 1:S-NSSAI | SST:XX SD:YYYYYY |
| 元件 #2:DNN | 企業 |
| 路徑選取描述元 #2 | |
| 優先順序 | 2 (0x02) |
| 元件 1:DNN | 企業 |
Enterprise 2
Android 13 以上版本支援 Enterprise 2。以下是 ENTERPRISE2 流量的 URSP 規則範例:
| URSP 規則 #2 (enterprise2) | |
|---|---|
| 優先順序 | 2 (0x02) |
| 流量描述元 #1 | |
| 作業系統 ID + 作業系統應用程式 ID 類型 | 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534532 |
| 路徑選擇描述元 #1 | |
| 優先順序 | 1 (0x01) |
| 元件 1:S-NSSAI | SST:XX SD:YYYYYY |
| 元件 #2:DNN | enterprise2 |
| 路徑選取描述元 #2 | |
| 優先順序 | 2 (0x02) |
| 元件 1:DNN | enterprise2 |
Enterprise 3
Android 13 以上版本支援 Enterprise 3。以下是 ENTERPRISE3 流量的 URSP 規則範例:
| URSP 規則 #3 (enterprise3) | |
|---|---|
| 優先順序 | 3 (0x03) |
| 流量描述元 #1 | |
| 作業系統 ID + 作業系統應用程式 ID 類型 | 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534533 |
| 路徑選擇描述元 #1 | |
| 優先順序 | 1 (0x01) |
| 元件 1:S-NSSAI | SST:XX SD:YYYYYY |
| 元件 #2:DNN | enterprise3 |
| 路徑選取描述元 #2 | |
| 優先順序 | 2 (0x02) |
| 元件 1:DNN | enterprise3 |
Enterprise 4
Android 13 以上版本支援 Enterprise 4。以下是 ENTERPRISE4 流量的 URSP 規則範例:
| URSP 規則 #4 (enterprise4) | |
|---|---|
| 優先順序 | 4 (0x04) |
| 流量描述元 #1 | |
| 作業系統 ID + 作業系統應用程式 ID 類型 | 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534534 |
| 路徑選擇描述元 #1 | |
| 優先順序 | 1 (0x01) |
| 元件 1:S-NSSAI | SST:XX SD:YYYYYY |
| 元件 #2:DNN | enterprise4 |
| 路徑選取描述元 #2 | |
| 優先順序 | 2 (0x02) |
| 元件 1:DNN | enterprise4 |
Enterprise 5
Android 13 以上版本支援 Enterprise 5。以下是 ENTERPRISE5 流量的 URSP 規則範例:
| URSP 規則 #5 (enterprise5) | |
|---|---|
| 優先順序 | 5 (0x05) |
| 流量描述元 #1 | |
| 作業系統 ID + 作業系統應用程式 ID 類型 | 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534535 |
| 路徑選擇描述元 #1 | |
| 優先順序 | 1 (0x01) |
| 元件 1:S-NSSAI | SST:XX SD:YYYYYY |
| 元件 #2:DNN | enterprise5 |
| 路徑選取描述元 #2 | |
| 優先順序 | 2 (0x02) |
| 元件 1:DNN | enterprise5 |
CBS
Android 13 以上版本支援 CBS。以下是 CBS 流量的 URSP 規則範例:
| URSP 規則 #6 (CBS) | |
|---|---|
| 優先順序 | 6 (0x06) |
| 流量描述元 #1 | |
| 作業系統 ID + 作業系統應用程式 ID 類型 | 0x97A498E3FC925C9489860333D06E4E4703434253 |
| 路徑選取描述元 #1 | |
| 優先順序 | 1 (0x01) |
| 元件 1:S-NSSAI | SST:XX SD:YYYYYY |
| 元件 #2:DNN | cbs |
| 路徑選取描述元 #2 | |
| 優先順序 | 2 (0x02) |
| 元件 1:DNN | cbs |
低延遲
Android 13 以上版本支援低延遲模式。以下是 LOW_LATENCY 流量的 URSP 規則範例:
| URSP 規則 #7 (低延遲) | |
|---|---|
| 優先順序 | 7 (0x07) |
| 流量描述元 #1 | |
| 作業系統 ID + 作業系統應用程式 ID 類型 | 0x97A498E3FC925C9489860333D06E4E47125052494f524954495a455f4c4154454e4359 |
| 路徑選擇描述元 #1 | |
| 優先順序 | 1 (0x01) |
| 元件 1:S-NSSAI | SST:XX SD:YYYYYY |
| 元件 #2:DNN | 延遲時間 |
| 路徑選取描述元 #2 | |
| 優先順序 | 2 (0x02) |
| 元件 1:DNN | 延遲時間 |
高頻寬
Android 13 以上版本支援高頻寬。以下是 HIGH_BANDWIDTH 流量的 URSP 規則範例:
| URSP 規則 #8 (高頻寬) | |
|---|---|
| 優先順序 | 8 (0x08) |
| 流量描述元 #1 | |
| 作業系統 ID + 作業系統應用程式 ID 類型 | 97A498E3FC925C9489860333D06E4E47145052494f524954495a455f42414e445749445448 |
| 路徑選取描述元 #1 | |
| 優先順序 | 1 (0x01) |
| 元件 1:S-NSSAI | SST:XX SD:YYYYYY |
| 元件 #2:DNN | bandwidth |
| 路徑選取描述元 #2 | |
| 優先順序 | 2 (0x02) |
| 元件 1:DNN | bandwidth |
預設
| URSP 規則 #9 (預設) | |
|---|---|
| 優先順序 | 9 (0x09) |
| 流量描述元 #1 | |
| match-all | 不適用 |
| 路徑選擇描述元 #1 | |
| 優先順序 | 1 (0x01) |
| 元件 1:S-NSSAI | SST:XX SD:YYYYYY |
測試
如要測試 5G 網路切片,請使用下列手動測試。
如要設定測試裝置,請按照下列步驟操作:
確認 URSP 政策已設定非預設規則,且該規則符合企業類別,以及對應的路由選取描述元將企業類別對應至企業網路切片;此外,預設規則會將流量導向預設網際網路切片。
確認裝置上已設定工作資料夾。
透過 DPC 選擇使用網路切片
如要測試 5G 網路切片行為,請按照下列步驟操作:
- 確認已建立企業網路切片 PDU 工作階段 (例如使用特定 IP 位址),且工作資料夾中的應用程式使用該 PDU 工作階段。
- 確認已透過預設網際網路切片建立獨立的 PDU 工作階段,且個人資料夾中的應用程式使用該 PDU 工作階段。
5G 切片加購
Android 14 QPR1 以上版本提供 5G 網路切片加購功能,電信業者可透過 5G 網路切片,為使用者提供更強大的網路功能 (延遲和頻寬)。
5G 切片加購功能會使用電信業者授權伺服器的 TS.43 回應,引導使用者完成購買流程。電信業者可使用回應指定電信業者購買網頁檢視的網址、將額外資料傳送至網頁檢視,以及指出切片是否已佈建並可在電信業者網路上使用。
電信業者可以透過電信業者設定,自訂 5G 切片加購功能的行為,包括控制是否可提出購買要求、允許應用程式要求進階功能的時間,以及電話架構等待使用者或網路回應的時間長度。
5G 切片加購功能提供名為 DataBoostWebServiceFlow 的介面,可讓 Android 與電信業者 WebView 進行通訊。
圖 2 顯示 5G 切片加購流程:
圖 2. 5G 切片加購流程。
TS.43 授權程序
當使用者要求強化網路功能時,Telephony 架構會要求所要求進階功能的服務授權設定。如果 TS.43 回應有效,Telephony 架構會使用 HTTP 回應中的欄位來驅動購買要求。
切片購買欄位
TS.43 授權設定包含下列切片購買欄位:
- 權限狀態
鍵:
EntitlementStatus類型:
int支援的值:
0(已停用)、1(已啟用)、2(不相容)、3(佈建中)、4(已納入)- 佈建狀態
鍵:
ProvStatus類型:
int支援的值:
0(未佈建)、1(已佈建)、2(不適用)、3(進行中)
電話架構會結合授權狀態和佈建狀態,判斷目前的切片購買狀態。結果可以是下列其中一項:
PURCHASE_PREMIUM_CAPABILITY_RESULT_ALREADY_PURCHASEDPURCHASE_PREMIUM_CAPABILITY_RESULT_ALREADY_IN_PROGRESSPURCHASE_PREMIUM_CAPABILITY_RESULT_ENTITLEMENT_CHECK_FAILEDPURCHASE_PREMIUM_CAPABILITY_RESULT_CARRIER_ERROR
如果授權狀態為 1 (已啟用),且佈建狀態為 0 (未佈建),電話架構會向使用者顯示加購通知,引導他們透過電信業者 WebView 購買加購內容。下表說明不同組合的佈建和授權狀態值,對 Telephony 架構的影響。
| 佈建狀態 | |||||
|---|---|---|---|---|---|
未佈建 (0) |
已佈建 (1) |
不適用 (2) |
處理中 (3) |
||
| 授權狀態 | 已停用 (0) |
失敗 | 失敗 | 失敗 | 失敗 |
已啟用 (1) |
顯示網頁畫面 | 已購買 | 已購買 | 進行中 | |
不相容 (2) |
失敗 | 失敗 | 失敗 | 失敗 | |
佈建 (3) |
貨運公司錯誤 | 貨運公司錯誤 | 進行中 | 進行中 | |
隨附 (4) |
貨運公司錯誤 | 已購買 | 已購買 | 貨運公司錯誤 | |
服務流程欄位
TS.43 回應會指定網址、使用者資料和內容類型,以便自訂電信業者購買網頁檢視行為。如果內容類型未指定,系統會以 GET 要求載入網址。如果使用者資料存在,系統會將其附加至網址做為查詢參數 (例如 https://www.android.com?encodedValue=Base64EncodedUserData);如果不存在,系統會照常使用網址 (例如 https://www.android.com)。
如果內容類型是以 JSON 或 XML 格式指定,系統會以 POST 要求載入網址,並將使用者資料 (如果以 Base 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支援的進階功能清單。這是 int 陣列,其中包含
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使用者點選加購通知時顯示的備用貨運公司購買網址。如果授權伺服器的 TS.43 回應中沒有購買網址,系統就會改用這個值。如果 TS.43 回應中的網址或電信業者設定無效,購買要求就會失敗,並傳回
PURCHASE_PREMIUM_CAPABILITY_RESULT_CARRIER_DISABLED結果。KEY_PREMIUM_CAPABILITY_SUPPORTED_ON_LTE_BOOL是否允許裝置連上長期演進技術 (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因電信業者或網路問題導致交易失敗後,後續購買要求應受到節流的時間長度。如果授權檢查失敗、網址無法使用,或是電信業者購買網址指出失敗,就會啟動這個退避計時器。計時器運作時,購買要求會失敗,並傳回
PURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLED結果。KEY_PREMIUM_CAPABILITY_NETWORK_SETUP_TIME_MILLIS_LONG網路必須在多長時間內設定切片設定,才能購買進階功能。在這段期間,後續的購買要求會遭到封鎖,並傳回
PURCHASE_PREMIUM_CAPABILITY_RESULT_PENDING_NETWORK_SETUP結果。如果網路無法及時設定切片設定,應用程式可以再次要求購買進階功能。無論使用者是否已向電信業者付款,電話服務都會等到傳送相應的切片設定後,才將購買交易視為完成。
JavaScript 介面
使用者點選網路加速通知時,系統會向使用者顯示含有電信業者購買網址的 WebView 物件。電信業者可以在購買網站中使用 DataBoostWebServiceFlow JavaScript 介面提供的 API,與切片購買應用程式通訊。
電信業者網站可透過 getRequestedCapability() 方法取得要求的高階功能。
如果交易成功,電信業者網站必須透過 notifyPurchaseSuccessful() 或 notifyPurchaseSuccessful(duration) 通知切片購買應用程式,其中 duration 是選用參數,表示切片的預期時間長度。
如果購買交易未成功,電信業者網站必須透過 notifyPurchaseFailed(code, reason) 方法通知切片購買應用程式,其中 code 是指出失敗原因的失敗代碼,而 reason 則是失敗原因 (如果失敗代碼不明)。
如果未呼叫任一回應方法,系統不會將購買交易視為完成,且購買要求最終會逾時。
以下是貨運公司網站可針對購買失敗傳回的有效失敗代碼:
FAILURE_CODE_UNKNOWNFAILURE_CODE_CARRIER_URL_UNAVAILABLEFAILURE_CODE_AUTHENTICATION_FAILEDFAILURE_CODE_PAYMENT_FAILEDFAILURE_CODE_NO_USER_DATA
購買完成後,電信業者必須將 PRIORITIZE_LATENCY 切片更新至使用者裝置的URSP 規則。
自動將 OTT 語音和視訊通話連線至 5G 切片
Android 17 支援將 OTT 語音和視訊通話自動轉送至優質網路連線。這項功能可讓系統自動將語音和視訊通話的流量導向專用的進階網路介面 (例如進階 5G 切片或進階 4G PDN 連線),不必變更應用程式的網路堆疊。
這項平台層級的解決方案可讓應用程式開發人員不必明確要求網路功能,為開發人員和使用者提供流暢體驗。
運作方式
Android 透過新增連線和電信架構,支援自動路徑設定。自動轉送功能的運作方式如下:
- 通話偵測:系統會運用 OTT 應用程式使用的現有 Telecom Jetpack API,偵測語音或視訊通話的開始和結束時間。
- 連線管理:Android 偵測到通話後,會顯示指定的優質網路介面,例如統一通訊切片。
- 流量導向:通話期間,平台會依據 UID 識別應用程式,並自動將流量導向優質網路連線。
- 通話後備:通話結束時,平台會移除轉送規則,應用程式的流量會返回系統預設網路,以處理非通話流量 (例如訊息)。
需求條件
如要支援 OTT 通話的自動轉送功能,必須符合下列條件:
- 電信業者:必須設定適當的 URSP 規則,提供統一的通訊切片。電信業者必須在 URSP 中填入特定
OSAppID,以供統一通訊流量使用。 - 應用程式:必須使用 Android Telecom Jetpack API,讓系統偵測通話狀態。
- 裝置製造商:必須使用 Android 17 以上版本。