সাধারণ ব্যবস্থাপনার কাজ

EMMগুলি Android-এর জন্য তাদের এন্টারপ্রাইজ সলিউশনে সাধারণ পরিচালন কার্যগুলির একটি পরিসর বাস্তবায়ন করতে পারে, যেমন এই নির্দেশিকায় দেখানো কাজগুলি৷ নমুনা কোডটি Java ® এর জন্য Google Play EMM API ক্লায়েন্ট লাইব্রেরি ব্যবহার করে।

ব্যবহারকারীদের সন্ধান করুন এবং ব্যবহারকারীর বিবরণ পান

অনেক Google Play EMM API-এর কিছু ব্যবহারকারী-সম্পর্কিত কাজ করার জন্য একটি userId (একটি enterpriseId ছাড়াও) প্রয়োজন, যেমন একটি অ্যাপ ইনস্টল করা, এনটাইটেলমেন্ট প্রাপ্ত করা এবং লাইসেন্স করা। কিছু কল একটি ব্যবহারকারী অবজেক্ট প্রয়োজন.

যদি কোনো সংস্থা পরিচালিত Google Play অ্যাকাউন্ট ব্যবহার করে, তাহলে আপনি ব্যবহারকারীর ইমেল ঠিকানা এবং সেই অ্যাকাউন্টগুলির জন্য ব্যবহারকারী আইডিগুলির মধ্যে একটি ম্যাপিং বজায় রাখবেন। Google অ্যাকাউন্টের সাথে, আপনি UsersListResponse ব্যবহার করেন।

ব্যবহারকারীদের সন্ধান করুন

এই কোড নমুনা Google অ্যাকাউন্টের সাথে যুক্ত ব্যবহারকারী আইডি পায়। এটি পরিচালিত Google Play অ্যাকাউন্টগুলি ব্যবহার করে এমন সংস্থাগুলির ক্ষেত্রে প্রযোজ্য নয়৷

এই উদাহরণটি অনুমান করে যে আপনি আপনার কোডে User এবং UsersListResponse মডেলগুলি আমদানি করেছেন। একটি নির্দিষ্ট ব্যবহারকারীর অ্যাকাউন্ট পেতে, enterpriseId পাস করে এর userId পান এবং UsersListResponse এ ইমেল করুন।

public UsersListResponse list(String enterpriseId, String email) throws
   IOException {
    return androidEnterprise
        .users()
        .list(enterpriseId, email)
        .execute();
}

ব্যবহারকারীর বিবরণ পান

একবার আপনার userId হয়ে গেলে, আপনি অন্যান্য বিবরণ পুনরুদ্ধার করতে পারেন। Users.Get দেখুন।

public User get(String enterpriseId, String userId) throws IOException {
    return androidEnterprise
        .users()
        .get(enterpriseId, userId)
        .execute();
}

একটি ব্যবহারকারীকে অ্যাপগুলিতে অ্যাক্সেস দিন

পরিচালিত Google Play স্টোর থেকে ব্যবহারকারী কোন অ্যাপগুলি অ্যাক্সেস করতে পারে তা নিয়ন্ত্রণ করতে আপনি Google Play EMM API ব্যবহার করতে পারেন৷ একটি অ্যাপের অ্যাক্সেসের মধ্যে এটি অনুসন্ধান, দেখার, ইনস্টল এবং আপডেট করার ক্ষমতা অন্তর্ভুক্ত। তিনটি ভিন্ন অ্যাক্সেস স্তর উপলব্ধ আছে:

  • শুধুমাত্র অনুমোদিত অ্যাপ্লিকেশানগুলি: ব্যবহারকারীর শুধুমাত্র নির্দিষ্ট অ্যাপ্লিকেশনগুলিতে অ্যাক্সেস রয়েছে৷
  • সমস্ত অনুমোদিত অ্যাপ্লিকেশান: এন্টারপ্রাইজের জন্য অনুমোদিত সমস্ত অ্যাপ্লিকেশানগুলিতে ব্যবহারকারীর অ্যাক্সেস রয়েছে৷
  • সমস্ত অ্যাপ: ব্যবহারকারীর কাছে Google Play স্টোরে সর্বজনীনভাবে উপলব্ধ সমস্ত অ্যাপের অ্যাক্সেস রয়েছে।

একজন ব্যবহারকারীকে শুধুমাত্র নির্দিষ্ট অ্যাপে অ্যাক্সেস দিন

