Android 9 ช่วยให้ผู้ให้บริการสามารถระบุรายละเอียดแพ็กเกจที่ถูกต้องแก่ผู้ใช้โดยตรงในแอปการตั้งค่า เพื่อลดความสับสนของผู้ใช้และลดการโทรขอรับการสนับสนุน ในอุปกรณ์ที่ใช้ Android 4.0 ขึ้นไป ผู้ใช้สามารถกำหนดค่ารายละเอียดแพ็กเกจอินเทอร์เน็ตของผู้ให้บริการแต่ละรายด้วยตนเองในแอปการตั้งค่า เช่น การตั้งค่าคำเตือนและขีดจำกัดเพื่อจัดการปริมาณการใช้อินเทอร์เน็ต
การกําหนดค่าตามผู้ให้บริการ
หากต้องการกำหนดค่าแพ็กเกจอินเทอร์เน็ต ผู้ให้บริการสามารถเพิ่มฟังก์ชันการทำงานลงในแอป Android ที่มีอยู่ได้โดยใช้ 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()));
อุปกรณ์จะอนุญาตให้แอปกำหนดค่าแพ็กเกจอินเทอร์เน็ตภายใต้เงื่อนไขข้อใดข้อหนึ่งต่อไปนี้เท่านั้น
- ซิมการ์ดได้กำหนดแอปที่จัดการได้อย่างชัดเจนตามที่ระบุโดย
SubscriptionManager.canManageSubscription()
- ผู้ให้บริการได้ส่งค่า
KEY_CONFIG_PLANS_PACKAGE_OVERRIDE_STRING
ผ่านCarrierConfigManager
เพื่อระบุว่าแอปใดสามารถจัดการแพ็กเกจอินเทอร์เน็ตของผู้ให้บริการได้ - อุปกรณ์มีแอปที่สร้างไว้ในอิมเมจระบบซึ่งมีสิทธิ์
MANAGE_SUBSCRIPTION_PLANS
เงื่อนไข 2 ข้อแรกช่วยให้ผู้ใช้ติดตั้งแอปของผู้ให้บริการได้โดยไม่ต้องติดตั้งแอปลงในภาพระบบที่โรงงานล่วงหน้า ระบบปฏิบัติการบังคับใช้ (และ CDD กำหนด) ว่ารายละเอียดแพ็กเกจอินเทอร์เน็ตที่กำหนดค่าไว้ทั้งหมดจะได้รับการปกป้องและพร้อมให้บริการแก่แอปของผู้ให้บริการที่ระบุรายละเอียดให้กับระบบปฏิบัติการตั้งแต่แรกเท่านั้น
การออกแบบที่แนะนำอย่างหนึ่งคือแอปของผู้ให้บริการจะใช้บริการบำรุงรักษาที่ไม่ได้ใช้งานเพื่ออัปเดตรายละเอียดแพ็กเกจอินเทอร์เน็ตทุกวัน แต่ผู้ให้บริการสามารถใช้กลไกได้หลากหลาย เช่น การรับรายละเอียดแพ็กเกจอินเทอร์เน็ตผ่านข้อความ SMS ภายในของผู้ให้บริการ บริการบำรุงรักษาขณะไม่ทำงานเหมาะที่จะใช้กับงาน JobScheduler
ที่ใช้ setRequiresDeviceIdle()
และ setRequiresCharging()
การใช้งานตามระบบปฏิบัติการ
ระบบปฏิบัติการใช้รายละเอียดแพ็กเกจอินเทอร์เน็ตที่ SubscriptionPlan API ระบุไว้ด้วยวิธีต่อไปนี้
- รายละเอียดแพ็กเกจจะแสดงผ่านแอปการตั้งค่าเพื่อแสดงข้อมูลการใช้งานที่ถูกต้องแก่ผู้ใช้ และเพื่อมอบDeep Link ที่ไปยังแอปของผู้ให้บริการโดยตรงเพื่อโอกาสในการอัปเกรด/ขายอัปเซล
- ระบบจะกำหนดเกณฑ์การแจ้งเตือนเกี่ยวกับขีดจำกัดและคำเตือนการใช้อินเทอร์เน็ตโดยอัตโนมัติตามรายละเอียดแพ็กเกจ โดยตั้งค่าคำเตือนไว้ที่ 90% ของขีดจำกัด
- หากผู้ให้บริการระบุชั่วคราวว่าเครือข่าย"แออัด" ระบบปฏิบัติการจะเลื่อนเวลาของงาน JobScheduler ที่เลื่อนเวลาได้ เพื่อลดภาระในเครือข่ายของผู้ให้บริการ
- หากผู้ให้บริการระบุว่าเครือข่าย"ไม่จำกัดปริมาณการใช้งาน" เป็นการชั่วคราว ระบบปฏิบัติการจะรายงานการเชื่อมต่อมือถือเป็น "ไม่จำกัดปริมาณการใช้งาน" จนกว่าผู้ให้บริการจะล้างการลบล้าง หรือจนกว่าจะถึงค่าการหมดเวลา (หากระบุไว้)
- ระบบปฏิบัติการจะประมาณปริมาณการใช้อินเทอร์เน็ตปกติของผู้ใช้เมื่อสิ้นสุดรอบการเรียกเก็บเงินโดยเปรียบเทียบปริมาณการใช้อินเทอร์เน็ตปัจจุบันของผู้ใช้กับขีดจำกัดอินเทอร์เน็ตโดยรวม และจัดสรรอินเทอร์เน็ตส่วนเกิน 10% เพื่อปรับปรุงประสบการณ์ของผู้ใช้ เช่น โดยการอนุญาตให้แอปใช้อินเทอร์เน็ตหลายเส้นทาง
การปรับแต่งและการตรวจสอบ
แอปการตั้งค่า Android จะแสดงรายละเอียดแพ็กเกจอินเทอร์เน็ตทั้งหมดที่กำหนดค่าโดยผู้ให้บริการเครือข่าย ซึ่งช่วยให้ผู้ใช้เห็นสถานะความสัมพันธ์กับผู้ให้บริการเครือข่ายที่ถูกต้องที่สุด และมอบเส้นทางไปยังแอปของผู้ให้บริการเครือข่ายเพื่อให้ผู้ใช้อัปเกรดแพ็กเกจได้ เราขอแนะนำให้ผู้ผลิตอุปกรณ์ที่เลือกปรับแต่งแอปการตั้งค่าแสดงรายละเอียดเหล่านี้ต่อไป
SubscriptionManager
API ที่อธิบายไว้ในหน้านี้ได้รับการทดสอบโดย android.telephony.cts.SubscriptionManagerTest
ซึ่งช่วยให้มั่นใจได้ว่าแอปของผู้ให้บริการจะกำหนดค่ารายละเอียดแพ็กเกจอินเทอร์เน็ตได้ และการเปลี่ยนแปลงจะเผยแพร่ภายในระบบปฏิบัติการ