AccountSetupClient

interface AccountSetupClient


برنامج العميل لإدارة عملية إعداد حساب مُدار على الجهاز

متطلبات دمج مراحل النشاط: للتعامل بشكل صحيح مع عمليات معاودة الاتصال بالنتائج التي تتطلّبها عمليات مثل launchAuthenticationActivity، يعتمد هذا العميل على واجهات برمجة التطبيقات الخاصة بنتائج الأنشطة في AndroidX. على المتصل دمج هذا العميل مع مراحل نشاط مكوّن Android (نشاط أو جزء) من خلال:

  1. استرداد المراقب باستخدام getLifecycleObserver

  2. تسجيل هذا المراقب باستخدام Lifecycle للنشاط أو الجزء المضيف، عادةً في onCreate (على سبيل المثال، lifecycle.addObserver(client.lifecycleObserver)).

إشعارات الحالة: لتلقّي إشعارات بشأن تغييرات حالة إعداد الحساب غير المتزامن، يجب أن يستوفي تطبيق الاتصال الشروط التالية:

  1. تنفيذ واجهة AccountSetupListener

  2. قدِّم عملية تنفيذ للتعامل مع إشعارات الحالة التي تم تلقّيها.

  3. وسِّع NotificationReceiverService وقدِّم مثيلاً من AccountSetupListener.

  4. أضِف فئة NotificationReceiverService الموسّعة إلى ملف AndroidManifest.xml وتأكَّد من تصديرها.

استخدِم AccountSetupClientFactory لإنشاء مثيل لهذا العميل.

ملخّص

الوظائف العامة

suspend AccountSetupAttempt
cancelAccountSetupAttempt(
    cancelAccountSetupAttemptRequest: CancelAccountSetupAttemptRequest
)

تلغي هذه الطريقة محاولة إنشاء الحساب المحدّدة.

ListenableFuture<AccountSetupAttempt>
cancelAccountSetupAttemptFuture(
    cancelAccountSetupAttemptRequest: CancelAccountSetupAttemptRequest
)

تلغي هذه الطريقة محاولة إنشاء الحساب المحدّدة.

suspend AccountSetupAttempt
launchAuthenticationActivity(
    launchAuthenticationActivityRequest: LaunchAuthenticationActivityRequest
)

يتم تشغيل نشاط Minute Maid لمصادقة المستخدم، أو أداة اختيار الحساب إذا كان الحساب متوفّرًا على الجهاز.

ListenableFuture<AccountSetupAttempt>
launchAuthenticationActivityFuture(
    launchAuthenticationActivityRequest: LaunchAuthenticationActivityRequest
)

يتم تشغيل نشاط Minute Maid لمصادقة المستخدم، أو أداة اختيار الحساب إذا كان الحساب متوفّرًا على الجهاز.

suspend List<AccountSetupAttempt>

تعرض هذه السمة جميع محاولات إعداد الحساب.

ListenableFuture<List<AccountSetupAttempt>>

تعرض هذه السمة جميع محاولات إعداد الحساب.

suspend AccountSetupAttempt
startAccountSetup(startAccountSetupRequest: StartAccountSetupRequest)

يبدأ عملية إعداد الحساب.

ListenableFuture<AccountSetupAttempt>
startAccountSetupFuture(
    startAccountSetupRequest: StartAccountSetupRequest
)

يبدأ عملية إعداد الحساب.

السمات العامة

LifecycleObserver

LifecycleObserver الذي يتعامل مع الإعدادات التي تعتمد على مراحل النشاط لهذا العميل.

الوظائف العامة

cancelAccountSetupAttempt

suspend fun cancelAccountSetupAttempt(
    cancelAccountSetupAttemptRequest: CancelAccountSetupAttemptRequest
): AccountSetupAttempt

تلغي هذه الطريقة محاولة إنشاء الحساب المحدّدة.

المعلمات
cancelAccountSetupAttemptRequest: CancelAccountSetupAttemptRequest