নীচের উদাহরণটি দেখায় যে কীভাবে একজন ব্যবহারকারীকে পরিচালিত Google Play স্টোর থেকে অ্যাপের একটি নির্দিষ্ট সেটে অ্যাক্সেস দিতে হয়। প্রক্রিয়াটি নিম্নলিখিত পদক্ষেপগুলি অন্তর্ভুক্ত করে:

  • ব্যবহারকারীর (প্রোডাক্টসেট) জন্য অনুমোদিত productIds (অ্যাপস) এর একটি তালিকা সংগ্রহ করুন।
  • উল্লেখ করুন যে ব্যবহারকারী প্রদত্ত তালিকায় থাকা অ্যাপগুলিকে শুধুমাত্র "whitelist" -তে productSetBehavior স্ট্রিং-এর মান সেট করে অ্যাক্সেস করতে পারবেন।
  • setAvailableProductSet ব্যবহার করে ব্যবহারকারীর উপলব্ধ পণ্য সেটে productIds তালিকা এবং আচরণ সেটিং প্রয়োগ করুন।
public ProductSet setProductSet(String enterpriseId, String userId,
    List<String> productIds) throws IOException {
  ProductSet productSet = new ProductSet();
  productSet.setProductId(productIds);
  productSet.setProductSetBehavior("whitelist");

  return androidEnterprise
      .users()
      .setAvailableProductSet(enterpriseId, userId, productSet)
      .execute();
}

সমস্ত অনুমোদিত অ্যাপে একজন ব্যবহারকারীকে অ্যাক্সেস দিন

নীচের উদাহরণটি দেখায় যে কীভাবে কোনও ব্যবহারকারীকে পরিচালিত Google Play স্টোর থেকে এন্টারপ্রাইজের জন্য অনুমোদিত যে কোনও অ্যাপে অ্যাক্সেস দিতে হয়৷ প্রক্রিয়াটি নিম্নলিখিত পদক্ষেপগুলি অন্তর্ভুক্ত করে:

  • উল্লেখ করুন যে ব্যবহারকারী productSetBehavior স্ট্রিং এর মান "allApproved" তে সেট করে এন্টারপ্রাইজের জন্য অনুমোদিত সমস্ত অ্যাপ্লিকেশন অ্যাক্সেস করতে পারে৷
  • setAvailableProductSet ব্যবহার করে ব্যবহারকারীর কাছে এই সেটিংটি প্রয়োগ করুন।
public ProductSet setUserIncludeApprovedApps(String enterpriseId, String userId)
    throws IOException {
  ProductSet productSet = new ProductSet();
  productSet.setProductSetBehavior("allApproved");

  return androidEnterprise
      .users()
      .setAvailableProductSet(enterpriseId, userId, productSet)
      .execute();
}

দ্রষ্টব্য: যখন productSetBehavior "allApproved" এ সেট করা থাকে, তখন আপনাকে পণ্যসেটের জন্য কোনো productIds নির্দিষ্ট করতে হবে না।

সমস্ত অ্যাপে একজন ব্যবহারকারীকে অ্যাক্সেস দিন

নীচের উদাহরণটি দেখায় যে কীভাবে একজন ব্যবহারকারীকে পরিচালিত Google Play স্টোরে সর্বজনীন Google Play স্টোরে উপলব্ধ যেকোন অ্যাপ অ্যাক্সেস করার ক্ষমতা দিতে হয়। সমস্ত অ্যাপে অ্যাক্সেস থাকা ব্যবহারকারীরা এখনও শুধুমাত্র তাদের এন্টারপ্রাইজের জন্য স্টোর লেআউট দেখতে পান যখন তারা পরিচালিত Google Play খোলে, কিন্তু অনুসন্ধানের মাধ্যমে অতিরিক্ত অ্যাপ খুঁজে পেতে পারে।

কিছু বিশ্বস্ত ব্যবহারকারী, যেমন IT অ্যাডমিনদের, এন্টারপ্রাইজের জন্য অনুমোদন করার আগে অ্যাপগুলি পরীক্ষা এবং মূল্যায়ন করার জন্য এই বৃহত্তর স্তরের অ্যাক্সেসের প্রয়োজন হতে পারে। সমস্ত অ্যাপে ব্যবহারকারীকে অ্যাক্সেস দেওয়ার প্রক্রিয়াতে নিম্নলিখিত পদক্ষেপগুলি অন্তর্ভুক্ত রয়েছে:

  • উল্লেখ করুন যে ব্যবহারকারী productSetBehavior স্ট্রিং এর মান "includeAll" এ সেট করে Google Play স্টোরের সমস্ত অ্যাপ অ্যাক্সেস করতে পারে।
  • setAvailableProductSet ব্যবহার করে ব্যবহারকারীর কাছে এই সেটিংটি প্রয়োগ করুন।
