このページでは、一般的なオペレーションの例を紹介します。 次のような Common Android Reseller Library を紹介します。
ResellerService
オブジェクトを作成するCustomer
オブジェクトを作成する- デバイスの一括請求
- 複数のデバイスの申請を取り消す
- Samsung デバイスの交換
- Android(Samsung 以外)デバイスの交換
ResellerService
オブジェクトの作成
Samsung と Google のファクトリ クラスを使用して、ResellerService
オブジェクトを作成します。
ResellerService
オブジェクトでは、共通のメソッドセットを登録に使用できる
Samsung などの Android デバイス。
Samsung デバイス
以下の例は、次のコマンドを使用して ResellerService
オブジェクトを作成する方法を示しています。
Samsung デバイスを管理するための SamsungResellerServiceFactory
クラス。
その前に、オンボーディングを行う必要があります。 Knox デプロイ プログラム(KDP)と組み合わせることも可能です。
ResellerService samsungResellerService = SamsungResellerServiceFactory.createResellerService(resellerId, serviceAccountKeyFilePath, clientIdentifier);
その他の Android デバイス
以下の例は、次のコマンドを使用して ResellerService
オブジェクトを作成する方法を示しています。
他の(Samsung 以外の)Android を管理するための GoogleResellerServiceFactory
クラス
できます。その前に、スタートガイドの
ゼロタッチ登録に対応
resellerId
とサービス アカウント キーを取得します。
ResellerService googleResellerService = GoogleResellerServiceFactory.createResellerService(resellerId, serviceAccountKeyFilePath);
Customer
オブジェクトの作成
Samsung 製デバイスと Samsung 製以外のデバイスを購入するお客様には、2 つのお客様 ID が必要です。
Samsung デバイス
Samsung デバイスを管理するには、お客様の 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 を使用します。それ以外の場合は、作成する必要があります。
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
オブジェクトを返します。Google Chat では
レスポンスからお客様 ID を取得します。
デバイスをまとめて請求する
デバイスの申請を行うと、デバイスと顧客との関連付けが作成されます。対象 たとえば ある顧客に複数のデバイスを販売する場合は その顧客のデバイスを選択します。
この例は、以下を含む一連のデバイスを処理する 1 つの方法を示しています。 複数のメーカー(Samsung やその他の Android 。
ステップ 1: デバイスとお客様を整理する
デバイスの IMEI、メーカー、お客様の ID のテーブルが 注文を管理する一つの方法は、デバイスを 2 つに リストに: Samsung デバイスの注文と、Samsung 以外の Android デバイスの注文。 次に、リストごとにデバイスをお客様ごとにグループ化します。例:
Samsung デバイス
顧客名 | Samsung Knox お客様 ID | メーカー | IMEI |
---|---|---|---|
ABC 社 | 11 |
Samsung |
|
その他の Android デバイス
顧客名 | お客様 ID | メーカー | 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
を呼び出します。この例
Samsung の ResellerService
オブジェクトからの 2 つのリクエストが必要です。
もう 1 つは 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
オブジェクトを作成する
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 つの Pod が
Samsung ResellerService
オブジェクトからのものと
Google ResellerService
オブジェクト。
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
。それ以外の場合は、エラーコードを含む一般的な例外がスローされます。