Ortak işlemler

Bu sayfada, yapabileceğiniz bazı genel işlemlere örnekler verilmiştir. Ortak Android Bayi Kitaplığı şunları içerir:


ResellerService nesne oluşturun

ResellerService nesneleri oluşturmak için Samsung ve Google fabrika sınıflarını kullanın. ResellerService nesneleriyle, bir dizi yaygın yöntem kaydettirilebilir Samsung ve diğer Android cihazlar.

Samsung cihazlar

Aşağıdaki örnekte,ResellerService Samsung cihazları yönetmek için SamsungResellerServiceFactory sınıfı.

Bunu yapabilmek için öncelikle ilk katılım işlemini yapmanız gerekir. Knox Dağıtım Programı (KDP) ile test edebilirsiniz.

ResellerService samsungResellerService = SamsungResellerServiceFactory.createResellerService(resellerId, serviceAccountKeyFilePath, clientIdentifier);

Diğer Android cihazlar

Aşağıdaki örnekte,ResellerService Diğer (Samsung olmayan) Android cihazları yönetmek için GoogleResellerServiceFactory sınıf cihazlar. Bunu yapmadan önce Başlayın el değmeden kayıt için (resellerId ve hizmet hesabı anahtarınızı almak için)

ResellerService googleResellerService = GoogleResellerServiceFactory.createResellerService(resellerId, serviceAccountKeyFilePath);

Customer nesne oluşturun

Samsung ve Samsung olmayan cihaz satın alan bir müşterinin iki müşteri kimliği olması gerekir.

Samsung cihazlar

Samsung cihazlarını yönetmek için müşterinin Knox Müşteri Kimliğini kullanırsınız. To almak için Knox Müşteri Kimliği için öncelikle bir Customer nesnesi oluşturmanız gerekir. Bunun için, createCustomerSamsungResellerService SamsungResellerServiceFactory. Aşağıda bununla ilgili bir örnek verilmiştir:

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();

Başarılı olursa istek, kaynak olarak CreateCustomerResponse nesnesi döndürür. Knox Müşteri Kimliğini çıkarabilirsiniz.

Diğer Android cihazlar

Diğer Android cihazlarda ise müşterinin el değmeden kayıt özelliğinin etkinleştirilmesi gerekir. müşteri kimliği. Müşteri zaten başka bir müşteride el değmeden kayıt özelliğini kullanıyorsa mevcut müşteri kimliğini kullanırsınız. Aksi takdirde, Customer nesne algılandı. Bunun için ResellerService kullanarak createCustomer numaralı telefonu arayın GoogleResellerServiceFactory projesinden oluşturulmuştur. Örnek:

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();

Başarılı olursa istek bir CreateCustomerResponse nesnesi döndürür. Şunları yapabilirsiniz: müşteri kimliğini yanıttan alın.


Bir cihaz grubu talep edin

Bir cihaz için hak talebinde bulunduğunuzda cihaz ile müşteri arasında ilişkilendirme oluşturulur. Örneğin, Örneğin, bir müşteriye bir grup cihaz satıyorsanız, olanak tanır.

Bu örnekte, aşağıdakileri içeren bir cihaz grubunu işlemenin bir yolu gösterilmektedir: birden fazla üreticiden cihaz siparişleri (Samsung ve Android cihazlar) karşılaştırabilirsiniz.

1. Adım: Cihazları ve müşterileri düzenleyin

Cihazların IMEI'leri, üreticileri ve kimliklerini içeren bir tablo siparişleri yönetmenin bir yolu da siparişleri ikiye ayırmaktır. listeler: Samsung cihaz siparişleri ve diğer Android (Samsung olmayan) cihaz siparişleri. Daha sonra, her liste için cihazları müşteriye göre gruplandırın. Örneğin:

Samsung cihazlar

Müşteri adı Samsung Knox müşteri kimliği Üretici IMEI
ABC şirketi 11 Samsung

1234567801

1234567802

Diğer Android cihazlar

Müşteri adı Müşteri Kimliği Üretici IMEI
ABC şirketi 21 Google 1234567803
XYZ şirketi 22 Sony

1234567804

1234567805

2. Adım: ClaimDevicesRequest nesnesini oluşturun

Samsung cihazlar

// 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();

Diğer Android cihazlar

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. Adım: Müşteriler için cihazlar için hak talebinde bulunun

Müşteriler için cihaz talebinde bulunmak istiyorsanız ClaimDevicesAsync numaralı telefonu arayın. Bu örnekler iki ayrı istek gerektirir: biri Samsung ResellerService nesnesinden ve diğeri Google ResellerService nesnesinden.

// Samsung devices
ClaimDevicesResponse samsungResponse = samsungResellerService.claimDevicesAsync(claimSamsungDevicesRequest);

// Other Android devices
ClaimDevicesResponse googleResponse = googleResellerService.claimDevicesAsync(claimGoogleDevicesRequest);

ClaimDevicesAsync isteği, Operation nesne listesi döndürür. isteğin durumunu (devam ediyor, tamamlandı, hatalarla tamamlandı, veya başarısız oldu). Bir işlemin durumunu kontrol etmek için (örneğin, IN_PROGRESS döndürüldü), getOperation numaralı telefonu arayın.

