หน้านี้มีตัวอย่างการดำเนินการทั่วไปที่คุณอาจดำเนินการ ไลบรารีตัวแทนจำหน่าย Android ทั่วไป ซึ่งรวมถึง
- สร้างออบเจ็กต์
ResellerService
รายการ - สร้างออบเจ็กต์
Customer
รายการ - การอ้างสิทธิ์กลุ่มอุปกรณ์
- ถอนการอ้างสิทธิ์อุปกรณ์จำนวนหนึ่ง
- การเปลี่ยนอุปกรณ์ Samsung
- การเปลี่ยนอุปกรณ์ Android (ที่ไม่ใช่ Samsung)
สร้างออบเจ็กต์ ResellerService
รายการ
ใช้คลาสโรงงานของ Samsung และ Google เพื่อสร้างออบเจ็กต์ ResellerService
เมื่อมีออบเจ็กต์ ResellerService
รายการจะใช้ชุดวิธีการทั่วไปให้ลงทะเบียนได้
Samsung และอุปกรณ์ Android อื่นๆ
อุปกรณ์ของ Samsung
ตัวอย่างด้านล่างแสดงวิธีสร้างออบเจ็กต์ ResellerService
โดยใช้
SamsungResellerServiceFactory
ชั้นเรียนเพื่อจัดการอุปกรณ์ Samsung
คุณต้องเริ่มต้นใช้งานก่อนจึงจะดำเนินการดังกล่าวได้ จาก Knox Deployment Program (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 ของอุปกรณ์ ผู้ผลิต และรหัสของลูกค้า ที่มีการขายอุปกรณ์ วิธีหนึ่งในการจัดการคำสั่งซื้อก็คือการจัดระเบียบคำสั่งซื้อเป็น รายการ: คำสั่งซื้ออุปกรณ์ 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
และอีก 1 แคมเปญจากออบเจ็กต์ 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
ตัวอย่างนี้ต้องมี
คำขอแยกกัน: คำขอหนึ่งจากออบเจ็กต์ ResellerService
ของ Samsung และอีกคำขอจาก
ออบเจ็กต์ 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
มิเช่นนั้น ระบบจะแสดงข้อผิดพลาดที่พบบ่อยซึ่งมีรหัสข้อผิดพลาด