طلب إلغاء محاولة إعداد الحساب

المرتجعات
AccountSetupAttempt

محاولة إعداد الحساب المعدَّل

cancelAccountSetupAttemptFuture

fun cancelAccountSetupAttemptFuture(
    cancelAccountSetupAttemptRequest: CancelAccountSetupAttemptRequest
): ListenableFuture<AccountSetupAttempt>

تلغي هذه الطريقة محاولة إنشاء الحساب المحدّدة.

المعلمات
cancelAccountSetupAttemptRequest: CancelAccountSetupAttemptRequest

طلب إلغاء محاولة إعداد الحساب

المرتجعات
ListenableFuture<AccountSetupAttempt>

ListenableFuture يلتف حول النتيجة. يمكن أن يكون ذلك

  • قيمة مستقبلية ناجحة تتضمّن محاولة تعديل إعدادات الحساب.

  • قيمة مستقبلية غير ناجحة إذا لم يتم العثور على محاولة إعداد الحساب أو إذا كانت المحاولة في حالة نهائية (خطأ أو نجاح).

launchAuthenticationActivity

suspend fun launchAuthenticationActivity(
    launchAuthenticationActivityRequest: LaunchAuthenticationActivityRequest
): AccountSetupAttempt

يتم تشغيل نشاط Minute Maid لمصادقة المستخدم، أو أداة اختيار الحساب إذا كان الحساب متوفّرًا على الجهاز.

المعلمات
launchAuthenticationActivityRequest: LaunchAuthenticationActivityRequest

طلب تشغيل نشاط المصادقة يجب أن يتضمّن الطلب محاولة إعداد حساب في الحالة AUTHENTICATION_ACTIVITY_LAUNCH_REQUIRED_INFORMATION.

عمليات الطرح
java.lang.SecurityException

إذا لم يكن المتصل مالك الجهاز أو مالك الملف الشخصي

com.google.android.managementapi.accountsetup.AccountSetupInvalidStateException

إذا لم تكن محاولة إعداد الحساب في حالة AUTHENTICATION_ACTIVITY_LAUNCH_REQUIRED_INFORMATION.

launchAuthenticationActivityFuture

fun launchAuthenticationActivityFuture(
    launchAuthenticationActivityRequest: LaunchAuthenticationActivityRequest
): ListenableFuture<AccountSetupAttempt>

يتم تشغيل نشاط Minute Maid لمصادقة المستخدم، أو أداة اختيار الحساب إذا كان الحساب متوفّرًا على الجهاز.

المعلمات
launchAuthenticationActivityRequest: LaunchAuthenticationActivityRequest

طلب تشغيل نشاط المصادقة يجب أن يتضمّن الطلب محاولة إعداد حساب في الحالة AUTHENTICATION_ACTIVITY_LAUNCH_REQUIRED_INFORMATION.

المرتجعات
ListenableFuture<AccountSetupAttempt>

ListenableFuture يلتف حول النتيجة. يمكن أن يكون ذلك

  • تمثّل هذه السمة عملية مستقبلية ناجحة لتضمين محاولة إعداد حساب في الحالة IN_PROGRESS، وذلك في حال النجاح.

  • يتم عرض قيمة غير صالحة في المستقبل عند تضمين SecurityException، إذا لم يكن المتصل مالك جهاز أو مالك ملف شخصي.

  • يحدث هذا الخطأ عند تعذُّر إكمال عملية إعداد الحساب، إذا لم تكن محاولة الإعداد في حالة AUTHENTICATION_ACTIVITY_LAUNCH_REQUIRED_INFORMATION.AccountSetupInvalidStateException

listAccountSetupAttempts

suspend fun listAccountSetupAttempts(): List<AccountSetupAttempt>

تعرض هذه السمة جميع محاولات إعداد الحساب. يتم عرض آخر 20 محاولة لإعداد الحساب فقط.

المرتجعات
List<AccountSetupAttempt>

قائمة بجميع محاولات إعداد الحساب

