一般的な操作

このページでは、一般的なオペレーションの例を紹介します。 次のような Common Android Reseller Library を紹介します。


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

1234567801

1234567802

その他の Android デバイス

顧客名 お客様 ID メーカー IMEI
ABC 社 21 Google 1234567803
XYZ 社 22 Sony

1234567804

1234567805

ステップ 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。それ以外の場合は、エラーコードを含む一般的な例外がスローされます。