इस पेज पर, आम तौर पर किए जाने वाले कुछ कामों के उदाहरण दिए गए हैं. ये काम, Common Android Reseller Library की मदद से किए जा सकते हैं. इनमें ये काम शामिल हैं:
ResellerService
ऑब्जेक्ट बनानाCustomer
ऑब्जेक्ट बनाना- डिवाइसों के एक ग्रुप पर दावा करना
- डिवाइसों के बैच से दावा करना
- Samsung डिवाइस एक्सचेंज करना
- Samsung के अलावा किसी दूसरे Android डिवाइस को एक्सचेंज करना
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 |
|
दूसरे Android डिवाइस
ग्राहक का नाम | ग्राहक आईडी | निर्माता | IMEI |
---|---|---|---|
ABC corp | 21 |
Google |
1234567803 |
XYZ कॉर्पोरेशन | 22 |
Sony |
|
दूसरा चरण: 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
शामिल होता है. अगर ऐसा नहीं होता है, तो यह गड़बड़ी कोड वाला एक सामान्य अपवाद दिखाता है.