সাধারণ অপারেশন

এই পৃষ্ঠাটি এমন কিছু সাধারণ ক্রিয়াকলাপের উদাহরণ প্রদান করে যা আপনি কমন অ্যান্ড্রয়েড রিসেলার লাইব্রেরির সাথে সম্পাদন করতে পারেন, যার মধ্যে রয়েছে:


ResellerService অবজেক্ট তৈরি করুন

ResellerService অবজেক্ট তৈরি করতে Samsung এবং Google ফ্যাক্টরি ক্লাস ব্যবহার করুন। ResellerService অবজেক্টের সাথে, Samsung এবং অন্যান্য Android ডিভাইসগুলি নথিভুক্ত করার জন্য পদ্ধতির একটি সাধারণ সেট উপলব্ধ।

স্যামসাং ডিভাইস

নীচের উদাহরণটি দেখায় যে Samsung ডিভাইসগুলি পরিচালনা করতে SamsungResellerServiceFactory ক্লাস ব্যবহার করে কীভাবে একটি ResellerService অবজেক্ট তৈরি করতে হয়।

আপনি এটি করার আগে, আপনাকে Knox Deployment Program (KDP) এর সাথে অনবোর্ড করতে হবে।

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

অন্যান্য অ্যান্ড্রয়েড ডিভাইস

নীচের উদাহরণটি দেখায় যে কীভাবে অন্যান্য (নন-স্যামসাং) অ্যান্ড্রয়েড ডিভাইসগুলি পরিচালনা করতে GoogleResellerServiceFactory ক্লাস ব্যবহার করে একটি ResellerService অবজেক্ট তৈরি করতে হয়। আপনি এটি করার আগে, আপনাকে আপনার resellerId এবং পরিষেবা অ্যাকাউন্ট কী পেতে জিরো-টাচ তালিকাভুক্তির জন্য শুরু করুন -এর ধাপগুলি অনুসরণ করতে হবে।

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

Customer বস্তু তৈরি করুন

স্যামসাং এবং নন-স্যামসাং ডিভাইস ক্রয়কারী একজন গ্রাহকের দুটি গ্রাহক আইডি প্রয়োজন।

স্যামসাং ডিভাইস

Samsung ডিভাইসগুলি পরিচালনা করতে, আপনি গ্রাহকের 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 অবজেক্ট ফেরত দেয় যেখান থেকে আপনি নক্স গ্রাহক আইডি বের করতে পারেন।

অন্যান্য অ্যান্ড্রয়েড ডিভাইস

অন্যান্য অ্যান্ড্রয়েড ডিভাইসের জন্য, গ্রাহকের একটি জিরো-টাচ এনরোলমেন্ট গ্রাহক আইডি প্রয়োজন। যদি একজন গ্রাহক ইতিমধ্যেই অন্য রিসেলারের সাথে জিরো-টাচ এনরোলমেন্ট ব্যবহার করেন, আপনি তাদের বিদ্যমান গ্রাহক আইডি ব্যবহার করুন। অন্যথায়, আপনাকে একটি 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 অবজেক্ট ফেরত দেয়। আপনি প্রতিক্রিয়া থেকে গ্রাহক আইডি পুনরুদ্ধার করতে পারেন।


ডিভাইসের একটি ব্যাচ দাবি করুন

একটি ডিভাইস দাবি করা ডিভাইস এবং গ্রাহকের মধ্যে একটি সম্পর্ক তৈরি করে। উদাহরণস্বরূপ, যদি আপনি একটি গ্রাহকের কাছে ডিভাইসের একটি ব্যাচ বিক্রি করেন তবে আপনি সেই গ্রাহকের জন্য ডিভাইসগুলি দাবি করবেন।

এই উদাহরণটি একাধিক গ্রাহকের কাছ থেকে একাধিক নির্মাতার (স্যামসাং এবং অন্যান্য অ্যান্ড্রয়েড ডিভাইস) থেকে ডিভাইসের অর্ডার অন্তর্ভুক্ত ডিভাইসগুলির একটি ব্যাচ প্রক্রিয়া করার একটি উপায় দেখায়।

ধাপ 1: ডিভাইস এবং গ্রাহকদের সংগঠিত করুন

ডিভাইসগুলি যে গ্রাহকদের কাছে বিক্রি করা হয়েছিল তাদের IMEI, নির্মাতারা এবং আইডিগুলির একটি টেবিল দেওয়া হয়েছে, অর্ডারগুলি পরিচালনা করার একটি উপায় হল সেগুলিকে দুটি তালিকায় সংগঠিত করা: Samsung ডিভাইসের অর্ডার এবং অন্যান্য Android (নন-স্যামসাং) ডিভাইস অর্ডার। তারপর, প্রতিটি তালিকার জন্য, গ্রাহক দ্বারা গ্রুপ ডিভাইস. যেমন:

স্যামসাং ডিভাইস

গ্রাহকের নাম Samsung Knox গ্রাহক আইডি প্রস্তুতকারক আইএমইআই
ABC কর্পোরেশন 11 Samsung

1234567801

1234567802

অন্যান্য অ্যান্ড্রয়েড ডিভাইস

গ্রাহকের নাম গ্রাহক আইডি প্রস্তুতকারক আইএমইআই
ABC কর্পোরেশন 21 Google 1234567803
XYZ কর্পোরেশন 22 Sony

1234567804

