Questa pagina fornisce esempi di alcune operazioni comuni che potresti eseguire la Common Android Reseller Library, che include:
- Crea
ResellerService
oggetti - Crea
Customer
oggetti - Rivendicare un gruppo di dispositivi
- Annullare la rivendicazione di un gruppo di dispositivi
- Sostituzione di un dispositivo Samsung
- Sostituzione di un dispositivo Android (non Samsung)
Crea ResellerService
oggetti
Utilizza le classi di fabbrica di Samsung e Google per creare oggetti ResellerService
.
Con gli oggetti ResellerService
, è disponibile una serie di metodi comuni per la registrazione
Samsung e altri dispositivi Android.
Dispositivi Samsung
L'esempio seguente mostra come creare un oggetto ResellerService
utilizzando il metodo
SamsungResellerServiceFactory
classe per gestire i dispositivi Samsung.
Prima di poterlo fare, devi iniziare con il Knox Deployment Program (KDP).
ResellerService samsungResellerService = SamsungResellerServiceFactory.createResellerService(resellerId, serviceAccountKeyFilePath, clientIdentifier);
Altri dispositivi Android
L'esempio seguente mostra come creare un oggetto ResellerService
utilizzando il metodo
Classe GoogleResellerServiceFactory
per gestire altri dispositivi Android (non Samsung)
dispositivi mobili. Prima di farlo, devi seguire i passaggi descritti in Per iniziare
per la registrazione zero-touch
per ottenere il resellerId
e la chiave dell'account di servizio.
ResellerService googleResellerService = GoogleResellerServiceFactory.createResellerService(resellerId, serviceAccountKeyFilePath);
Crea Customer
oggetti
Un cliente che acquista dispositivi Samsung e non Samsung richiede due ID cliente.
Dispositivi Samsung
Per gestire i dispositivi Samsung, utilizzi l'ID cliente Knox del cliente. Per ottenere
ID cliente Knox, devi prima creare un oggetto Customer
. Per farlo,
chiama createCustomer
con un SamsungResellerService
creato dal
SamsungResellerServiceFactory
. Ecco un esempio:
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();
Se l'esito è positivo, la richiesta restituisce un oggetto CreateCustomerResponse
da cui
puoi estrarre l'ID cliente Knox.
Altri dispositivi Android
Per altri dispositivi Android, il cliente richiede una registrazione zero-touch
l'ID cliente. Se un cliente utilizza già la registrazione zero-touch con un altro
rivenditore, utilizzi il suo ID cliente esistente. In caso contrario, dovrai creare
Customer
oggetto. A questo scopo, chiama createCustomer
utilizzando un ResellerService
creato da GoogleResellerServiceFactory
. Ecco un esempio:
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();
Se l'esito è positivo, la richiesta restituisce un oggetto CreateCustomerResponse
. Puoi
recupera l'ID cliente dalla risposta.
Rivendica un gruppo di dispositivi
La rivendicazione di un dispositivo crea un'associazione tra il dispositivo e un cliente. Per Ad esempio, se vendi un gruppo di dispositivi a un cliente, richiedi dispositivi per quel cliente.
Questo esempio mostra un modo per elaborare un batch di dispositivi che include ordini di dispositivi di diversi produttori (Samsung e altri dispositivi dispositivi) di più clienti.
Passaggio 1: organizza dispositivi e clienti
Data una tabella dei codici IMEI, dei produttori e degli ID dei clienti di cui il cliente sono stati venduti. Un modo per gestire gli ordini consiste nell'organizzarli in due Elenchi: ordini di dispositivi Samsung e altri ordini di dispositivi Android (non Samsung). Per ogni elenco, raggruppa quindi i dispositivi in base al cliente. Ad esempio:
Dispositivi Samsung
Nome del cliente | ID cliente Samsung Knox | Produttore | IMEI |
---|---|---|---|
ABC corp | 11 |
Samsung |
|
Altri dispositivi Android
Nome del cliente | ID cliente | Produttore | IMEI |
---|---|---|---|
ABC corp | 21 |
Google |
1234567803 |
Società XYZ | 22 |
Sony |
|
Passaggio 2: crea l'oggetto ClaimDevicesRequest
Dispositivi 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();
Altri dispositivi 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();
Passaggio 3: richiedi i dispositivi per i clienti
Per rivendicare i dispositivi per i clienti, chiama il numero ClaimDevicesAsync
. Questo esempio
richiede due richieste separate: una dall'oggetto Samsung ResellerService
e una dall'oggetto Google ResellerService
.
// Samsung devices
ClaimDevicesResponse samsungResponse = samsungResellerService.claimDevicesAsync(claimSamsungDevicesRequest);
// Other Android devices
ClaimDevicesResponse googleResponse = googleResellerService.claimDevicesAsync(claimGoogleDevicesRequest);
Una richiesta ClaimDevicesAsync
restituisce un elenco di oggetti Operation
, che
contenere lo stato della richiesta (in corso, completata, completa con errori,
o non riusciti). Per controllare lo stato di un'operazione (ad esempio, se la risposta
restituito IN_PROGRESS
), chiama 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);
Annullare la rivendicazione di un gruppo di dispositivi
Se annulli la rivendicazione di un dispositivo, il dispositivo viene scollegato da un cliente. Potresti Devi annullare il reclamo di un dispositivo se l'ordine di un dispositivo viene annullato o la spedizione Impossibile completare i dispositivi. Per annullare la rivendicazione di un gruppo di dispositivi: segui questi passaggi:
Passaggio 1: crea l'oggetto UnclaimDevicesRequest
Dispositivi 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();
Altri dispositivi 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();
Passaggio 2: annulla la rivendicazione dei dispositivi
Per annullare la rivendicazione dei dispositivi, chiama UnclaimDevicesAsync
. Questo esempio richiede
richieste separate: una dall'oggetto Samsung ResellerService
e una dall'oggetto
l'oggetto Google ResellerService
.
UnclaimDevicesResponse samsungResponse = samsungResellerService.unclaimDevicesAsync(unclaimSamsungDevicesRequest);
UnclaimDevicesResponse googleResponse = googleResellerService.unclaimDevicesAsync(unclaimGoogleDevicesRequest);
Una richiesta UnclaimDevicesAsync
restituisce un elenco di oggetti Operation
, che
contenere lo stato della richiesta (in corso, completata, completa con errori,
o non riuscita) Per controllare lo stato di un'operazione (ad esempio, se la risposta
restituito IN_PROGRESS
), chiama getOperation
.
Dispositivi Samsung
GetOperationRequest samsungOperationRequest = GetOperationRequest.newBuilder().setOperationId(samsungOperationId).build();
Operation samsungOperation = samsungResellerService.getOperation(samsungOperationRequest);
Altri dispositivi Android
GetOperationRequest googleOperationRequest = GetOperationRequest.newBuilder().setOperationId(googleOperationId).build();
Operation googleOperation = googleResellerService.getOperation(googleOperationRequest);
Sostituire un dispositivo Samsung
Se per qualsiasi motivo un dispositivo deve essere sostituito, puoi sostituirlo. Questo ipotizza che tu stia sostituendo un dispositivo Samsung con un altro Samsung dispositivo.
Passaggio 1: crea un oggetto 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();
Passaggio 2: chiama UnclaimDeviceAsync
UnclaimDevicesResponse samsungResponse = samsungResellerService.unclaimDevicesAsync(unclaimSamsungDevicesRequest);
Una richiesta UnclaimDevicesAsync
restituisce un elenco di oggetti Operation
, che
contiene lo stato della richiesta (in corso, completata, completa con errori,
o non riusciti). Per controllare lo stato di un'operazione (ad esempio, se la risposta
restituito IN_PROGRESS
), chiama getOperation
:
GetOperationRequest samsungOperationRequest = GetOperationRequest.newBuilder().setOperationId(samsungOperationId).build();
Operation samsungOperation = samsungResellerService.getOperation(samsungOperationRequest);
Passaggio 3: crea un oggetto 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();
Passaggio 4: chiama ClaimDeviceAsync
ClaimDevicesResponse samsungResponse = samsungResellerService.claimDevicesAsync(claimSamsungDevicesRequest);
Una richiesta ClaimDevicesAsync
restituisce un elenco di oggetti Operation
, che
contiene lo stato della richiesta (in corso, completata, completa con errori,
o non riusciti). Per controllare lo stato di un'operazione (ad esempio, se la risposta
restituito IN_PROGRESS
), chiama getOperation
:
GetOperationRequest samsungOperationRequest = GetOperationRequest.newBuilder().setOperationId(samsungOperationId).build();
Operation samsungOperation = samsungResellerService.getOperation(samsungOperationRequest);
Sostituire un dispositivo Android (non Samsung)
Se per qualsiasi motivo un dispositivo deve essere sostituito, puoi sostituirlo. Questo si presume che tu stia scambiando un dispositivo Android (non Samsung) con su un altro dispositivo Android (non Samsung).
Passaggio 1: crea un oggetto UnclaimDeviceRequest
UnclaimDeviceRequest unclaimGoogleDeviceRequest = UnclaimDeviceRequest.newBuilder()
.setUnclaim(
DeviceUnclaim.newBuilder()
.setDeviceIdentifier(
DeviceIdentifier.newBuilder()
.setImei("1234567803")
.build())
.build())
.build();
Passaggio 2: chiama UnclaimDevice
googleResponse = googleResellerService.unclaimDevice(unclaimGoogleDeviceRequest);
Passaggio 3: crea un oggetto 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();
Passaggio 4: chiama ClaimDevice
ClaimDeviceResponse response = googleResellerService.claimDevice(claimGoogleDeviceRequest);
Se ha esito positivo, la chiamata restituisce un oggetto ClaimDeviceResponse
contenente il
deviceId
. In caso contrario, viene generata un'eccezione comune contenente un codice di errore.