หน้านี้มีตัวอย่างการดําเนินการทั่วไปบางส่วนที่คุณอาจทํากับไลบรารีทั่วไปของ Android Android ได้แก่
- สร้างออบเจ็กต์
ResellerService
รายการ - สร้างออบเจ็กต์
Customer
รายการ - การอ้างสิทธิ์กลุ่มอุปกรณ์
- การอ้างสิทธิ์กลุ่มอุปกรณ์
- การแลกเปลี่ยนอุปกรณ์ Samsung
- การแลกเปลี่ยนอุปกรณ์ Android (ไม่ใช่ Samsung)
สร้างออบเจ็กต์ ResellerService
รายการ
ใช้คลาส Samsung จากโรงงานของ Google เพื่อสร้างออบเจ็กต์ ResellerService
สําหรับออบเจ็กต์ ResellerService
จะมีชุดเมธอดทั่วไปไว้ให้ลงทะเบียน
Samsung และอุปกรณ์ Android อื่นๆ
อุปกรณ์ Samsung
ตัวอย่างด้านล่างแสดงวิธีสร้างออบเจ็กต์ ResellerService
โดยใช้คลาส SamsungResellerServiceFactory
ในการจัดการอุปกรณ์ Samsung
ก่อนที่จะดําเนินการดังกล่าว คุณต้องเริ่มต้นใช้งานด้วยโปรแกรมการทําให้ใช้งานได้ของ Knox (KDP)
ResellerService samsungResellerService = SamsungResellerServiceFactory.createResellerService(resellerId, serviceAccountKeyFilePath, clientIdentifier);
อุปกรณ์ Android อื่นๆ
ตัวอย่างด้านล่างแสดงวิธีสร้างออบเจ็กต์ ResellerService
โดยใช้คลาส GoogleResellerServiceFactory
เพื่อจัดการอุปกรณ์ Android อื่นๆ (ที่ไม่ใช่ Samsung) ก่อนทําขั้นตอนนี้ คุณต้องทําตามขั้นตอนในเริ่มต้นใช้งานการตั้งค่าอุปกรณ์พร้อมใช้แบบรวมกลุ่มเพื่อรับ resellerId
และคีย์บัญชีบริการ
ResellerService googleResellerService = GoogleResellerServiceFactory.createResellerService(resellerId, serviceAccountKeyFilePath);
สร้างออบเจ็กต์ Customer
รายการ
ลูกค้าที่ซื้ออุปกรณ์ Samsung และที่ไม่ใช่ Samsung ต้องใช้รหัสลูกค้า 2 รหัส
อุปกรณ์ Samsung
หากต้องการจัดการอุปกรณ์ Samsung ให้ใช้รหัสลูกค้า Knox ของลูกค้า หากต้องการขอรับรหัสลูกค้า Knox คุณต้องสร้างออบเจ็กต์ Customer
ก่อน ซึ่งทําได้โดยการโทรหา createCustomer
โดยใช้ SamsungResellerService
ที่สร้างจาก SamsungResellerServiceFactory
เช่น
CreateCustomerRequest request = CreateCustomerRequest.newBuilder()
.setCustomerName("TestCustomer") .addPrimaryEmails("superAdmin@gmail.com")
.putVendorParams("country", "US") .putVendorParams("firstName", "Avery")
.putVendorParams("lastName", "Yamada") .putVendorParams("service", "KME")
.build();
CreateCustomerResponse response = samsungResellerService.createCustomer(request);
String companyId = response.getCustomer().getCompanyReference().getCompanyId();
หากสําเร็จ คําขอจะแสดงออบเจ็กต์ CreateCustomerResponse
ที่คุณดึงรหัสลูกค้า Knox ได้
อุปกรณ์ Android อื่นๆ
สําหรับอุปกรณ์ Android อื่นๆ ลูกค้าต้องใช้รหัสลูกค้า
การตั้งค่าอุปกรณ์พร้อมใช้แบบรวมกลุ่ม หากลูกค้าใช้การตั้งค่าอุปกรณ์พร้อมใช้แบบรวมกลุ่มกับตัวแทนจําหน่ายรายอื่นอยู่แล้ว
คุณก็ใช้รหัสลูกค้าเดิม มิเช่นนั้น คุณต้องสร้างออบเจ็กต์ Customer
ซึ่งทําได้โดยการโทรหา createCustomer
โดยใช้ ResellerService
ที่สร้างจาก GoogleResellerServiceFactory
ดังตัวอย่างต่อไปนี้
CreateCustomerRequest request = CreateCustomerRequest.newBuilder()
.setCustomerName("TestCustomer")
.addPrimaryEmails("owner@gmail.com")
.addSecondaryEmails("admin@gmail.com")
.build();
CreateCustomerResponse response = googleResellerService.createCustomer(request);
String companyId = response.getCustomer().getCompanyReference().getCompanyId();
หากทําสําเร็จ คําขอจะแสดงออบเจ็กต์ CreateCustomerResponse
คุณสามารถดึงรหัสลูกค้าจากการตอบกลับได้
อ้างสิทธิ์กลุ่มอุปกรณ์
การอ้างสิทธิ์ในอุปกรณ์จะสร้างการเชื่อมโยงระหว่างอุปกรณ์กับลูกค้า ตัวอย่างเช่น หากคุณขายกลุ่มอุปกรณ์ให้กับลูกค้า คุณจะอ้างสิทธิ์อุปกรณ์สําหรับลูกค้ารายนั้น
ตัวอย่างนี้แสดงวิธีประมวลผลกลุ่มอุปกรณ์ซึ่งประกอบด้วยคําสั่งซื้ออุปกรณ์จากผู้ผลิตหลายราย (Samsung และอุปกรณ์ Android อื่นๆ) จากลูกค้าหลายราย
ขั้นตอนที่ 1: จัดระเบียบอุปกรณ์และลูกค้า
ตารางดู IMEI, ผู้ผลิต และรหัสของลูกค้าที่ขายอุปกรณ์ได้ วิธีหนึ่งในการจัดการคําสั่งซื้อคือการจัดระเบียบคําสั่งซื้อออกเป็น 2 รายการ ได้แก่ คําสั่งซื้ออุปกรณ์ Samsung และคําสั่งซื้ออุปกรณ์ Android (ที่ไม่ใช่ Samsung) จากนั้นจัดกลุ่มอุปกรณ์ตามลูกค้าสําหรับแต่ละรายการ เช่น
อุปกรณ์ Samsung
ชื่อลูกค้า | รหัสลูกค้า Samsung Knox | ผู้ผลิต | IMEI |
---|---|---|---|
บริษัท ABC | 11 |
Samsung |
|
อุปกรณ์ Android อื่นๆ
ชื่อลูกค้า | รหัสลูกค้า | ผู้ผลิต | IMEI |
---|---|---|---|
บริษัท ABC | 21 |
Google |
1234567803 |
บริษัท XYZ | 22 |
Sony |
|
ขั้นตอนที่ 2: สร้างออบเจ็กต์ ClaimDevicesRequest
อุปกรณ์ Samsung
// Note: You can only claim devices for a single customer in each request.
ClaimDevicesRequest claimSamsungDevicesRequest = ClaimDevicesRequest.newBuilder()
.addClaims(
DeviceClaim.newBuilder()
.setCustomer(
CompanyReference.newBuilder()
.setVendor(Vendor.SAMSUNG)
.setCompanyId("11")
.build())
.setDeviceIdentifier(
DeviceIdentifier.newBuilder()
.setImei("1234567801")
.setManufacturer("Samsung")
.build())
.build())
.addClaims(
DeviceClaim.newBuilder()
.setCustomer(
CompanyReference.newBuilder()
.setVendor(Vendor.SAMSUNG)
.setCompanyId("11")
.build())
.setDeviceIdentifier(
DeviceIdentifier.newBuilder()
.setImei("1234567802")
.setManufacturer("Samsung")
.build())
.build())
.build();
อุปกรณ์ Android อื่นๆ
ClaimDevicesRequest claimGoogleDevicesRequest = ClaimDevicesRequest.newBuilder()
.addClaims(
DeviceClaim.newBuilder()
.setCustomer(
CompanyReference.newBuilder()
.setVendor(Vendor.GOOGLE)
.setCompanyId("21")
.build())
.setDeviceIdentifier(
DeviceIdentifier.newBuilder()
.setImei("1234567803")
.setManufacturer("Google")
.build())
.build())
.addClaims(
DeviceClaim.newBuilder()
.setCustomer(
CompanyReference.newBuilder()
.setVendor(Vendor.GOOGLE)
.setCompanyId("22")
.build())
.setDeviceIdentifier(
DeviceIdentifier.newBuilder()
.setImei("1234567804")
.setManufacturer("Sony")
.build())
.build())
.addClaims(
DeviceClaim.newBuilder()
.setCustomer(
CompanyReference.newBuilder()
.setVendor(Vendor.GOOGLE)
.setCompanyId("22")
.build())
.setDeviceIdentifier(
DeviceIdentifier.newBuilder()
.setImei("1234567805")
.setManufacturer("Sony")
.build())
.build())
.build();
ขั้นตอนที่ 3: อ้างสิทธิ์อุปกรณ์สําหรับลูกค้า
หากต้องการโทรหาอุปกรณ์สําหรับลูกค้า โปรดโทรหา ClaimDevicesAsync
ตัวอย่างนี้ต้องมีคําขอ 2 รายการแยกกัน ได้แก่ คําขอจากออบเจ็กต์ ResellerService
ของ Samsung และคําขออีกรายการจากออบเจ็กต์ ResellerService
ของ Google
// Samsung devices
ClaimDevicesResponse samsungResponse = samsungResellerService.claimDevicesAsync(claimSamsungDevicesRequest);
// Other Android devices
ClaimDevicesResponse googleResponse = googleResellerService.claimDevicesAsync(claimGoogleDevicesRequest);
คําขอ ClaimDevicesAsync
แสดงผลรายการออบเจ็กต์ Operation
ซึ่งแสดงสถานะของคําขอ (อยู่ระหว่างดําเนินการ ดําเนินการเสร็จสมบูรณ์ มีข้อผิดพลาด หรือล้มเหลว) หากต้องการตรวจสอบสถานะของการดําเนินการ (เช่น หากการตอบกลับแสดงผล IN_PROGRESS
) ให้เรียกใช้ getOperation
// Samsung devices
GetOperationRequest samsungOperationRequest = GetOperationRequest.newBuilder().setOperationId(samsungOperationId).build();
Operation samsungOperation = samsungResellerService.getOperation(samsungOperationRequest);
// Other Android devices
GetOperationRequest googleOperationRequest = GetOperationRequest.newBuilder().setOperationId(googleOperationId).build();
Operation googleOperation = googleResellerService.getOperation(googleOperationRequest);
ยกเลิกการอ้างสิทธิ์กลุ่มอุปกรณ์
การยกเลิกการอ้างสิทธิ์อุปกรณ์จะยกเลิกการเชื่อมโยงอุปกรณ์กับลูกค้า คุณอาจต้องยกเลิกการอ้างสิทธิ์อุปกรณ์หากมีการยกเลิกคําสั่งซื้ออุปกรณ์หรือจัดส่งอุปกรณ์ไม่สําเร็จ หากต้องการอ้างสิทธิ์กลุ่มอุปกรณ์ ให้ทําตามขั้นตอนต่อไปนี้
ขั้นตอนที่ 1: สร้างออบเจ็กต์ UnclaimDevicesRequest
อุปกรณ์ Samsung
// Each request can only unclaim devices belonging to a single customer. The request must also
// include the customer's Samsung Knox customer ID.
UnclaimDevicesRequest unclaimSamsungDevicesRequest = UnclaimDevicesRequest.newBuilder()
.putVendorParams("customerId", "11")
.addUnclaims(
DeviceUnclaim.newBuilder()
.setDeviceIdentifier(
DeviceIdentifier.newBuilder()
.setImei("1234567801")
.build())
.build())
.addUnclaims(
DeviceUnclaim.newBuilder()
.setDeviceIdentifier(
DeviceIdentifier.newBuilder()
.setImei("1234567802")
.build())
.build())
.build();
อุปกรณ์ Android อื่นๆ
UnclaimDevicesRequest unclaimGoogleDevicesRequest = UnclaimDevicesRequest.newBuilder()
.addUnclaims(
DeviceUnclaim.newBuilder()
.setDeviceIdentifier(
DeviceIdentifier.newBuilder()
.setImei("1234567803")
.build())
.build())
.addUnclaims(
DeviceUnclaim.newBuilder()
.setDeviceIdentifier(
DeviceIdentifier.newBuilder()
.setImei("1234567804")
.build())
.build())
.addUnclaims(
DeviceUnclaim.newBuilder()
.setDeviceIdentifier(
DeviceIdentifier.newBuilder()
.setImei("1234567805")
.build())
.build())
.build();
ขั้นตอนที่ 2: ถอนการอ้างสิทธิ์อุปกรณ์
หากต้องการเลิกเรียกอุปกรณ์ โปรดโทรหา UnclaimDevicesAsync
ตัวอย่างนี้ต้องมีคําขอ 2 รายการแยกกัน ได้แก่ คําขอ 1 รายการจากออบเจ็กต์ Samsung ResellerService
และ 1 รายการจากออบเจ็กต์ ResellerService
ของ Google
UnclaimDevicesResponse samsungResponse = samsungResellerService.unclaimDevicesAsync(unclaimSamsungDevicesRequest);
UnclaimDevicesResponse googleResponse = googleResellerService.unclaimDevicesAsync(unclaimGoogleDevicesRequest);
คําขอ UnclaimDevicesAsync
แสดงผลรายการของออบเจ็กต์ Operation
ซึ่งแสดงสถานะของคําขอ (อยู่ระหว่างดําเนินการ เสร็จสมบูรณ์ มีข้อผิดพลาด หรือล้มเหลว) หากต้องการตรวจสอบสถานะของการดําเนินการ (เช่น หากการตอบกลับแสดงผล IN_PROGRESS
) ให้เรียกใช้ getOperation
อุปกรณ์ Samsung
GetOperationRequest samsungOperationRequest = GetOperationRequest.newBuilder().setOperationId(samsungOperationId).build();
Operation samsungOperation = samsungResellerService.getOperation(samsungOperationRequest);
อุปกรณ์ Android อื่นๆ
GetOperationRequest googleOperationRequest = GetOperationRequest.newBuilder().setOperationId(googleOperationId).build();
Operation googleOperation = googleResellerService.getOperation(googleOperationRequest);
แลกเปลี่ยนอุปกรณ์ Samsung
หากจําเป็นต้องเปลี่ยนอุปกรณ์ด้วยเหตุผลใดก็ตาม คุณก็แลกเปลี่ยนอุปกรณ์ได้ ตัวอย่างนี้จะสมมติว่าคุณกําลังแลกอุปกรณ์ Samsung กับอุปกรณ์ Samsung อื่น
ขั้นตอนที่ 1: สร้างออบเจ็กต์ UnclaimDeviceRequest
// Note: The request must include the customer's Samsung Knox customer ID.
UnclaimDevicesRequest unclaimSamsungDevicesRequest = UnclaimDevicesRequest.newBuilder()
.putVendorParams("customerId", "11")
.addUnclaims(
DeviceUnclaim.newBuilder()
.setDeviceIdentifier(
DeviceIdentifier.newBuilder()
.setImei("1234567801")
.build())
.build())
.build();
ขั้นตอนที่ 2: โทร UnclaimDeviceAsync
UnclaimDevicesResponse samsungResponse = samsungResellerService.unclaimDevicesAsync(unclaimSamsungDevicesRequest);
คําขอ UnclaimDevicesAsync
แสดงผลออบเจ็กต์ Operation
รายการซึ่งมีสถานะคําขอ (อยู่ระหว่างดําเนินการ ดําเนินการเสร็จสมบูรณ์ มีข้อผิดพลาด หรือล้มเหลว) หากต้องการตรวจสอบสถานะของการดําเนินการ (เช่น หากการตอบกลับแสดงผล IN_PROGRESS
) ให้โทรหา getOperation
:
GetOperationRequest samsungOperationRequest = GetOperationRequest.newBuilder().setOperationId(samsungOperationId).build();
Operation samsungOperation = samsungResellerService.getOperation(samsungOperationRequest);
ขั้นตอนที่ 3: สร้างออบเจ็กต์ ClaimDeviceRequest
ClaimDevicesRequest claimSamsungDevicesRequest = ClaimDevicesRequest.newBuilder()
.addClaims(
DeviceClaim.newBuilder()
.setCustomer(
CompanyReference.newBuilder()
.setVendor(Vendor.SAMSUNG)
.setCompanyId("11")
.build())
.setDeviceIdentifier(
DeviceIdentifier.newBuilder()
.setImei("1234567806")
.setManufacturer("Samsung")
.build())
.build())
.build();
ขั้นตอนที่ 4: โทร ClaimDeviceAsync
ClaimDevicesResponse samsungResponse = samsungResellerService.claimDevicesAsync(claimSamsungDevicesRequest);
คําขอ ClaimDevicesAsync
แสดงผลออบเจ็กต์ Operation
รายการซึ่งมีสถานะคําขอ (อยู่ระหว่างดําเนินการ ดําเนินการเสร็จสมบูรณ์ มีข้อผิดพลาด หรือล้มเหลว) หากต้องการตรวจสอบสถานะของการดําเนินการ (เช่น หากการตอบกลับแสดงผล IN_PROGRESS
) ให้โทรหา getOperation
:
GetOperationRequest samsungOperationRequest = GetOperationRequest.newBuilder().setOperationId(samsungOperationId).build();
Operation samsungOperation = samsungResellerService.getOperation(samsungOperationRequest);
แลกเปลี่ยนอุปกรณ์ Android (ไม่ใช่ Samsung)
หากจําเป็นต้องเปลี่ยนอุปกรณ์ด้วยเหตุผลใดก็ตาม คุณก็แลกเปลี่ยนอุปกรณ์ได้ ตัวอย่างนี้จะสมมติว่าคุณกําลังแลกเปลี่ยนอุปกรณ์ Android (ไม่ใช่ Samsung) สําหรับอุปกรณ์ Android (ที่ไม่ใช่ Samsung) เครื่องอื่น
ขั้นตอนที่ 1: สร้างออบเจ็กต์ UnclaimDeviceRequest
UnclaimDeviceRequest unclaimGoogleDeviceRequest = UnclaimDeviceRequest.newBuilder()
.setUnclaim(
DeviceUnclaim.newBuilder()
.setDeviceIdentifier(
DeviceIdentifier.newBuilder()
.setImei("1234567803")
.build())
.build())
.build();
ขั้นตอนที่ 2: โทร UnclaimDevice
googleResponse = googleResellerService.unclaimDevice(unclaimGoogleDeviceRequest);
ขั้นตอนที่ 3: สร้างออบเจ็กต์ ClaimDeviceRequest
ClaimDeviceRequest claimGoogleDeviceRequest = ClaimDeviceRequest.newBuilder()
.setClaim(
DeviceClaim.newBuilder()
.setCustomer(
CompanyReference.newBuilder()
.setVendor(Vendor.GOOGLE)
.setCompanyId("21")
.build())
.setDeviceIdentifier(
DeviceIdentifier.newBuilder()
.setImei("1234567807")
.setManufacturer("Google")
.build())
.build())
.build();
ขั้นตอนที่ 4: โทร ClaimDevice
ClaimDeviceResponse response = googleResellerService.claimDevice(claimGoogleDeviceRequest);
หากทําสําเร็จ การเรียกใช้ออบเจ็กต์ ClaimDeviceResponse
ที่มี deviceId
กลับมา ไม่เช่นนั้นก็จะมีการส่งข้อยกเว้นทั่วไปซึ่งมีรหัสข้อผิดพลาด