सामान्य कार्रवाइयां

यह पेज कुछ सामान्य कार्रवाइयों के उदाहरण देता है जिन्हें आप सामान्य Android रीसेलर लाइब्रेरी के साथ कर सकते हैं, जिनमें ये शामिल हैं:


ResellerService ऑब्जेक्ट बनाएं

ResellerService ऑब्जेक्ट बनाने के लिए, Samsung और Google फ़ैक्ट्री क्लास का इस्तेमाल करें. ResellerService ऑब्जेक्ट के साथ, आम तौर पर इस्तेमाल किए जाने वाले तरीके, Samsung और दूसरे Android डिवाइसों को रजिस्टर करने के लिए उपलब्ध होते हैं.

Samsung के डिवाइस

उदाहरण के तौर पर, Samsung डिवाइसों को मैनेज करने के लिए, SamsungResellerServiceFactory क्लास का इस्तेमाल करके ResellerService ऑब्जेक्ट बनाने का तरीका बताया गया है.

ऐसा करने से पहले, आपको Knox डिप्लॉयमेंट Program (KDP) के साथ शामिल होना होगा.

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

दूसरे Android डिवाइस

नीचे दिए गए उदाहरण में, GoogleResellerServiceFactory क्लास का इस्तेमाल करके, ऐसे ResellerService डिवाइस बनाने का तरीका बताया गया है जो Android के अलावा दूसरे डिवाइस मैनेज करते हैं. ऐसा करने से पहले, अपनी resellerId और सेवा खाता कुंजी पाने के लिए, आपको पहले से तैयार डिवाइस के लिए शुरू करें में दिए गए चरणों का पालन करना होगा.

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

Customer ऑब्जेक्ट बनाएं

Samsung और गैर-Samsung डिवाइस खरीदने वाले किसी ग्राहक को दो ग्राहक आईडी की ज़रूरत होती है.

Samsung के डिवाइस

Samsung डिवाइस मैनेज करने के लिए, आपके पास ग्राहक के Knox के ग्राहक आईडी का इस्तेमाल होता है. Knox का ग्राहक आईडी पाने के लिए, आपको पहले Customer ऑब्जेक्ट बनाना होगा. ऐसा करने के लिए, SamsungResellerServiceFactory से बनाए गए SamsungResellerService का इस्तेमाल करके createCustomer को कॉल करें. यहां उदाहरण देखें:

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

अनुरोध स्वीकार होने पर, अनुरोध से CreateCustomerResponse ऑब्जेक्ट मिलता है जिससे आप Knox का ग्राहक आईडी निकाल सकते हैं.

दूसरे Android डिवाइस

अन्य Android डिवाइसों के लिए, ग्राहक को पहले से तैयार डिवाइस ग्राहक आईडी की ज़रूरत होती है. अगर कोई ग्राहक किसी दूसरे रीसेलर के साथ, पहले से तैयार डिवाइस का इस्तेमाल करता है, तो आप उसके मौजूदा ग्राहक आईडी का इस्तेमाल करते हैं. ऐसा न होने पर, आपको Customer ऑब्जेक्ट बनाना होगा. ऐसा करने के लिए, GoogleResellerServiceFactory से बनाए गए ResellerService का इस्तेमाल करके createCustomer को कॉल करें. यहां एक उदाहरण दिया गया है:

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

अनुरोध स्वीकार करने पर, CreateCustomerResponse ऑब्जेक्ट दिखाता है. जवाब से ग्राहक आईडी वापस लाया जा सकता है.


डिवाइसों के बैच पर दावा करें

डिवाइस पर दावा करने से, डिवाइस और ग्राहक के बीच एक संबंध बन जाता है. उदाहरण के लिए, अगर आप किसी ग्राहक को डिवाइस का बैच बेचते हैं, तो आप उस ग्राहक के लिए डिवाइस पर दावा करेंगे.

इस उदाहरण में डिवाइसों के बैच को प्रोसेस करने का एक तरीका दिया गया है. इसमें, एक से ज़्यादा मैन्युफ़ैक्चरर के Samsung और दूसरे Android डिवाइस के ऑर्डर शामिल हैं.

पहला चरण: डिवाइस और ग्राहकों को व्यवस्थित करना

डिवाइस के IMEI नंबर, मैन्युफ़ैक्चरर, और जिन ग्राहकों को डिवाइस बेचे गए थे उनके आईडी की टेबल को ध्यान में रखते हुए, ऑर्डर मैनेज करने का एक तरीका, इन्हें दो सूचियों में व्यवस्थित करना है: Samsung डिवाइस ऑर्डर और दूसरे Android (बिना Samsung वाले) डिवाइस ऑर्डर. इसके बाद, हर सूची के लिए डिवाइस को ग्राहक के हिसाब से ग्रुप में बांटें. उदाहरण के लिए:

Samsung के डिवाइस

ग्राहक का नाम Samsung Knox का ग्राहक आईडी मैन्युफ़ैक्चरर IMEI
ABC कॉर्पोरेशन 11 Samsung

1234567801

1234567802

दूसरे Android डिवाइस

ग्राहक का नाम ग्राहक आईडी मैन्युफ़ैक्चरर IMEI
ABC कॉर्पोरेशन 21 Google 1234567803
XYZ कॉर्प 22 Sony

1234567804

1234567805

दूसरा चरण: ClaimDevicesRequest ऑब्जेक्ट बनाना

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