listAccountSetupAttemptsFuture

fun listAccountSetupAttemptsFuture(): ListenableFuture<List<AccountSetupAttempt>>

تعرض هذه السمة جميع محاولات إعداد الحساب. يتم عرض آخر 20 محاولة لإعداد الحساب فقط.

المرتجعات
ListenableFuture<List<AccountSetupAttempt>>

ListenableFuture يلتف حول النتيجة.

startAccountSetup

suspend fun startAccountSetup(startAccountSetupRequest: StartAccountSetupRequest): AccountSetupAttempt

يبدأ عملية إعداد الحساب.

ملاحظة: يفوّض هذا الإجراء نطاق android.app.admin.DevicePolicyManager.DELEGATION_APP_RESTRICTIONS إلى تطبيق "سياسة Android للأجهزة"، ما يسمح له بإدارة قيود التطبيقات نيابةً عن المشرف الذي ينفّذ الإجراء. بعد اكتمال عملية إعداد الحساب، ستتم إزالة نطاق التفويض هذا إلى تطبيق "سياسة Android للأجهزة".

المعلمات
startAccountSetupRequest: StartAccountSetupRequest

طلب بدء عملية إعداد الحساب

المرتجعات
AccountSetupAttempt

محاولة إعداد الحساب

عمليات الطرح
com.google.android.managementapi.environment.exception.EnvironmentNotReadyException

إذا لم تكن البيئة جاهزة.

com.google.android.managementapi.accountsetup.AccountSetupUnknownException

في حال حدوث خطأ غير معروف أثناء إعداد الحساب

com.google.android.managementapi.accountsetup.AccountSetupInvalidEnrollmentTokenException

إذا كان رمز التسجيل فارغًا أو لم يتم ضبطه في الطلب

com.google.android.managementapi.accountsetup.AccountSetupInvalidAdminComponentException

إذا لم يكن مكوّن DeviceAdminReceiver المشرف مشرفًا نشطًا على الجهاز

com.google.android.managementapi.accountsetup.AccountSetupInvalidNotificationReceiverComponentException

إذا لم يكن مكوّن تلقّي الإشعارات متوفّرًا على الجهاز

startAccountSetupFuture

fun startAccountSetupFuture(
    startAccountSetupRequest: StartAccountSetupRequest
): ListenableFuture<AccountSetupAttempt>

يبدأ عملية إعداد الحساب.

ملاحظة: يفوّض هذا الإجراء نطاق android.app.admin.DevicePolicyManager.DELEGATION_APP_RESTRICTIONS إلى تطبيق "سياسة Android للأجهزة"، ما يسمح له بإدارة قيود التطبيقات نيابةً عن المشرف الذي ينفّذ الإجراء. بعد اكتمال عملية إعداد الحساب، ستتم إزالة نطاق التفويض هذا إلى تطبيق "سياسة Android للأجهزة".

المعلمات
startAccountSetupRequest: StartAccountSetupRequest

طلب بدء عملية إعداد الحساب

المرتجعات
ListenableFuture<AccountSetupAttempt>

ListenableFuture يلتف حول النتيجة. يمكن أن يكون ذلك

السمات العامة

lifecycleObserver

val lifecycleObserverLifecycleObserver

LifecycleObserver الذي يتعامل مع الإعدادات التي تعتمد على مراحل النشاط لهذا العميل.

يجب تسجيل هذا المراقب باستخدام Lifecycle من النشاط أو الجزء الذي يستضيف مثيل العميل هذا (على سبيل المثال، lifecycle.addObserver(...) التي يتم استدعاؤها عادةً في onCreate للمضيف).

يتيح تسجيل هذا المراقب للعميل تهيئة المكوّنات الداخلية بشكل صحيح، لا سيما androidx.activity.result.ActivityResultLauncher اللازمة لمعالجة نتيجة launchAuthenticationActivity. سيؤدي عدم تسجيل هذا المراقب إلى حدوث أخطاء عند محاولة بدء نشاط المصادقة.