Auf dieser Seite finden Sie Beispiele für häufige Vorgänge, die Sie mit der Common Android Reseller Library, einschließlich:
ResellerService
-Objekte erstellenCustomer
-Objekte erstellen- Mehrere Geräte freischalten
- Anspruch auf mehrere Geräte zurückziehen
- Samsung-Gerät austauschen
- Android-Gerät (kein Samsung-Gerät) austauschen
ResellerService
-Objekte erstellen
Verwenden Sie die Factory-Klassen Samsung und Google, um ResellerService
-Objekte zu erstellen.
Mit ResellerService
-Objekten steht ein gemeinsamer Satz von Methoden zum Registrieren zur Verfügung
von Samsung und anderen Android-Geräten.
Samsung-Geräte
Das folgende Beispiel zeigt, wie ein ResellerService
-Objekt mithilfe der
Klasse SamsungResellerServiceFactory
zur Verwaltung von Samsung-Geräten.
Dazu müssen Sie zuerst die App einrichten. mit dem Knox Deployment Program (KDP).
ResellerService samsungResellerService = SamsungResellerServiceFactory.createResellerService(resellerId, serviceAccountKeyFilePath, clientIdentifier);
Andere Android-Geräte
Das folgende Beispiel zeigt, wie ein ResellerService
-Objekt mithilfe der
Klasse GoogleResellerServiceFactory
zum Verwalten anderer Android-Android-Geräte (nicht Samsung)
Geräte. Vorher müssen Sie jedoch die Schritte unter Erste Schritte
für die Zero-Touch-Registrierung
um Ihre resellerId
und Ihren Dienstkontoschlüssel abzurufen.
ResellerService googleResellerService = GoogleResellerServiceFactory.createResellerService(resellerId, serviceAccountKeyFilePath);
Customer
-Objekte erstellen
Kunden, die Samsung- und andere Geräte von Samsung kaufen, benötigen zwei Kundennummern.
Samsung-Geräte
Zur Verwaltung von Samsung-Geräten verwenden Sie die Knox-Kundennummer des Kunden. Um die
Knox-Kundennummer. Sie müssen zuerst ein Customer
-Objekt erstellen. Gehen Sie dazu wie folgt vor:
createCustomer
mit einer SamsungResellerService
aufrufen, die aus dem
SamsungResellerServiceFactory
Beispiel:
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();
Wenn der Vorgang erfolgreich ist, gibt die Anfrage ein CreateCustomerResponse
-Objekt zurück, von dem
können Sie die Knox-Kundennummer extrahieren.
Andere Android-Geräte
Für andere Android-Geräte benötigt der Kunde eine Zero-Touch-Registrierung.
Kundennummer. Wenn ein Kunde die Zero-Touch-Registrierung bereits mit einem anderen
verwenden Sie dessen bestehende Kundennummer. Andernfalls müssen Sie eine
Customer
-Objekt. Rufe dazu createCustomer
mit ResellerService
auf
erstellt aus GoogleResellerServiceFactory
. Hier ein Beispiel:
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();
Wenn der Vorgang erfolgreich ist, wird ein CreateCustomerResponse
-Objekt zurückgegeben. Sie können
die Kundennummer aus der Antwort abrufen.
Mehrere Geräte beanspruchen
Durch das Beanspruchen eines Geräts wird eine Verknüpfung zwischen dem Gerät und einem Kunden erstellt. Für Wenn Sie beispielsweise mehrere Geräte an einen Kunden verkaufen, würden Sie Geräte für diesen Kunden.
Dieses Beispiel zeigt eine Möglichkeit, eine Reihe von Geräten zu verarbeiten, die Bestellungen von Geräten verschiedener Hersteller (Samsung und andere Android-Geräte) Geräte) von mehreren Kunden.
Schritt 1: Geräte und Kunden organisieren
Anhand einer Tabelle mit den Geräte-IMEIs, Herstellern und IDs der Kunden, Geräte verkauft wurden, besteht eine Möglichkeit zur Verwaltung von Bestellungen darin, sie in zwei Listen: Bestellungen von Samsung-Geräten und andere Bestellungen von Android-Geräten (nicht von Samsung). Gruppieren Sie dann die Geräte für jede Liste nach Kunde. Beispiel:
Samsung-Geräte
Kundenname | Samsung Knox-Kundennummer | Hersteller | IMEI |
---|---|---|---|
Logo: ABC Corporation | 11 |
Samsung |
|
Andere Android-Geräte
Kundenname | Kundennummer | Hersteller | IMEI |
---|---|---|---|
Logo: ABC Corporation | 21 |
Google |
1234567803 |
XYZ Corp | 22 |
Sony |
|
Schritt 2: ClaimDevicesRequest
-Objekt erstellen
Samsung-Geräte
// 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();
Andere Android-Geräte
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();
Schritt 3: Geräte für Kunden beanspruchen
Wenn du Geräte für Kunden aktivieren möchtest, ruf unter ClaimDevicesAsync
an. Diese Beispiele
erfordert zwei separate Anfragen: eine vom Samsung-Objekt ResellerService
und eines aus dem ResellerService
-Objekt von Google.
// Samsung devices
ClaimDevicesResponse samsungResponse = samsungResellerService.claimDevicesAsync(claimSamsungDevicesRequest);
// Other Android devices
ClaimDevicesResponse googleResponse = googleResellerService.claimDevicesAsync(claimGoogleDevicesRequest);
Eine ClaimDevicesAsync
-Anfrage gibt eine Liste von Operation
-Objekten zurück, die
enthalten den Status der Anfrage („In Bearbeitung“, „Abgeschlossen“, „Abgeschlossen mit Fehlern“,
oder fehlgeschlagen ist. Um den Status eines Vorgangs zu prüfen (z. B. ob die Antwort
IN_PROGRESS
zurückgegeben), rufen Sie getOperation
auf.
// 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);
Anspruch auf mehrere Geräte aufheben
Wenn du die Inhaberschaft für ein Gerät zurückziehst, wird die Verknüpfung mit einem Kunden aufgehoben. Möglicherweise ein Gerät nicht beanspruchen, wenn eine Gerätebestellung storniert oder eine Sendung Geräte nicht abgeschlossen werden konnte. So heben Sie den Anspruch auf mehrere Geräte auf: führen Sie folgende Schritte aus:
Schritt 1: UnclaimDevicesRequest
-Objekt erstellen
Samsung-Geräte
// 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();
Andere Android-Geräte
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();
Schritt 2: Anspruch auf Geräte zurückziehen
Wenn Sie die Inhaberschaft für ein Gerät zurückziehen möchten, rufen Sie UnclaimDevicesAsync
an. Für dieses Beispiel sind zwei
Separate Anfragen: eine vom Samsung-Objekt ResellerService
und eine vom
ResellerService
-Objekt von Google
UnclaimDevicesResponse samsungResponse = samsungResellerService.unclaimDevicesAsync(unclaimSamsungDevicesRequest);
UnclaimDevicesResponse googleResponse = googleResellerService.unclaimDevicesAsync(unclaimGoogleDevicesRequest);
Eine UnclaimDevicesAsync
-Anfrage gibt eine Liste von Operation
-Objekten zurück, die
enthalten den Status der Anfrage („In Bearbeitung“, „Abgeschlossen“, „Abgeschlossen mit Fehlern“,
Status eines Vorgangs prüfen, z. B. ob die Antwort
IN_PROGRESS
zurückgegeben), rufen Sie getOperation
auf.
Samsung-Geräte
GetOperationRequest samsungOperationRequest = GetOperationRequest.newBuilder().setOperationId(samsungOperationId).build();
Operation samsungOperation = samsungResellerService.getOperation(samsungOperationRequest);
Andere Android-Geräte
GetOperationRequest googleOperationRequest = GetOperationRequest.newBuilder().setOperationId(googleOperationId).build();
Operation googleOperation = googleResellerService.getOperation(googleOperationRequest);
Samsung-Gerät umtauschen
Wenn ein Gerät aus irgendeinem Grund ersetzt werden muss, können Sie es umtauschen. Dieses Beispiel: Sie möchten ein Samsung-Gerät gegen ein anderes Samsung-Gerät austauschen. .
Schritt 1: UnclaimDeviceRequest
-Objekt erstellen
// 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();
Schritt 2: UnclaimDeviceAsync
anrufen
UnclaimDevicesResponse samsungResponse = samsungResellerService.unclaimDevicesAsync(unclaimSamsungDevicesRequest);
Eine UnclaimDevicesAsync
-Anfrage gibt eine Liste von Operation
-Objekten zurück, die
enthält den Status des Antrags (in Bearbeitung, abgeschlossen, abgeschlossen mit Fehlern,
oder fehlgeschlagen ist. Um den Status eines Vorgangs zu prüfen (z. B. ob die Antwort
IN_PROGRESS
zurückgegeben), rufen Sie getOperation
auf:
GetOperationRequest samsungOperationRequest = GetOperationRequest.newBuilder().setOperationId(samsungOperationId).build();
Operation samsungOperation = samsungResellerService.getOperation(samsungOperationRequest);
Schritt 3: ClaimDeviceRequest
-Objekt erstellen
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();
Schritt 4: ClaimDeviceAsync
anrufen
ClaimDevicesResponse samsungResponse = samsungResellerService.claimDevicesAsync(claimSamsungDevicesRequest);
Eine ClaimDevicesAsync
-Anfrage gibt eine Liste von Operation
-Objekten zurück, die
enthält den Status der Anfrage (in Bearbeitung, abgeschlossen, abgeschlossen mit Fehlern,
oder fehlgeschlagen ist. Um den Status eines Vorgangs zu prüfen (z. B. ob die Antwort
IN_PROGRESS
zurückgegeben), rufen Sie getOperation
auf:
GetOperationRequest samsungOperationRequest = GetOperationRequest.newBuilder().setOperationId(samsungOperationId).build();
Operation samsungOperation = samsungResellerService.getOperation(samsungOperationRequest);
Android-Gerät (kein Samsung-Gerät) austauschen
Wenn ein Gerät aus irgendeinem Grund ersetzt werden muss, können Sie es umtauschen. Dieses wird angenommen, dass Sie ein Android-Gerät (kein Samsung-Gerät) gegen ein anderes Android-Gerät (kein Samsung-Gerät) verwendet.
Schritt 1: UnclaimDeviceRequest
-Objekt erstellen
UnclaimDeviceRequest unclaimGoogleDeviceRequest = UnclaimDeviceRequest.newBuilder()
.setUnclaim(
DeviceUnclaim.newBuilder()
.setDeviceIdentifier(
DeviceIdentifier.newBuilder()
.setImei("1234567803")
.build())
.build())
.build();
Schritt 2: UnclaimDevice
anrufen
googleResponse = googleResellerService.unclaimDevice(unclaimGoogleDeviceRequest);
Schritt 3: ClaimDeviceRequest
-Objekt erstellen
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();
Schritt 4: ClaimDevice
anrufen
ClaimDeviceResponse response = googleResellerService.claimDevice(claimGoogleDeviceRequest);
Bei Erfolg gibt der Aufruf ein ClaimDeviceResponse
-Objekt zurück, das die
deviceId
. Andernfalls wird eine allgemeine Ausnahme ausgelöst, die einen Fehlercode enthält.