public ProductSet setUserIncludeAllApps(String enterpriseId, String userId)
    throws IOException {
  ProductSet productSet = new ProductSet();
  productSet.setProductSetBehavior("includeAll");

  return androidEnterprise
      .users()
      .setAvailableProductSet(enterpriseId, userId, productSet)
      .execute();
}

দ্রষ্টব্য: যখন productSetBehavior "includeAll" এ সেট করা থাকে, তখন আপনাকে পণ্যসেটের জন্য কোনো productIds নির্দিষ্ট করতে হবে না।

একটি স্টোর লেআউট তৈরি করুন

ব্যবহারকারীদের অ্যাপগুলিতে অ্যাক্সেস দেওয়ার পরে, পরিচালিত Google Play স্টোরের সামনে প্রদর্শনের জন্য অ্যাপগুলিকে ক্লাস্টারে গোষ্ঠীভুক্ত করুন।

আপনি Storelayoutpages এবং Storelayoutclusters এপিআই ব্যবহার করে আপনার প্রতিটি গ্রাহকের জন্য একটি অনন্য কাস্টমাইজড স্টোর লেআউট তৈরি করতে পারেন। একটি সাধারণ বিন্যাসে পৃষ্ঠাগুলির একটি সেট থাকে এবং প্রতিটিতে অ্যাপ্লিকেশনগুলির ক্লাস্টার থাকতে পারে। আপনি একই ক্লাস্টারে সম্পর্কিত অ্যাপ্লিকেশন রাখতে পারেন। বিবরণ এবং নমুনা কোডের জন্য কাস্টম স্টোর লেআউট তৈরি করুন দেখুন।

একটি অ্যাপের অনুমতি পান

একটি কাস্টম স্টোর লেআউটে একটি অ্যাপ যুক্ত করতে (অথবা ব্যবহারকারীর ডিভাইসে নীরবে একটি অ্যাপ ইনস্টল করুন) এবং অ্যাপটি প্রদর্শন করতে যাতে ব্যবহারকারী এটি নির্বাচন করতে পারে, প্রশাসককে অবশ্যই সমগ্র সংস্থার জন্য সেই অ্যাপটির অনুমতি গ্রহণ করতে হবে। অ্যাডমিনিস্ট্রেটররা অ্যাপের অনুমতি গ্রহণ করতে পারে এবং অ্যাপগুলিকে পরিচালিত Google Play কনসোলে বিতরণের জন্য অনুমোদিত হিসাবে চিহ্নিত করতে পারে ( পরিচালিত Google Play ওভারভিউ দেখুন)।

একটি সর্বোত্তম অনুশীলন হিসাবে, আমরা আপনার EMM কনসোলে অনুমতি iframe এম্বেড করার সুপারিশ করি৷ এর মানে ব্যবহারকারীকে পরিচালিত Google Play কনসোলে আলাদাভাবে নেভিগেট করতে হবে না। iframe এর URL পেতে Products.getApprovalUrl ব্যবহার করুন।

public String getApprovalUrl(String enterpriseId, String productId)
    throws IOException {
  return androidEnterprise
      .products()
      .generateApprovalUrl(enterpriseId, productId)
      .execute()
      .getUrl();
}

সেই অনুমতিগুলি গ্রহণ করতে Products.approve ব্যবহার করুন।

public void approveProduct(String enterpriseId,
    String productId,
    String approvalUrl) throws IOException {
  ProductsApproveRequest productsApproveRequest =
      new ProductsApproveRequest()
          .setApprovalUrlInfo(
              new ApprovalUrlInfo().setApprovalUrl(approvalUrl));
  androidEnterprise
      .products()
      .approve(enterpriseId, productId, productsApproveRequest)
      .execute();
  }

একটি ব্যবহারকারীর ডিভাইস পান

ডিভাইস-নির্দিষ্ট ক্রিয়াগুলি করতে, আপনাকে ব্যবহারকারীর সাথে যুক্ত ডিভাইসগুলি সনাক্ত করতে হবে৷ এই উদাহরণটি DevicesListResponse ব্যবহার করে একটি প্রদত্ত userID এর জন্য ডিভাইসের তালিকা প্রদান করে।

