Häufige Vorgänge

Auf dieser Seite finden Sie Beispiele für häufige Vorgänge, die Sie mit der Common Android Reseller Library, einschließlich:


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

1234567801

1234567802

Andere Android-Geräte

Kundenname Kundennummer Hersteller IMEI
Logo: ABC Corporation 21 Google 1234567803
XYZ Corp 22 Sony

1234567804

1234567805

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.