實施數據計劃

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 作業,從而減少運營商網路的負載。
  • 如果運營商暫時指示網路“不按流量計費” ,則作業系統可以將蜂窩連接報告為“不按流量計費”,直到運營商清除覆蓋或達到超時值(如果提供)。
  • 透過將使用者目前的資料使用量與整體資料限制進行比較,作業系統在計費週期結束時估計使用者的正常資料使用量,並保守地分配任何剩餘資料的10% 以改善使用者體驗,例如,透過讓應用程式使用多路徑資料。

客製化和驗證

Android 設定應用程式顯示所有運營商配置的數據計劃詳細信息,確保用戶看到其運營商關係的最準確狀態,並為用戶提供進入運營商應用程序以升級其計劃的路徑。建議選擇自訂「設定」應用程式的裝置製造商繼續提供這些詳細資訊。

上述SubscriptionManager API 由android.telephony.cts.SubscriptionManagerTest進行測試,這確保運營商應用程式可以配置資料計劃詳細信息,並且更改會在操作系統內傳播。