public DevicesListResponse list(String enterpriseId, String userId) throws
   IOException {

    return androidEnterprise
        .devices()
        .list(enterpriseId, userId)
        .execute();
}

ব্যবহারকারী যদি প্রথমবারের মতো পরিচালিত Google Play অ্যাক্সেস করার চেষ্টা করার সময় উপস্থাপিত পরিষেবার শর্তাবলীতে সম্মত হন, তাহলে প্রতিক্রিয়াতে অব্যবস্থাপিত ডিভাইস ( unmanagedProfile পরিচালনার ধরন সহ ডিভাইস) অন্তর্ভুক্ত থাকে।

একটি ডিভাইসের অবস্থা পান এবং সেট করুন

এই ম্যানেজমেন্ট টাস্ক শুধুমাত্র Google অ্যাকাউন্ট ব্যবহার করে এমন প্রতিষ্ঠানের জন্য প্রযোজ্য। এটি পরিচালিত Google Play অ্যাকাউন্টগুলি ব্যবহার করে এমন সংস্থাগুলির ক্ষেত্রে প্রযোজ্য নয়৷

যখন একটি পরিচালিত ডিভাইসে ব্যবহারকারীর পরিচালিত Google অ্যাকাউন্ট সক্রিয় করা হয়, তখন Google পরিষেবাগুলিতে অ্যাক্সেস সক্ষম (বা অক্ষম) এর উপর ভিত্তি করে:

যদি EMM এনফোর্সমেন্ট অক্ষম করা থাকে, তাহলে ডিভাইসের অবস্থা উপেক্ষা করা হয় এবং অ্যাকাউন্টটি যখনই একটি Android ডিভাইসে সক্রিয় হয় তখন Google পরিষেবাগুলিতে অ্যাক্সেস দেওয়া হয়। যদি EMM এনফোর্সমেন্ট সক্ষম করা থাকে কিন্তু ডিভাইসের অবস্থা না থাকে, ব্যবহারকারীরা Google Play থেকে অ্যাপ্লিকেশন ইনস্টল করতে পারবেন না এবং Google Play EMM APIগুলি ডিভাইসে সেই ব্যবহারকারীর জন্য নীরবে অ্যাপ ইনস্টল করতে পারবে না।

এই উদাহরণটি দেখায় কিভাবে একটি প্রদত্ত ডিভাইসের অবস্থা পেতে হয় ( enterpriseId , userId , এবং deviceId পাস করে নির্দিষ্ট করা হয়)।

getState() এবং setState() ক্রিয়াকলাপগুলি managementType managedDevice বা managedProfile ( Devices রিসোর্সে) সহ ডিভাইসগুলির জন্য কাজ করে। unmanagedProfile একটি managementType সহ ডিভাইসগুলি এই APIগুলির সাথে নিয়ন্ত্রণ করা যায় না৷

public DeviceState getState(String enterpriseId, String userId, String
   deviceId) throws IOException {

    return androidEnterprise
        .devices()
        .getState(enterpriseId, userId, deviceId)
        .execute();
}

AccountState স্ট্রিংটিকে যথাযথ ধ্রুবকটিতে সেট করে একটি ডিভাইসে অ্যাকাউন্টের জন্য Google পরিষেবাগুলি সক্ষম বা অক্ষম করুন৷

public DeviceState setState(String enterpriseId, String userId, String
   deviceId, String accountState) throws IOException {

    DeviceState deviceState = new DeviceState();
    deviceState.setAccountState(accountState);

    return androidEnterprise
        .devices()
        .setState(enterpriseId, userId, deviceId, deviceState)
        .execute();
}

একটি ডিভাইসে একটি অ্যাপ ইনস্টল করুন

অ্যাডমিনিস্ট্রেটররা নীরবে অ্যাপ্লিকেশন ইনস্টল করতে পারেন। ব্যবহারকারীর মিথস্ক্রিয়া প্রয়োজন হয় না। এই উদাহরণটি একটি ডিভাইসে ( productId দ্বারা চিহ্নিত) একটি অ্যাপ ( deviceId দ্বারা চিহ্নিত) নীরবে ইনস্টল করতে Installs.Update ব্যবহার করে।

public Install update(String enterpriseId, String userId, String
   deviceId, String productId) throws IOException {

    return androidEnterprise
        .installs()
        .update(enterpriseId, userId, deviceId, productId,
           new Install())
        .execute();
}

