পরিবেশ ক্লায়েন্ট

interface EnvironmentClient


পরিবেশ সম্পর্কিত এপিআই অ্যাক্সেস করার জন্য ক্লায়েন্ট।

একটি ইনস্ট্যান্স তৈরি করতে EnvironmentClientFactory ব্যবহার করুন।

সারাংশ

জনসাধারণের অনুষ্ঠান

suspend Environment

Environment ফিরিয়ে দেয়।

ListenableFuture < Environment >

Environment ফিরিয়ে দেয়।

suspend PrepareEnvironmentResponse
prepareEnvironment (
request: PrepareEnvironmentRequest ,
notificationServiceComponentName: ComponentName ?
)

অ্যান্ড্রয়েড ডিভাইস পলিসি অ্যাপটি ইনস্টল এবং প্রস্তুত আছে কিনা তা নিশ্চিত করে ডিভাইসটি প্রস্তুত করে।

ListenableFuture < PrepareEnvironmentResponse >
prepareEnvironmentAsync (
request: PrepareEnvironmentRequest ,
notificationServiceComponentName: ComponentName ?
)

অ্যান্ড্রয়েড ডিভাইস পলিসি অ্যাপটি ইনস্টল এবং প্রস্তুত আছে কিনা তা নিশ্চিত করে ডিভাইসটি প্রস্তুত করে।

জনসাধারণের অনুষ্ঠান

পরিবেশ পান

suspend fun getEnvironment(request: GetEnvironmentRequest): Environment

Environment ফেরত দেয়। এটি কলারকে জানতে সাহায্য করে যে পরিবেশ প্রস্তুত কিনা।

থ্রো
com.google.android.managementapi.common.exceptions.InvalidArgumentException

যদি অনুরোধকৃত ভূমিকাগুলি বৈধ না হয়।

com.google.android.managementapi.common.exceptions.InternalException

যদি কোনও অভ্যন্তরীণ ত্রুটির কারণে কল ব্যর্থ হয়।

com.google.android.managementapi.common.exceptions.ApiLevelException

যদি ডিভাইসের SDK API লেভেল নির্দিষ্ট কিছু অনুরোধকৃত ভূমিকার জন্য অপর্যাপ্ত হয় (এটি কলের জন্য একটি সাধারণ ন্যূনতম API লেভেলের প্রয়োজনীয়তার অতিরিক্ত হতে পারে)। {@code Role.RoleType.DEVICE_POLICY_CONTROLLER} এর জন্য API লেভেল 23 বা তার উপরে প্রয়োজন। অন্য যেকোনো ভূমিকার জন্য API লেভেল 28 বা তার উপরে প্রয়োজন।

পরিবেশ-অ্যাসিঙ্ক পান

fun getEnvironmentAsync(request: GetEnvironmentRequest): ListenableFuture<Environment>

Environment ফেরত দেয়। এটি কলারকে জানতে সাহায্য করে যে পরিবেশ প্রস্তুত কিনা।

রিটার্নস
ListenableFuture < Environment >

একটি ListenableFuture ফলাফলটি মোড়ানো। এটি হতে পারে:

  • সফল হলে, একটি Environment মোড়ানো একটি সফল ভবিষ্যৎ।

  • যদি অনুরোধকৃত ভূমিকাগুলি বৈধ না হয়, তাহলে ভবিষ্যতে একটি InvalidArgumentException মোড়ানো ব্যর্থ হবে।

  • একটি ব্যর্থ ভবিষ্যতের InternalException র‍্যাপিং, যদি একটি অভ্যন্তরীণ ত্রুটির কারণে কল ব্যর্থ হয়।

থ্রো
com.google.android.managementapi.common.exceptions.ApiLevelException

যদি ডিভাইসের SDK API লেভেল নির্দিষ্ট কিছু অনুরোধকৃত ভূমিকার জন্য অপর্যাপ্ত হয় (এটি কলের জন্য একটি সাধারণ ন্যূনতম API লেভেলের প্রয়োজনীয়তার অতিরিক্ত হতে পারে)। {@code Role.RoleType.DEVICE_POLICY_CONTROLLER} এর জন্য API লেভেল 23 বা তার উপরে প্রয়োজন। অন্য যেকোনো ভূমিকার জন্য API লেভেল 28 বা তার উপরে প্রয়োজন।

পরিবেশ প্রস্তুত করুন

