이 페이지에서는 다음을 사용하여 수행할 수 있는 일반적인 작업의 예를 제공합니다. 공통 Android 리셀러 라이브러리
ResellerService
객체 만들기
삼성 및 Google 팩토리 클래스를 사용하여 ResellerService
객체를 만듭니다.
ResellerService
객체를 사용하면 일반적인 메서드 세트를 등록할 수 있습니다.
삼성 및 기타 Android 기기
삼성 기기
아래 예는 다음을 사용하여 ResellerService
객체를 만드는 방법을 보여줍니다.
SamsungResellerServiceFactory
클래스로 삼성 기기를 관리합니다.
이를 수행하려면 먼저 온보딩해야 합니다. Knox 배포 프로그램 (KDP)을 사용해야 합니다
ResellerService samsungResellerService = SamsungResellerServiceFactory.createResellerService(resellerId, serviceAccountKeyFilePath, clientIdentifier);
기타 Android 기기
아래 예는 다음을 사용하여 ResellerService
객체를 만드는 방법을 보여줍니다.
다른 (삼성 외) Android 관리를 위한 GoogleResellerServiceFactory
클래스
기기에서 사용할 수 있습니다. 그렇게 하려면 먼저 시작하기
(제로터치 등록의 경우)
resellerId
및 서비스 계정 키를 가져옵니다.
ResellerService googleResellerService = GoogleResellerServiceFactory.createResellerService(resellerId, serviceAccountKeyFilePath);
Customer
객체 만들기
삼성 기기와 삼성 외 기기를 구매하는 고객에게는 두 가지 고객 ID가 필요합니다.
삼성 기기
삼성 기기를 관리하려면 고객의 Knox 고객 ID를 사용합니다. 이
Knox 고객 ID를 사용하려면 먼저 Customer
객체를 만들어야 합니다. 이렇게 하려면
다음에서 만든 SamsungResellerService
를 사용하여 createCustomer
를 호출합니다.
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 고객 ID를 추출할 수 있습니다.
기타 Android 기기
다른 Android 기기의 경우 고객이 제로터치 등록을 요구함
고객 ID를 입력하세요. 고객이 이미 다른 기기로 제로터치 등록을 사용하고 있는 경우
기존 고객 ID를 사용합니다. 그렇지 않으면
Customer
객체. 이렇게 하려면 ResellerService
를 사용하여 createCustomer
를 호출합니다.
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
객체가 반환됩니다. 다음과 같은 작업을 할 수 있습니다.
응답에서 고객 ID를 검색합니다.
기기 일괄 등록
기기의 소유권을 주장하면 기기와 고객이 연결됩니다. 대상 예를 들어 한 고객에게 한 배치의 기기를 판매하는 경우, 대체해야 합니다.
이 예는 다음을 포함한 일련의 기기를 처리하는 한 가지 방법을 보여줍니다. 여러 제조업체 (삼성 및 기타 Android 기기)에서 기기를 여러 고객의 기기)을 사용할 수 있습니다.
1단계: 기기 및 고객 구성하기
기기 IMEI, 제조업체, 고객의 ID가 포함된 표 두 개의 기기로 정리하면 주문을 관리할 수 있습니다. 목록: 삼성 기기 주문 및 기타 삼성 외 Android 기기 주문 그런 다음 각 목록에서 고객별로 기기를 그룹화합니다. 예를 들면 다음과 같습니다.
삼성 기기
고객 이름 | 삼성 Knox 고객 ID | 제조업체 | IMEI |
---|---|---|---|
ABC 회사 | 11 |
Samsung |
|
기타 Android 기기
고객 이름 | 고객 ID | 제조업체 | IMEI |
---|---|---|---|
ABC 회사 | 21 |
Google |
1234567803 |
XYZ 회사 | 22 |
Sony |
|
2단계: ClaimDevicesRequest
객체 만들기
삼성 기기
// 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
를 호출하세요. 예시
삼성 ResellerService
객체에서 하나씩 총 두 개의 개별 요청이 필요함
그리고 Google ResellerService
객체의 하나여야 합니다.
// 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
객체 만들기
삼성 기기
// 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
객체의 요청과
Google ResellerService
객체입니다.
UnclaimDevicesResponse samsungResponse = samsungResellerService.unclaimDevicesAsync(unclaimSamsungDevicesRequest);
UnclaimDevicesResponse googleResponse = googleResellerService.unclaimDevicesAsync(unclaimGoogleDevicesRequest);
UnclaimDevicesAsync
요청은 Operation
객체의 목록을 반환합니다.
요청의 상태 (진행 중, 완료, 오류 발생,
또는 실패) 작업 상태를 확인하기 위해 (예:
IN_PROGRESS
가 반환되면 getOperation
를 호출합니다.
삼성 기기
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);
삼성 기기 교환
어떤 이유로든 기기를 교체해야 하는 경우 교체할 수 있습니다. 이 삼성 기기를 다른 삼성 기기로 교환한다고 가정함 있습니다.
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 (비삼성) 기기 교환
어떤 이유로든 기기를 교체해야 하는 경우 교체할 수 있습니다. 이 예제는 삼성이 아닌 Android 기기를 다른 Android (삼성 기기가 아닌) 기기
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
입니다. 그러지 않으면 오류 코드가 포함된 일반적인 예외가 발생합니다.