1234567805

ধাপ 2: ClaimDevicesRequest অবজেক্ট তৈরি করুন

স্যামসাং ডিভাইস

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

অন্যান্য অ্যান্ড্রয়েড ডিভাইস

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

ধাপ 3: গ্রাহকদের জন্য ডিভাইস দাবি করুন

গ্রাহকদের জন্য ডিভাইস দাবি করতে, 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);

ডিভাইসের একটি ব্যাচ দাবিমুক্ত করুন

একটি ডিভাইস দাবিমুক্ত করা এটি একটি গ্রাহকের থেকে বিচ্ছিন্ন করে। একটি ডিভাইস অর্ডার বাতিল হলে বা ডিভাইসের চালান সফলভাবে সম্পন্ন না হলে আপনাকে একটি ডিভাইস দাবিমুক্ত করতে হতে পারে। ডিভাইসের একটি ব্যাচ দাবিমুক্ত করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

ধাপ 1: UnclaimDevicesRequest অবজেক্ট তৈরি করুন

স্যামসাং ডিভাইস

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

অন্যান্য অ্যান্ড্রয়েড ডিভাইস

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

ধাপ 2: ডিভাইসগুলি দাবিমুক্ত করুন

ডিভাইসগুলি দাবিমুক্ত করতে, UnclaimDevicesAsync কল করুন। এই উদাহরণটির জন্য দুটি পৃথক অনুরোধের প্রয়োজন: একটি Samsung ResellerService অবজেক্ট থেকে এবং একটি Google ResellerService অবজেক্ট থেকে৷

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

একটি UnclaimDevicesAsync অনুরোধ Operation অবজেক্টের একটি তালিকা ফেরত দেয়, যাতে অনুরোধের স্থিতি থাকে (প্রগতিতে, সম্পূর্ণ, ত্রুটি সহ সম্পূর্ণ বা ব্যর্থ) একটি অপারেশনের স্থিতি পরীক্ষা করতে (উদাহরণস্বরূপ, যদি প্রতিক্রিয়া IN_PROGRESS ফিরে আসে), getOperation কল করুন .

স্যামসাং ডিভাইস

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

অন্যান্য অ্যান্ড্রয়েড ডিভাইস

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

একটি Samsung ডিভাইস বিনিময় করুন

যদি কোনও কারণে কোনও ডিভাইস প্রতিস্থাপনের প্রয়োজন হয় তবে আপনি এটি বিনিময় করতে পারেন। এই উদাহরণটি অনুমান করে যে আপনি অন্য Samsung ডিভাইসের জন্য একটি Samsung ডিভাইস বিনিময় করছেন।

ধাপ 1: একটি 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();

ধাপ 2: UnclaimDeviceAsync কল করুন

UnclaimDevicesResponse samsungResponse = samsungResellerService.unclaimDevicesAsync(unclaimSamsungDevicesRequest);

একটি UnclaimDevicesAsync অনুরোধ Operation অবজেক্টের একটি তালিকা প্রদান করে, যাতে অনুরোধের স্থিতি রয়েছে (প্রগতিতে, সম্পূর্ণ, ত্রুটি সহ সম্পূর্ণ বা ব্যর্থ)। একটি অপারেশনের স্থিতি পরীক্ষা করতে (উদাহরণস্বরূপ, যদি প্রতিক্রিয়া IN_PROGRESS ফিরে আসে), getOperation কল করুন :

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

ধাপ 3: একটি 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();

ধাপ 4: ClaimDeviceAsync কল করুন

ClaimDevicesResponse samsungResponse = samsungResellerService.claimDevicesAsync(claimSamsungDevicesRequest);

একটি ClaimDevicesAsync অনুরোধ Operation অবজেক্টের একটি তালিকা প্রদান করে, যাতে অনুরোধের স্থিতি রয়েছে (প্রগতিতে, সম্পূর্ণ, ত্রুটি সহ সম্পূর্ণ বা ব্যর্থ)। একটি অপারেশনের স্থিতি পরীক্ষা করতে (উদাহরণস্বরূপ, যদি প্রতিক্রিয়া IN_PROGRESS ফিরে আসে), getOperation কল করুন :

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

একটি Android (নন-স্যামসাং) ডিভাইস বিনিময় করুন

যদি কোনও কারণে কোনও ডিভাইস প্রতিস্থাপনের প্রয়োজন হয় তবে আপনি এটি বিনিময় করতে পারেন। এই উদাহরণটি অনুমান করে যে আপনি অন্য Android (নন-স্যামসাং) ডিভাইসের জন্য একটি Android (নন-স্যামসাং) ডিভাইস বিনিময় করছেন।

ধাপ 1: একটি UnclaimDeviceRequest অবজেক্ট তৈরি করুন

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

ধাপ 2: UnclaimDevice কল করুন

googleResponse = googleResellerService.unclaimDevice(unclaimGoogleDeviceRequest);

ধাপ 3: একটি 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();

ধাপ 4: ClaimDevice কল করুন

ClaimDeviceResponse response = googleResellerService.claimDevice(claimGoogleDeviceRequest);

সফল হলে, কলটি deviceId ধারণকারী একটি ClaimDeviceResponse অবজেক্ট ফেরত দেয়। অন্যথায়, এটি একটি ত্রুটি কোড ধারণকারী একটি সাধারণ ব্যতিক্রম নিক্ষেপ করে।