suspend fun prepareEnvironment(
    request: PrepareEnvironmentRequest,
    notificationServiceComponentName: ComponentName?
): PrepareEnvironmentResponse

অ্যান্ড্রয়েড ডিভাইস পলিসি অ্যাপটি ইনস্টল এবং প্রস্তুত আছে কিনা তা নিশ্চিত করে ডিভাইসটি প্রস্তুত করে।

আচরণটি প্রসঙ্গের উপর নির্ভর করে:

  • ডিভাইস ট্রাস্ট ফ্লো : যদি অ্যান্ড্রয়েড ডিভাইস পলিসি অ্যাপটি ইনস্টল না থাকে, তাহলে ব্যবহারকারীকে ইনস্টলেশনের জন্য অনুরোধ জানানো হবে। যদি অ্যাপটি ইতিমধ্যেই ইনস্টল করা থাকে, তাহলে এটি নীরবে আপডেট করা হবে।

  • ডিভাইস এনরোলমেন্ট ফ্লো: যদি ইতিমধ্যেই ইনস্টল না করা থাকে তবে Android ডিভাইস পলিসি অ্যাপটি নীরবে ইনস্টল করে এবং ব্যবহারকারীর ইন্টারঅ্যাকশন ছাড়াই এটি ব্যবহারের জন্য প্রস্তুত কিনা তা নিশ্চিত করে।

পরামিতি
notificationServiceComponentName: ComponentName ?

NotificationReceiverService সম্প্রসারিত পরিষেবার ComponentName । যদি দেওয়া থাকে, তাহলে এটি অবশ্যই কলিং অ্যাপের একটি বৈধ উপাদান হতে হবে এবং ম্যানিফেস্টে এক্সপোর্ট করা হবে। পরিবেশ প্রস্তুতি ইভেন্ট সম্পর্কে বিজ্ঞপ্তি পেতে, আপনাকে যা করতে হবে:

  1. আপনার অ্যাপে EnvironmentListener ইন্টারফেসটি প্রয়োগ করুন।

  2. প্রাপ্ত ঘটনাগুলি কীভাবে পরিচালনা করতে হবে তার একটি বাস্তবায়ন প্রদান করুন।

  3. NotificationReceiverService প্রসারিত করুন এবং একটি EnvironmentListener ইনস্ট্যান্স প্রদান করুন।

  4. আপনার AndroidManifest.xml-এ বর্ধিত NotificationReceiverService ক্লাসটি যোগ করুন এবং নিশ্চিত করুন যে এটি রপ্তানি করা হয়েছে।

উদাহরণস্বরূপ:

class MyEnvironmentListener : EnvironmentListener {
override fun onEnvironmentEvent(event: EnvironmentEvent) {
// Handle the environment event.
}
}

class MyNotificationReceiverService : NotificationReceiverService() {
override fun getPrepareEnvironmentListener(): EnvironmentListener? {
return MyEnvironmentListener()
}
}
রিটার্নস
PrepareEnvironmentResponse

পরিবেশ প্রস্তুতির চূড়ান্ত অবস্থা সম্পর্কে বিস্তারিত তথ্য সম্বলিত PrepareEnvironmentResponse

থ্রো
com.google.android.managementapi.common.exceptions.InvalidArgumentException

যদি:

  • [notificationServiceComponentName] কলিং অ্যাপের সাথে সম্পর্কিত একটি বৈধ উপাদান নয় অথবা ম্যানিফেস্টে রপ্তানি করা হয়নি।
  • অনুরোধকৃত ভূমিকাগুলির মধ্যে রয়েছে {@code Role.RoleType.DEVICE_POLICY_CONTROLLER} এবং {@code com.google.android.managementapi.environment.model.PrepareEnvironmentRequest.admin} প্রদান করা হয়নি অথবা {@code android.app.admin.DeviceAdminReceiver} প্রসারিত করে না।
  • অনুরোধ করা ভূমিকাগুলি বৈধ নয়।
java.lang.SecurityException

যদি কলকারী এই API-তে কল করার জন্য অনুমোদিত না হন।

com.google.android.managementapi.environment.GooglePlayServicesAppNotUpdatedException

যদি গুগল প্লে সার্ভিসেস আপ-টু-ডেট না থাকে।

com.google.android.managementapi.environment.AndroidDevicePolicyInstallOrUpdateUnrecoverableException

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