दूसरे 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();

तीसरा चरण: ग्राहकों के लिए, डिवाइसों पर दावा करना

ग्राहकों के डिवाइसों के लिए दावा करने के लिए, ClaimDevicesAsync को कॉल करें. इन उदाहरणों के लिए दो अलग-अलग अनुरोध की ज़रूरत होती है: एक Samsung ResellerService ऑब्जेक्ट से और एक Google ResellerService ऑब्जेक्ट से.

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

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

ClaimDevicesAsync अनुरोध, Operation ऑब्जेक्ट की सूची दिखाता है, जिसमें अनुरोध की स्थिति (प्रोसेस जारी है, पूरा होता है, गड़बड़ियों के साथ पूरा होता है या हो नहीं जाता) के बारे में बताया जाता है. किसी कार्रवाई की स्थिति देखने के लिए (उदाहरण के लिए, अगर रिस्पॉन्स IN_PROGRESS मिला है), तो 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);

डिवाइसों के बैच से दावा हटाएं

किसी डिवाइस से दावा रद्द करने पर, वह ग्राहक से अपने-आप हट जाता है. अगर डिवाइस का ऑर्डर रद्द कर दिया जाता है या डिवाइस का शिपमेंट पूरा नहीं हो पाता है, तो आपको डिवाइस के दावे को हटाने की ज़रूरत पड़ सकती है. डिवाइसों के बैच पर दावा छोड़ने के लिए, यह तरीका अपनाएं:

पहला चरण: UnclaimDevicesRequest ऑब्जेक्ट बनाना

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

दूसरे 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();

दूसरा चरण: डिवाइस से दावा हटाना

डिवाइसों से दावा हटाने के लिए, UnclaimDevicesAsync को कॉल करें. इस उदाहरण के लिए दो अलग-अलग अनुरोधों की ज़रूरत है: एक Samsung ResellerService ऑब्जेक्ट से और एक Google ResellerService ऑब्जेक्ट से.

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

UnclaimDevicesAsync अनुरोध, Operation ऑब्जेक्ट की सूची दिखाता है. इस सूची में, अनुरोध का स्टेटस (प्रोसेस जारी है, पूरा होता है, गड़बड़ियों के साथ पूरा होता है या हो नहीं जाता) की स्थिति दिखती है. इससे किसी कार्रवाई (उदाहरण के लिए, अगर रिस्पॉन्स IN_PROGRESS मिला) की स्थिति की जांच की जा सकती है, तो getOperation को कॉल करें.

Samsung के डिवाइस

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

दूसरे Android डिवाइस

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

Samsung डिवाइस को एक्सचेंज करना

अगर किसी वजह से डिवाइस को बदलना है, तो उसे बदला जा सकता है. इस उदाहरण में यह माना गया है कि आप Samsung डिवाइस को किसी दूसरे Samsung डिवाइस से बदल रहे हैं.

पहला चरण: 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();

दूसरा चरण: UnclaimDeviceAsync को कॉल करें

UnclaimDevicesResponse samsungResponse = samsungResellerService.unclaimDevicesAsync(unclaimSamsungDevicesRequest);

UnclaimDevicesAsync अनुरोध, Operation ऑब्जेक्ट की सूची दिखाता है. इस सूची में, अनुरोध की स्थिति (जारी है, पूरा, गड़बड़ी के साथ या पूरा नहीं हुआ) की स्थिति होती है. किसी कार्रवाई की स्थिति देखने के लिए (उदाहरण के लिए, अगर रिस्पॉन्स IN_PROGRESS मिला है), तो getOperation पर कॉल करें:

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

तीसरा चरण: 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();

चौथा चरण: ClaimDeviceAsync को कॉल करें

ClaimDevicesResponse samsungResponse = samsungResellerService.claimDevicesAsync(claimSamsungDevicesRequest);

ClaimDevicesAsync अनुरोध, Operation ऑब्जेक्ट की सूची दिखाता है. इस सूची में, अनुरोध की स्थिति (जारी है, पूरा हुआ, गड़बड़ियों के साथ पूरा हुआ या नहीं) की स्थिति होती है. किसी कार्रवाई की स्थिति देखने के लिए (उदाहरण के लिए, अगर रिस्पॉन्स IN_PROGRESS मिला है), तो getOperation पर कॉल करें:

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

कोई Android (Samsung) डिवाइस एक्सचेंज करना

अगर किसी वजह से डिवाइस को बदलना है, तो उसे बदला जा सकता है. उदाहरण के लिए, यह माना गया है कि आपके पास Samsung के अलावा किसी दूसरे Android डिवाइस का इस्तेमाल करने का विकल्प है.

पहला चरण: UnclaimDeviceRequest ऑब्जेक्ट बनाना

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

दूसरा चरण: UnclaimDevice को कॉल करें

googleResponse = googleResellerService.unclaimDevice(unclaimGoogleDeviceRequest);

तीसरा चरण: 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();

चौथा चरण: ClaimDevice को कॉल करें

ClaimDeviceResponse response = googleResellerService.claimDevice(claimGoogleDeviceRequest);

कॉल पूरा होने पर, कॉल में ClaimDeviceResponse ऑब्जेक्ट दिखता है जिसमें deviceId शामिल होता है. नहीं तो, यह गड़बड़ी कोड वाला एक सामान्य अपवाद फेंकता है.