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