// 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);

Bir cihaz grubu için hak talebini iptal etme

Bir cihazın hak talebinin iptal edilmesi, cihazın müşteriyle ilişkisini keser. En son haberleri sunan, bir cihaz siparişi iptal edilirse veya bir ürün cihaz başarıyla tamamlanamıyor. Bir cihaz grubu için hak talebini iptal etmek isterseniz şu adımları uygulayın:

1. Adım: UnclaimDevicesRequest nesnesini oluşturun

Samsung cihazlar

// 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();

Diğer Android cihazlar

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. adım: Cihazların talebini iptal edin

Cihazlarla ilgili hak talebini iptal etmek için UnclaimDevicesAsync numaralı telefonu arayın. Bu örnekte iki veya daha fazla ayrı istekler: biri Samsung ResellerService nesnesinden, diğeri de Google ResellerService nesnesidir.

UnclaimDevicesResponse samsungResponse = samsungResellerService.unclaimDevicesAsync(unclaimSamsungDevicesRequest);
UnclaimDevicesResponse googleResponse = googleResellerService.unclaimDevicesAsync(unclaimGoogleDevicesRequest);

Bir UnclaimDevicesAsync isteği, Operation nesne listesi döndürür. isteğin durumunu (devam ediyor, tamamlandı, hatalarla tamamlandı, ya da başarısız oldu) Bir işlemin durumunu kontrol etmek için (örneğin, yanıtınız IN_PROGRESS döndürüldü), getOperation numaralı telefonu arayın.

Samsung cihazlar

GetOperationRequest samsungOperationRequest = GetOperationRequest.newBuilder().setOperationId(samsungOperationId).build();
Operation samsungOperation = samsungResellerService.getOperation(samsungOperationRequest);

Diğer Android cihazlar

GetOperationRequest googleOperationRequest = GetOperationRequest.newBuilder().setOperationId(googleOperationId).build();
Operation googleOperation = googleResellerService.getOperation(googleOperationRequest);

Samsung cihaz değişimi

Herhangi bir nedenle değiştirilmesi gereken cihazı değiştirebilirsiniz. Bu örnek, bir Samsung cihazı başka bir Samsung ile değiştirdiğinizi varsayar. olanak tanır.

1. Adım: UnclaimDeviceRequest nesnesi oluşturun

// 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. adım: UnclaimDeviceAsync numaralı telefonu arayın

UnclaimDevicesResponse samsungResponse = samsungResellerService.unclaimDevicesAsync(unclaimSamsungDevicesRequest);

Bir UnclaimDevicesAsync isteği, Operation nesne listesi döndürür. isteğin durumunu (devam ediyor, tamamlandı, hatalarla tamamlandı, veya başarısız oldu). Bir işlemin durumunu kontrol etmek için (örneğin, IN_PROGRESS döndürüldü), getOperation numaralı telefonu arayın:

GetOperationRequest samsungOperationRequest = GetOperationRequest.newBuilder().setOperationId(samsungOperationId).build();
Operation samsungOperation = samsungResellerService.getOperation(samsungOperationRequest);

3. Adım: Bir ClaimDeviceRequest nesnesi oluşturun

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. adım: ClaimDeviceAsync numaralı telefonu arayın

ClaimDevicesResponse samsungResponse = samsungResellerService.claimDevicesAsync(claimSamsungDevicesRequest);

ClaimDevicesAsync isteği, Operation nesne listesi döndürür. isteğin durumunu (devam ediyor, tamamlandı, hatalarla tamamlandı, veya başarısız oldu). Bir işlemin durumunu kontrol etmek için (örneğin, IN_PROGRESS döndürüldü), getOperation numaralı telefonu arayın:

GetOperationRequest samsungOperationRequest = GetOperationRequest.newBuilder().setOperationId(samsungOperationId).build();
Operation samsungOperation = samsungResellerService.getOperation(samsungOperationRequest);

Android (Samsung olmayan) cihazı değiştirin

Herhangi bir nedenle değiştirilmesi gereken cihazı değiştirebilirsiniz. Bu örnek olarak, bir Android (Samsung olmayan) cihazı başka bir Android (Samsung olmayan) cihaz.

1. Adım: UnclaimDeviceRequest nesnesi oluşturun

UnclaimDeviceRequest unclaimGoogleDeviceRequest = UnclaimDeviceRequest.newBuilder()
    .setUnclaim(
        DeviceUnclaim.newBuilder()
            .setDeviceIdentifier(
                DeviceIdentifier.newBuilder()
                    .setImei("1234567803")
                    .build())
            .build())
    .build();

2. adım: UnclaimDevice numaralı telefonu arayın

googleResponse = googleResellerService.unclaimDevice(unclaimGoogleDeviceRequest);

3. Adım: Bir ClaimDeviceRequest nesnesi oluşturun

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. adım: ClaimDevice numaralı telefonu arayın

ClaimDeviceResponse response = googleResellerService.claimDevice(claimGoogleDeviceRequest);

Başarılı olursa çağrı şunu içeren bir ClaimDeviceResponse nesnesi döndürür: deviceId. Aksi takdirde, hata kodu içeren yaygın bir istisnayı uygular.