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