Triển khai kế hoạch dữ liệu

Android 9 cho phép các nhà mạng trực tiếp cung cấp thông tin đáng tin cậy thông tin chi tiết về gói cho người dùng trong ứng dụng Cài đặt để người dùng không bị nhầm lẫn và cần hỗ trợ cuộc gọi. Trên các thiết bị chạy Android 4.0 trở lên, người dùng có thể định cấu hình chi tiết gói dữ liệu theo nhà cung cấp cụ thể trong ứng dụng Cài đặt, cho ví dụ như đặt cảnh báo và giới hạn để quản lý mức sử dụng dữ liệu của họ.

Cấu hình theo nhà mạng

Để định cấu hình các gói dữ liệu, nhà mạng có thể thêm chức năng vào gói dữ liệu hiện có của họ ứng dụng Android sử dụng API SubscriptionPlan. Các API này được thiết kế để hỗ trợ nhiều loại gói dữ liệu, bao gồm cả các kế hoạch định kỳ và không định kỳ cũng như các kế hoạch thay đổi theo thời gian.

Dưới đây là ví dụ về cách định cấu hình loại gói dữ liệu phổ biến định kỳ hàng tháng:

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()));

Thiết bị chỉ cho phép ứng dụng định cấu hình gói dữ liệu theo một trong các điều kiện sau:

  • Thẻ SIM đã xác định rõ một ứng dụng có thể quản lý thẻ SIM đó, như được xác định bằng SubscriptionManager.canManageSubscription().
  • Nhà mạng đã đẩy KEY_CONFIG_PLANS_PACKAGE_OVERRIDE_STRING qua CarrierConfigManager để cho biết ứng dụng nào có thể quản lý gói dữ liệu của nhà cung cấp dịch vụ.
  • Thiết bị này có một ứng dụng được tích hợp vào hình ảnh hệ thống có Quyền MANAGE_SUBSCRIPTION_PLANS.

Hai điều kiện đầu tiên cho phép người dùng cài đặt ứng dụng của nhà mạng, mà không yêu cầu cài đặt sẵn vào hình ảnh hệ thống tại nhà máy. Hệ điều hành thực thi (và CDD yêu cầu) rằng tất cả thông tin về gói dữ liệu được định cấu hình đều được bảo vệ và chỉ được cung cấp cho ứng dụng của nhà mạng ban đầu cung cấp thông tin chi tiết cho hệ điều hành.

Một thiết kế được đề xuất là dành cho ứng dụng của nhà mạng dùng dịch vụ bảo trì ở trạng thái rảnh cập nhật chi tiết gói dữ liệu hàng ngày, nhưng các nhà cung cấp dịch vụ có thể sử dụng nhiều cơ chế, chẳng hạn như nhận thông tin chi tiết về gói dữ liệu thông qua nội bộ của nhà mạng Tin nhắn SMS. Dịch vụ bảo trì ở trạng thái rảnh được triển khai tốt nhất bằng Công việc JobScheduler sử dụng setRequiresDeviceIdle()setRequiresCharging().

Mức sử dụng theo hệ điều hành

Hệ điều hành sử dụng thông tin chi tiết về gói dữ liệu do SubscriptionPlan API cung cấp trong các cách sau:

  • Thông tin chi tiết về gói sẽ xuất hiện qua ứng dụng Cài đặt để hiển thị dữ liệu chính xác thông tin sử dụng cho người dùng và để cung cấp đường liên kết sâu trực tiếp vào ứng dụng của nhà mạng để có cơ hội nâng cấp/bán thêm.
  • Cảnh báo về mức sử dụng dữ liệu và ngưỡng thông báo giới hạn sẽ tự động xuất hiện được định cấu hình dựa trên thông tin chi tiết của gói; cảnh báo được đặt thành 90% tối đa.
  • Nếu nhà mạng tạm thời cho biết mạng này "ngắt tắc", hệ điều hành trì hoãn các công việc trong JobScheduler có thể bị dịch chuyển thời gian, giúp giảm tải trên mạng của nhà mạng.
  • Nếu nhà mạng tạm thời cho biết mạng này "không đo lượng dữ liệu", hệ điều hành có thể báo cáo kết nối di động là "không đo lượng dữ liệu" cho đến khi nhà mạng xóa chế độ ghi đè hoặc cho đến khi đạt giá trị thời gian chờ (nếu được cung cấp).
  • Bằng cách so sánh mức sử dụng dữ liệu hiện tại của người dùng với hạn mức dữ liệu tổng thể, Hệ điều hành ước tính mức sử dụng dữ liệu thông thường của người dùng vào cuối chu kỳ thanh toán và phân bổ thận trọng 10% dữ liệu dư để cải thiện trải nghiệm người dùng trải nghiệm người dùng cụ thể, chẳng hạn như bằng cách cho phép các ứng dụng dùng dữ liệu nhiều đường dẫn.

Tuỳ chỉnh và xác thực

Ứng dụng Cài đặt trên Android hiển thị tất cả thông tin chi tiết về gói dữ liệu do nhà mạng định cấu hình, đảm bảo rằng người dùng thấy được trạng thái chính xác nhất về mối quan hệ với nhà mạng, và cung cấp cho người dùng một đường dẫn vào ứng dụng của nhà mạng để nâng cấp gói của họ. Thiết bị Các nhà sản xuất đang chọn tuỳ chỉnh ứng dụng Cài đặt nên tiếp tục hiển thị các chi tiết này.

Các API SubscriptionManager được mô tả trên trang này đã được kiểm thử bởi android.telephony.cts.SubscriptionManagerTest để đảm bảo gói dữ liệu đó thông tin chi tiết có thể được ứng dụng của nhà mạng định cấu hình và những thay đổi đó sẽ được áp dụng trong hệ điều hành.