com.google.android.managementapi.environment.AndroidDevicePolicyInstallOrUpdateRecoverableException

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

com.google.android.managementapi.environment.AndroidDevicePolicyInstallConsentDeclinedException

যদি ব্যবহারকারী Android Device Policy অ্যাপ ইনস্টল করতে অস্বীকৃতি জানান।

com.google.android.managementapi.environment.AndroidDevicePolicyInstallConsentDismissedException

যদি ব্যবহারকারী ইনস্টলেশন সম্মতি স্ক্রিনটি খারিজ করে।

com.google.android.managementapi.common.exceptions.InternalException

যদি কোনও অভ্যন্তরীণ ত্রুটির কারণে কল ব্যর্থ হয়।

com.google.android.managementapi.environment.PlayStoreUpdateUnrecoverableException

যদি প্লে স্টোর আপডেট ব্যর্থ হয়।

com.google.android.managementapi.common.exceptions.ApiLevelException

যদি ডিভাইসের SDK API লেভেল নির্দিষ্ট কিছু অনুরোধকৃত ভূমিকার জন্য অপর্যাপ্ত হয় (এটি কলের জন্য একটি সাধারণ ন্যূনতম API লেভেলের প্রয়োজনীয়তার অতিরিক্ত হতে পারে)।{@code Role.RoleType.DEVICE_POLICY_CONTROLLER} এর জন্য API লেভেল 23 বা তার উপরে প্রয়োজন। অন্য যেকোনো ভূমিকার জন্য API লেভেল 28 বা তার উপরে প্রয়োজন।

পরিবেশ প্রস্তুত করুনঅ্যাসিঙ্ক

fun prepareEnvironmentAsync(
    request: PrepareEnvironmentRequest,
    notificationServiceComponentName: ComponentName?
): ListenableFuture<PrepareEnvironmentResponse>

অ্যান্ড্রয়েড ডিভাইস পলিসি অ্যাপটি ইনস্টল এবং প্রস্তুত আছে কিনা তা নিশ্চিত করে ডিভাইসটি প্রস্তুত করে।

আচরণটি প্রসঙ্গের উপর নির্ভর করে:

  • ডিভাইস ট্রাস্ট ফ্লো : যদি অ্যান্ড্রয়েড ডিভাইস পলিসি অ্যাপটি ইনস্টল না থাকে, তাহলে ব্যবহারকারীকে ইনস্টলেশনের জন্য অনুরোধ জানানো হবে। যদি অ্যাপটি ইতিমধ্যেই ইনস্টল করা থাকে, তাহলে এটি নীরবে আপডেট করা হবে।

  • ডিভাইস এনরোলমেন্ট ফ্লো: যদি ইতিমধ্যেই ইনস্টল না করা থাকে তবে Android ডিভাইস পলিসি অ্যাপটি নীরবে ইনস্টল করে এবং ব্যবহারকারীর ইন্টারঅ্যাকশন ছাড়াই এটি ব্যবহারের জন্য প্রস্তুত কিনা তা নিশ্চিত করে।

পরামিতি
notificationServiceComponentName: ComponentName ?

NotificationReceiverService সম্প্রসারিত পরিষেবার ComponentName । যদি দেওয়া থাকে, তাহলে এটি অবশ্যই কলিং অ্যাপের একটি বৈধ উপাদান হতে হবে এবং ম্যানিফেস্টে এক্সপোর্ট করা হবে। পরিবেশ প্রস্তুতি ইভেন্ট সম্পর্কে বিজ্ঞপ্তি পেতে, আপনাকে যা করতে হবে:

  1. আপনার অ্যাপে EnvironmentListener ইন্টারফেসটি প্রয়োগ করুন।

  2. প্রাপ্ত ঘটনাগুলি কীভাবে পরিচালনা করতে হবে তার একটি বাস্তবায়ন প্রদান করুন।

  3. NotificationReceiverService প্রসারিত করুন এবং একটি EnvironmentListener ইনস্ট্যান্স প্রদান করুন।

  4. আপনার AndroidManifest.xml-এ বর্ধিত NotificationReceiverService ক্লাসটি যোগ করুন এবং নিশ্চিত করুন যে এটি রপ্তানি করা হয়েছে।

উদাহরণস্বরূপ:

