Na tej stronie znajdziesz przykłady kilku typowych operacji, które można wykonywać z biblioteki wspólnych sprzedawców Androida, w tym:
- Utwórz obiekty (
ResellerService
) - Utwórz obiekty (
Customer
) - Zgłaszanie własności grupy urządzeń
- Anulowanie rezerwacji grupy urządzeń
- Wymiana urządzenia Samsung
- Wymiana urządzenia z Androidem (innego niż Samsung)
Utwórz obiekty (ResellerService
)
Użyj klas fabrycznych Samsung i Google, aby utworzyć obiekty ResellerService
.
W przypadku obiektów ResellerService
dostępny jest wspólny zestaw metod do rejestracji
Samsung i inne urządzenia z Androidem.
Urządzenia Samsung
Poniższy przykład pokazuje, jak utworzyć obiekt ResellerService
za pomocą
SamsungResellerServiceFactory
do zarządzania urządzeniami Samsung.
Zanim to zrobisz, musisz się zarejestrować. za pomocą Knox Deployment Program (KDP).
ResellerService samsungResellerService = SamsungResellerServiceFactory.createResellerService(resellerId, serviceAccountKeyFilePath, clientIdentifier);
Inne urządzenia z Androidem
Poniższy przykład pokazuje, jak utworzyć obiekt ResellerService
za pomocą
Klasa GoogleResellerServiceFactory
do zarządzania Androidem (innym niż Samsung)
urządzenia. W tym celu wykonaj czynności opisane w artykule Pierwsze kroki.
do rejestracji typu zero-touch
aby uzyskać resellerId
i klucz konta usługi.
ResellerService googleResellerService = GoogleResellerServiceFactory.createResellerService(resellerId, serviceAccountKeyFilePath);
Utwórz obiekty (Customer
)
Klient kupujący urządzenia Samsung i inne urządzenia wymaga podania dwóch identyfikatorów klienta.
Urządzenia Samsung
Do zarządzania urządzeniami Samsung musisz używać identyfikatora klienta Knox. Aby uzyskać
Identyfikator klienta Knox, musisz najpierw utworzyć obiekt Customer
. Aby to zrobić:
wywołaj createCustomer
przy użyciu SamsungResellerService
utworzonego z
SamsungResellerServiceFactory
Oto przykład:
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();
Jeśli żądanie się powiedzie, żądanie zwróci obiekt CreateCustomerResponse
, z którego
możesz wyodrębnić identyfikator klienta Knox.
Inne urządzenia z Androidem
W przypadku innych urządzeń z Androidem klient wymaga rejestracji typu zero-touch.
identyfikatora klienta. Jeśli klient korzysta już z rejestracji typu zero-touch na innej
sprzedawcy, należy użyć identyfikatora klienta tego sprzedawcy. W przeciwnym razie musisz utworzyć
Customer
obiekt. Aby to zrobić, zadzwoń pod numer createCustomer
przy użyciu: ResellerService
utworzony na podstawie tabeli GoogleResellerServiceFactory
. Na przykład:
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();
Jeśli operacja się uda, żądanie zwróci obiekt CreateCustomerResponse
. Dostępne opcje
pobierz identyfikator klienta z odpowiedzi.
Zgłaszanie własności grupy urządzeń
Zgłoszenie własności urządzenia tworzy powiązanie między nim a klientem. Dla: Jeśli na przykład sprzedajesz klientowi wiele urządzeń, możesz zgłosić roszczenie do urządzeń dla tego klienta.
Ten przykład pokazuje jeden sposób przetwarzania grupy urządzeń, która zawiera: zamówienia urządzeń wielu producentów (Samsung i inne urządzenia z Androidem urządzeń) od różnych klientów.
Krok 1. Uporządkuj urządzenia i klientów
W tabeli z numerami IMEI, producentami i identyfikatorami klientów w przypadku urządzeń, którym zostały sprzedane urządzenia. Jednym ze sposobów zarządzania zamówieniami jest podzielenie ich na listy: zamówienia urządzeń Samsung i inne zamówienia urządzeń z Androidem (innych niż Samsung). Następnie dla każdej listy pogrupuj urządzenia według klienta. Na przykład:
Urządzenia Samsung
Nazwa klienta | Identyfikator klienta Samsung Knox | Producent | IMEI |
---|---|---|---|
ABC spółka | 11 |
Samsung |
|
Inne urządzenia z Androidem
Nazwa klienta | Identyfikator klienta | Producent | IMEI |
---|---|---|---|
ABC spółka | 21 |
Google |
1234567803 |
spółka XYZ | 22 |
Sony |
|
Krok 2. Utwórz obiekt ClaimDevicesRequest
Urządzenia 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();
Inne urządzenia z Androidem
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();
Krok 3. Zarezerwuj urządzenia dla klientów
Aby zarezerwować urządzenia dla klientów, zadzwoń pod numer ClaimDevicesAsync
. Te przykłady
wymaga 2 osobnych żądań: jednego z obiektu ResellerService
Samsunga
i drugą z obiektu ResellerService
Google.
// Samsung devices
ClaimDevicesResponse samsungResponse = samsungResellerService.claimDevicesAsync(claimSamsungDevicesRequest);
// Other Android devices
ClaimDevicesResponse googleResponse = googleResellerService.claimDevicesAsync(claimGoogleDevicesRequest);
Żądanie ClaimDevicesAsync
zwraca listę obiektów Operation
, która
zawierają informacje o stanie żądania (w toku, zakończone, ukończone z błędami,
lub niepowodzenie). Aby sprawdzić stan operacji (na przykład odpowiedź
zwrócono IN_PROGRESS
), wywołaj 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);
Usuwanie rezerwacji grupy urządzeń
Usunięcie roszczenia powoduje usunięcie powiązania urządzenia z klientem. Możesz muszą anulować rezerwację urządzenia, jeśli zamówienie na urządzenie zostanie anulowane lub przesyłka o wartości Nie można ukończyć instalacji urządzeń. Aby cofnąć zarezerwowanie grupy urządzeń: wykonaj te czynności:
Krok 1. Utwórz obiekt UnclaimDevicesRequest
Urządzenia 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();
Inne urządzenia z Androidem
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();
Krok 2. Usuń rezerwację urządzeń
Aby cofnąć rezerwację urządzeń, zadzwoń pod numer UnclaimDevicesAsync
. W tym przykładzie wymagane są 2
osobne żądania: jedno z obiektu Samsung ResellerService
, a drugie z
obiekt Google ResellerService
.
UnclaimDevicesResponse samsungResponse = samsungResellerService.unclaimDevicesAsync(unclaimSamsungDevicesRequest);
UnclaimDevicesResponse googleResponse = googleResellerService.unclaimDevicesAsync(unclaimGoogleDevicesRequest);
Żądanie UnclaimDevicesAsync
zwraca listę obiektów Operation
, która
zawierają informacje o stanie żądania (w toku, zakończone, ukończone z błędami,
lub nieudane) Aby sprawdzić stan operacji (na przykład jeśli odpowiedź
zwrócony IN_PROGRESS
), wywołaj getOperation
.
Urządzenia Samsung
GetOperationRequest samsungOperationRequest = GetOperationRequest.newBuilder().setOperationId(samsungOperationId).build();
Operation samsungOperation = samsungResellerService.getOperation(samsungOperationRequest);
Inne urządzenia z Androidem
GetOperationRequest googleOperationRequest = GetOperationRequest.newBuilder().setOperationId(googleOperationId).build();
Operation googleOperation = googleResellerService.getOperation(googleOperationRequest);
Wymiana urządzenia Samsung
Jeśli z jakiegoś powodu urządzenie wymaga wymiany, możesz je wymienić. Ten Zakładamy, że wymieniasz urządzenie Samsung na inny urządzenia.
Krok 1. Utwórz obiekt 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();
Krok 2. Zadzwoń pod numer UnclaimDeviceAsync
UnclaimDevicesResponse samsungResponse = samsungResellerService.unclaimDevicesAsync(unclaimSamsungDevicesRequest);
Żądanie UnclaimDevicesAsync
zwraca listę obiektów Operation
, która
zawiera stan żądania (w toku, zakończone, ukończone z błędami,
lub niepowodzenie). Aby sprawdzić stan operacji (na przykład odpowiedź
zwrócono IN_PROGRESS
), wywołaj getOperation
:
GetOperationRequest samsungOperationRequest = GetOperationRequest.newBuilder().setOperationId(samsungOperationId).build();
Operation samsungOperation = samsungResellerService.getOperation(samsungOperationRequest);
Krok 3. Utwórz obiekt 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();
Krok 4. Zadzwoń pod numer ClaimDeviceAsync
ClaimDevicesResponse samsungResponse = samsungResellerService.claimDevicesAsync(claimSamsungDevicesRequest);
Żądanie ClaimDevicesAsync
zwraca listę obiektów Operation
, która
zawiera stan żądania (w toku, zakończone, ukończone z błędami,
lub niepowodzenie). Aby sprawdzić stan operacji (na przykład odpowiedź
zwrócono IN_PROGRESS
), wywołaj getOperation
:
GetOperationRequest samsungOperationRequest = GetOperationRequest.newBuilder().setOperationId(samsungOperationId).build();
Operation samsungOperation = samsungResellerService.getOperation(samsungOperationRequest);
Wymiana urządzenia z Androidem (innego niż Samsung)
Jeśli z jakiegoś powodu urządzenie wymaga wymiany, możesz je wymienić. Ten Zakładamy, że wymieniasz urządzenie z Androidem (innego niż Samsung) na na innym urządzeniu z Androidem (innym niż Samsung).
Krok 1. Utwórz obiekt UnclaimDeviceRequest
UnclaimDeviceRequest unclaimGoogleDeviceRequest = UnclaimDeviceRequest.newBuilder()
.setUnclaim(
DeviceUnclaim.newBuilder()
.setDeviceIdentifier(
DeviceIdentifier.newBuilder()
.setImei("1234567803")
.build())
.build())
.build();
Krok 2. Zadzwoń pod numer UnclaimDevice
googleResponse = googleResellerService.unclaimDevice(unclaimGoogleDeviceRequest);
Krok 3. Utwórz obiekt 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();
Krok 4. Zadzwoń pod numer ClaimDevice
ClaimDeviceResponse response = googleResellerService.claimDevice(claimGoogleDeviceRequest);
Jeśli się uda, wywołanie zwróci obiekt ClaimDeviceResponse
zawierający
deviceId
W przeciwnym razie zgłasza typowy wyjątek zawierający kod błędu.