導入資料企劃書

Android 9 可讓電信業者直接在「設定」應用程式中向使用者提供權威的方案詳細資料,減少使用者困惑並支援通話。在搭載 Android 4.0 以上版本的裝置上,使用者可以在「設定」應用程式中手動設定電信業者專屬的數據方案詳細資料,例如設定警告和限制,以便管理數據用量。

電信業者設定

如要設定數據方案,電信業者可以使用 SubscriptionPlan API,在現有的 Android 應用程式中新增功能。這些 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()));

只有在符合下列其中一項條件時,裝置才會允許應用程式設定數據方案:

前兩項條件可讓使用者安裝電信業者應用程式,不必在工廠預先安裝到系統映像檔中。作業系統會強制執行 (CDD 也有相關規定),確保所有已設定的資費方案詳細資料受到保護,且僅供最初向作業系統提供詳細資料的電信業者應用程式存取。

其中一個建議的設計是讓電信業者應用程式使用閒置維護服務,每天更新資料方案詳細資料,但電信業者可以自由使用各種機制,例如透過電信業者內部簡訊接收資料方案詳細資料。閒置維護服務最好透過使用 setRequiresDeviceIdle()setRequiresCharging()JobScheduler 工作實作。

依作業系統劃分的用量

作業系統會透過下列方式使用 SubscriptionPlan API 提供的資料方案詳細資料:

  • 系統會透過「設定」應用程式顯示方案詳細資料,向使用者提供準確的資料用量資訊,並提供直接連往電信業者應用程式的深層連結,方便使用者升級/加購方案。
  • 系統會根據方案詳細資料自動設定數據用量警告和限制通知門檻,警告門檻為限制的 90%。
  • 如果電信業者暫時指出網路「壅塞」,作業系統會延遲可調整時間的 JobScheduler 工作,減少電信業者網路的負載。
  • 如果電信業者暫時將網路標示為「不計量」,作業系統可能會將行動網路連線回報為「不計量」,直到電信業者清除覆寫值,或達到逾時值 (如有提供)。
  • OS 會比較使用者目前的資料用量與整體資料上限,估算使用者在帳單週期結束時的正常資料用量,並保守地分配 10% 的剩餘資料,以改善使用者體驗,例如允許應用程式使用多路徑資料。

自訂與驗證

Android 設定應用程式會顯示所有電信業者設定的數據方案詳細資料,確保使用者看到最準確的電信業者關係狀態,並提供進入電信業者應用程式的路徑,讓使用者升級方案。建議選擇自訂「設定」應用程式的裝置製造商繼續顯示這些詳細資料。

本頁面說明的 SubscriptionManager API 經過 android.telephony.cts.SubscriptionManagerTest 測試,可確保電信業者應用程式能設定資費方案詳細資料,且變更會傳播至 OS。