যদি ডিভাইসে অ্যাপটি ইতিমধ্যেই বিদ্যমান থাকে এবং একটি আপডেট সংস্করণ উপলব্ধ থাকে, তাহলে অ্যাপটি নতুন সংস্করণে আপডেট করা হয়।

অনুমোদিত অ্যাপ্লিকেশন তালিকা থেকে অ্যাপগুলি খুঁজুন এবং পান

প্রশাসকরা পরিচালিত Google Play-এ তাদের ব্যবহারকারীদের জন্য উপলব্ধ অনুমোদিত অ্যাপগুলির একটি তালিকা তৈরি এবং পরিচালনা করে৷ কাজের প্রোফাইল সহ BYOD ডিভাইসের ব্যবহারকারীরা এবং কর্পোরেশন-দায়বদ্ধ ডিভাইসগুলির ব্যবহারকারীরা যেখানে সম্পূর্ণ ডিভাইসটি সংস্থা দ্বারা পরিচালিত হয় শুধুমাত্র এই অনুমোদিত তালিকা থেকে অ্যাপগুলি ডাউনলোড করতে পারে৷

আপনি একটি অনুসন্ধান বাক্স অন্তর্ভুক্ত করার জন্য আপনার EMM কনসোল কাস্টমাইজ করতে পারেন যাতে অ্যাডমিনিস্ট্রেটররা শুধুমাত্র অনুমোদিত অ্যাপের তালিকায় অ্যাপগুলির জন্য অনুসন্ধান করতে পারে। অনুসন্ধান ফাংশনটি একটি স্ট্যান্ডার্ড পরিচালিত Google Play অনুসন্ধান ফাংশন হিসাবে একই পরামিতিগুলি গ্রহণ করে, তবে এটি শুধুমাত্র অনুমোদিত অ্যাপ্লিকেশন তালিকায় থাকা অ্যাপ্লিকেশনগুলির জন্য অনুসন্ধান করে৷

উদাহরণস্বরূপ, যদি অ্যাডমিনিস্ট্রেটর তাদের এন্টারপ্রাইজের ডিভাইসগুলিতে অনুমোদিত অ্যাপের তালিকায় একটি অ্যাপ ইনস্টল করতে চান, তাহলে তারা অ্যাপটি খুঁজে পেতে EMM কনসোলে এই অনুসন্ধান ফাংশনটি ব্যবহার করতে পারেন।

আপনার ক্যোয়ারীতে, আপনি আপনার ফলাফলে থাকা উচিত এমন সর্বাধিক সংখ্যক পণ্য নির্দিষ্ট করতে পারেন, যেমন setMaxResults(10L) , স্ক্রীনটি পূরণ করার জন্য যথেষ্ট। ডিফল্ট মান হল 100, যা সর্বোচ্চ যা একবারে ফেরত দেওয়া যায়। যখন ফলাফলে একটি পেজিনেশন টোকেন থাকে, তখন আরো অনেক ফলাফল থাকে যা আপনি পেজিনেশন টোকেন পাস করে পুনরুদ্ধার করতে পারেন।

এই উদাহরণটি দেখায় কিভাবে উৎপাদনশীলতা অ্যাপের জন্য অনুসন্ধানের প্রথম 10টি ফলাফল পেতে হয়। Products.List দেখুন।

public List searchProducts(String enterpriseId) throws IOException {
  ProductsListResponse executeResult =
      androidEnterprise
          .products()
          .list(enterpriseId)
          .setMaxResults(10L)
          .setQuery("productivity")
          .execute();
  return executeResult.getProduct();
}

যদি সার্চের ফলাফলে একটি পেজিনেশন টোকেন থাকে, তাহলে অনুসন্ধানটি setMaxResults ফলাফলের চেয়ে বেশি বা এই উদাহরণে 10টির বেশি ফলাফল তৈরি করে। আরও ফলাফল পুনরুদ্ধার করতে, অনুসন্ধানটি পুনরায় করুন এবং অনুরোধে পৃষ্ঠা সংখ্যা টোকেন অন্তর্ভুক্ত করুন৷ এই উদাহরণটি পরবর্তী 10টি ফলাফল পায়।

public ProductsListResponse continueSearch(
    String enterpriseId, ProductsListResponse previousResponse) throws IOException {
  ProductsListResponse nextResults =
      androidEnterprise
          .products()
          .list(enterpriseId)
          .setMaxResults(10L)
          .setToken(previousResponse.getTokenPagination().getNextPageToken())
          .setQuery("productivity")
          .execute();
  return nextResults;
}