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

इस पेज पर, आम तौर पर किए जाने वाले कुछ कामों के उदाहरण दिए गए हैं. ये काम, Common Android Reseller Library की मदद से किए जा सकते हैं. इनमें ये काम शामिल हैं:


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

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

Samsung डिवाइस

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

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

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

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

नीचे दिए गए उदाहरण में, GoogleResellerServiceFactory क्लास का इस्तेमाल करके ResellerService ऑब्जेक्ट बनाने का तरीका बताया गया है. इससे, Samsung के अलावा अन्य 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 corp 11 Samsung

1234567801

1234567802

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

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

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

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

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

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

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

पहला चरण: 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 शामिल होता है. अगर ऐसा नहीं होता है, तो यह गड़बड़ी कोड वाला एक सामान्य अपवाद दिखाता है.