class MyEnvironmentListener : EnvironmentListener {
override fun onEnvironmentEvent(event: EnvironmentEvent) {
// Handle the environment event.
}
}

class MyNotificationReceiverService : NotificationReceiverService() {
override fun getPrepareEnvironmentListener(): EnvironmentListener? {
return MyEnvironmentListener()
}
}
রিটার্নস
ListenableFuture < PrepareEnvironmentResponse >

একটি ListenableFuture ফলাফলটি মোড়ানো। এটি হতে পারে

  • পরিবেশ প্রস্তুতির চূড়ান্ত অবস্থা সম্পর্কে বিশদ সম্বলিত একটি PrepareEnvironmentResponse সফলভাবে সম্পন্ন করার একটি ভবিষ্যৎ।

  • একটি ব্যর্থ ভবিষ্যতের মোড়ক একটি InvalidArgumentException যদি:

    • [notificationServiceComponentName] কলিং অ্যাপের সাথে সম্পর্কিত একটি বৈধ উপাদান নয় অথবা ম্যানিফেস্টে রপ্তানি করা হয়নি।
    • অনুরোধ করা ভূমিকাগুলি বৈধ নয়।
    • অনুরোধকৃত ভূমিকাগুলির মধ্যে রয়েছে {@code Role.RoleType.DEVICE_POLICY_CONTROLLER} এবং {@code com.google.android.managementapi.environment.model.PrepareEnvironmentRequest.admin} প্রদান করা হয়নি অথবা {@code android.app.admin.DeviceAdminReceiver} প্রসারিত করে না।
  • যদি কলার এই API কল করার জন্য অনুমোদিত না হন, তাহলে ভবিষ্যতে SecurityException র‍্যাপ করা ব্যর্থ হবে।

  • যদি Google Play Services আপ-টু-ডেট না থাকে, তাহলে ভবিষ্যতে GooglePlayServicesAppNotUpdatedException মোড়ানো ব্যর্থ হবে।

  • যদি Android Device Policy ইনস্টল বা আপডেট করতে ব্যর্থ হয় এবং ত্রুটিটি পুনরুদ্ধার করা সম্ভব না হয়, তাহলে ভবিষ্যতে AndroidDevicePolicyInstallOrUpdateUnrecoverableException মোড়ানো ব্যর্থ হবে।

  • যদি Android Device Policy অ্যাপটি ইনস্টল বা আপডেট করতে ব্যর্থ হয় এবং ত্রুটিটি পুনরুদ্ধারযোগ্য হয় (যেমন ক্ষণস্থায়ী নেটওয়ার্ক সমস্যার কারণে অনুরোধ ব্যর্থ হয়েছে), তাহলে ভবিষ্যতে AndroidDevicePolicyInstallOrUpdateRecoverableException মোড়ানো ব্যর্থ হবে, তাই অনুরোধটি পুনরায় চেষ্টা করা যেতে পারে।

  • ব্যবহারকারী যদি Android Device Policy অ্যাপ ইনস্টল করতে অস্বীকৃতি জানান, তাহলে ভবিষ্যতে AndroidDevicePolicyInstallConsentDeclinedException মোড়ানো ব্যর্থ হবে।

  • ব্যবহারকারী যদি ইনস্টলেশন সম্মতি স্ক্রিনটি খারিজ করে দেন, তাহলে ভবিষ্যতে AndroidDevicePolicyInstallConsentDismissedException মোড়ানো ব্যর্থ হবে।

  • একটি ব্যর্থ ভবিষ্যতের InternalException র‍্যাপিং, যদি একটি অভ্যন্তরীণ ত্রুটির কারণে কল ব্যর্থ হয়।

  • প্লে স্টোর আপডেট ব্যর্থ হলে ভবিষ্যতে PlayStoreUpdateUnrecoverableException মোড়ানো ব্যর্থ হবে।

থ্রো
com.google.android.managementapi.common.exceptions.ApiLevelException

যদি ডিভাইসের SDK API লেভেল নির্দিষ্ট কিছু অনুরোধকৃত ভূমিকার জন্য পর্যাপ্ত না হয়। {@code Role.RoleType.DEVICE_POLICY_CONTROLLER} এর জন্য API লেভেল ২৩ বা তার উপরে প্রয়োজন। অন্য যেকোনো ভূমিকার জন্য API লেভেল ২৮ বা তার উপরে প্রয়োজন।