Android 9 可讓電信業者直接提供權威性 請在「設定」應用程式中為使用者提供詳細資訊,減少使用者混淆並提供協助 呼叫。在搭載 Android 4.0 以上版本的裝置上,使用者可以手動 使用「設定」應用程式,設定電信業者專屬數據方案詳細資料。 例如設定警告和限制來管理資料用量。
依電信業者設定
如要設定數據方案,電信業者可以新增現有功能
使用
SubscriptionPlan
API。
這些 API 可以支援多種數據方案,包括
週期性和非週期性方案,以及會隨時間變動的方案。
以下範例說明如何設定週期性的常用數據方案 每月:
SubscriptionManager sm =
context.getSystemService(SubscriptionManager.class);
sm.setSubscriptionPlans(subId, Lists.newArrayList(
SubscriptionPlan.Builder.createRecurringMonthly(
ZonedDateTime.parse("2016-12-03T10:00:00Z"))
.setTitle("G-Mobile")
.setDataLimit(4_000_000_000L,
SubscriptionPlan.LIMIT_BEHAVIOR_BILLED)
.setDataUsage(200_493_293L, dataUsageTimestamp)
.build()));
裝置只有在符合下列任一條件時,才能設定數據方案:
- SIM 卡已明確定義可管理 SIM 卡的應用程式,
SubscriptionManager.canManageSubscription()
。 - 電信業者已把
KEY_CONFIG_PLANS_PACKAGE_OVERRIDE_STRING
敬上 值透過CarrierConfigManager
來指出 以及行動電信業者的數據資費方案 - 裝置搭載的系統映像檔中內建
MANAGE_SUBSCRIPTION_PLANS
權限。
前兩個條件能讓使用者安裝電信業者應用程式 而不必預先安裝至工廠的系統映像檔 OS 會強制執行 (以及 CDD 要求) 所有已設定的資料方案詳細資料 並只能提供給原先採用該環境的電信業者應用程式 就會提供詳細資料
建議設計之一是讓電信業者應用程式使用閒置維護服務,
每天更新數據方案詳情,不過電信業者可以自由使用
支援多種機制,例如透過貨運公司內部資料接收數據方案詳細資訊
簡訊。閒置維護服務最適合透過
JobScheduler
工作使用
setRequiresDeviceIdle()
和
setRequiresCharging()
。
各 OS 的用量
OS 會使用 SubscriptionPlan API 提供的數據方案詳細資料 方法如下:
- 可透過「設定」應用程式顯示方案詳細資料,顯示準確資料 並提供相關服務 直接深層連結到電信業者應用程式 提供升級/追加銷售的機會
- 系統會自動顯示數據用量警告和限制通知門檻 根據方案詳細資料設定警告設為 我們會自動向帳單帳戶扣款 並每月或在您達到用量上限時發送帳單
- 如果貨運公司暫時顯示 "congested"、 例如將 JobScheduler 工作 (可進行時間移轉) 延遲,進而降低負載 再透過電信業者網路
- 如果貨運公司暫時顯示 "unmetered"、 作業系統可以回報行動網路連線為「非計量付費」直到貨運公司為止 清除覆寫值,或直到達到逾時值 (如有提供) 為止。
- 藉由比較使用者目前的數據用量與整體數據用量上限, OS 會在帳單週期結束時,估算使用者正常的數據用量 並謹慎地分配 10% 的剩餘資料,以改善使用者 例如允許應用程式使用多路徑資料
自訂和驗證
Android 的「設定」應用程式會顯示電信業者設定的所有數據方案詳細資料。 可確保使用者看到最準確的 電信業者關係狀態 讓使用者能前往電信業者應用程式升級方案。裝置 建議自訂「設定」應用程式的製造商,再繼續操作 顯示這些細節
本頁說明的 SubscriptionManager
API 皆已通過下列測試:
android.telephony.cts.SubscriptionManagerTest
,可確保數據方案
因為電信業者應用程式可以設定詳細資料,且變更會
作業系統