DpcMigrationClient

public interface DpcMigrationClient


يجب أن يقدّم العميل طلبات متعلقة بنقل البيانات إلى "سياسة خصوصية المطوّرين".

ملخّص

الإجراءات العامة

abstract @NonNull ListenableFuture<DpcMigrationAttempt>
getMigrationAttempt(
    @NonNull GetDpcMigrationAttemptRequest getMigrationAttemptRequest
)

تعرض هذه الطريقة محاولة نقل بيانات.

abstract DpcMigrationAttempt
getMigrationAttemptAwait(
    @NonNull GetDpcMigrationAttemptRequest getMigrationAttemptRequest
)

تعرض هذه الطريقة محاولة نقل بيانات.

abstract @NonNull ListenableFuture<@NonNull List<@NonNull DpcMigrationAttempt>>

تعرض هذه الطريقة قائمة بجميع محاولات النقل.

abstract @NonNull List<@NonNull DpcMigrationAttempt>

تعرض هذه الطريقة قائمة بجميع محاولات النقل.

abstract @NonNull ListenableFuture<@NonNull DpcMigrationAttempt>
migrateDeviceManagementToAndroidManagementApi(
    @NonNull ComponentName notificationServiceComponentName,
    @NonNull ComponentName adminComponentName,
    @NonNull DpcMigrationRequest migrationRequest
)

نقل هذا الجهاز ليتم إدارته من خلال Android Management API

abstract @NonNull DpcMigrationAttempt
migrateDeviceManagementToAndroidManagementApiAwait(
    @NonNull ComponentName notificationServiceComponentName,
    @NonNull ComponentName adminComponentName,
    @NonNull DpcMigrationRequest migrationRequest
)

نقل هذا الجهاز ليتم إدارته من خلال Android Management API

الإجراءات العامة

getMigrationAttempt

abstract @NonNull ListenableFuture<DpcMigrationAttempt> getMigrationAttempt(
    @NonNull GetDpcMigrationAttemptRequest getMigrationAttemptRequest
)

تعرض هذه الطريقة محاولة نقل بيانات.

إذا لم يتم تحديد اسم في GetDpcMigrationAttemptRequest، سيتم عرض أحدث DpcMigrationAttempt.

لا يمكن استدعاء هذه الطريقة إلا من خلال "مالك الجهاز" أو "مالك الملف الشخصي" أو "مالك الجهاز" أو "مالك الملف الشخصي" السابق الذي تمّت نقل بياناته إلى Android Management API.

المرتجعات
@NonNull ListenableFuture<DpcMigrationAttempt>

ListenableFuture يغلّف النتيجة. يمكن أن يكون:

  • تمثّل هذه السمة عملية التفاف ناجحة حول DpcMigrationAttempt، في حال النجاح.

  • قيمة فارغة لعملية التفاف ناجحة في المستقبل، في حال عدم العثور على DpcMigrationAttempt.

  • قيمة مستقبلية فاشلة تتضمّن SecurityException، في حال لم يكن المتصل مالك الجهاز أو مالك الملف الشخصي، أو كان مالك جهاز أو مالك ملف شخصي سابقًا تم نقل بياناته إلى Android Management API.

  • حالة تعذُّر إكمال عملية نقل البيانات في المستقبل DpcMigrationException في حال تعذُّر إجراء مكالمة متعلقة بنقل البيانات في "سياسات بيانات الجهاز" تحتوي الرسالة والنوع الفرعي للاستثناء على مزيد من التفاصيل حول الخطأ.

getMigrationAttemptAwait

abstract DpcMigrationAttempt getMigrationAttemptAwait(
    @NonNull GetDpcMigrationAttemptRequest getMigrationAttemptRequest
)

تعرض هذه الطريقة محاولة نقل بيانات.

إذا لم يتم تحديد اسم في GetDpcMigrationAttemptRequest، سيتم عرض أحدث DpcMigrationAttempt.

لا يمكن استدعاء هذه الطريقة إلا من خلال "مالك الجهاز" أو "مالك الملف الشخصي" أو "مالك الجهاز" أو "مالك الملف الشخصي" السابق الذي تمّت نقل بياناته إلى Android Management API.

المرتجعات
DpcMigrationAttempt

DpcMigrationAttempt المطلوب أو قيمة فارغة إذا تعذّر العثور عليه

عمليات الطرح
SecurityException

إذا لم يكن المتصل "مالك الجهاز" أو "مالك الملف الشخصي" أو "مالك الجهاز" أو "مالك الملف الشخصي" السابق الذي تم نقل بياناته إلى Android Management API

DpcMigrationException

في حال تعذّر إجراء مكالمة متعلقة بنقل البيانات إلى ملف شخصي للعمل تحتوي الرسالة والنوع الفرعي للاستثناء على مزيد من التفاصيل حول الخطأ.

listMigrationAttempts

abstract @NonNull ListenableFuture<@NonNull List<@NonNull DpcMigrationAttempt>> listMigrationAttempts()

تعرض هذه الطريقة قائمة بجميع محاولات النقل.

لا يمكن استدعاء هذه الطريقة إلا من خلال "مالك الجهاز" أو "مالك الملف الشخصي" أو "مالك الجهاز" أو "مالك الملف الشخصي" السابق الذي تمّت نقل بياناته إلى Android Management API. ملاحظة: يتم حذف محاولات النقل القديمة تلقائيًا ولا يتم إرجاعها.

المرتجعات
@NonNull ListenableFuture<@NonNull List<@NonNull DpcMigrationAttempt>>

ListenableFuture يغلّف النتيجة. يمكن أن يكون:

  • تمثّل هذه السمة قيمة مستقبلية ناجحة تتضمّن قائمة DpcMigrationAttempt، في حال النجاح.

  • قيمة مستقبلية فاشلة تتضمّن SecurityException، في حال لم يكن المتصل مالك الجهاز أو مالك الملف الشخصي، أو كان مالك جهاز أو مالك ملف شخصي سابقًا تم نقل بياناته إلى Android Management API.

  • حالة تعذُّر إكمال عملية نقل البيانات في المستقبل DpcMigrationException في حال تعذُّر إجراء مكالمة متعلقة بنقل البيانات في "سياسات بيانات الجهاز" تحتوي الرسالة والنوع الفرعي للاستثناء على مزيد من التفاصيل حول الخطأ.

listMigrationAttemptsAwait

abstract @NonNull List<@NonNull DpcMigrationAttempt> listMigrationAttemptsAwait()

تعرض هذه الطريقة قائمة بجميع محاولات النقل.

لا يمكن استدعاء هذه الطريقة إلا من خلال "مالك الجهاز" أو "مالك الملف الشخصي" أو "مالك الجهاز" أو "مالك الملف الشخصي" السابق الذي تمّت نقل بياناته إلى Android Management API. ملاحظة: يتم حذف محاولات النقل القديمة تلقائيًا ولا يتم إرجاعها.

المرتجعات
@NonNull List<@NonNull DpcMigrationAttempt>

قائمة DpcMigrationAttempt

عمليات الطرح
SecurityException

إذا لم يكن المتصل "مالك الجهاز" أو "مالك الملف الشخصي" أو "مالك الجهاز" أو "مالك الملف الشخصي" السابق الذي تم نقل بياناته إلى Android Management API

DpcMigrationException

في حال تعذّر إجراء مكالمة متعلقة بنقل البيانات إلى ملف شخصي للعمل تحتوي الرسالة والنوع الفرعي للاستثناء على مزيد من التفاصيل حول الخطأ.

migrateDeviceManagementToAndroidManagementApi

abstract @NonNull ListenableFuture<@NonNull DpcMigrationAttempt> migrateDeviceManagementToAndroidManagementApi(
    @NonNull ComponentName notificationServiceComponentName,
    @NonNull ComponentName adminComponentName,
    @NonNull DpcMigrationRequest migrationRequest
)

نقل هذا الجهاز ليتم إدارته من خلال Android Management API

بعد اكتمال عملية نقل البيانات، يفقد تطبيق الاتصال امتيازات "مالك الجهاز" أو "مالك الملف الشخصي"، لأنّ هذه الامتيازات يتم نقلها إلى تطبيق "سياسة Android للأجهزة".

تحذير: لا يمكن التراجع عن هذا الإجراء. يكتمل ListenableFuture الذي تم عرضه عند تلقّي تطبيق "سياسة أجهزة Android" للطلب وإكمال عمليات التحقّق الأولية من رمز النقل. في حال حدوث خطأ، سيتم تضمين Exception في ListenableFuture.

لا يمكن استدعاء هذه الطريقة إلا من خلال "مالك الجهاز" أو "مالك الملف الشخصي". في نظام التشغيل Android 10 والإصدارات الأقدم، يجب عدم استدعاء هذا الإجراء على جهاز يتضمّن كلاً من مالك الجهاز ومالك الملف الشخصي.

يجب تمرير شبكات Wi-Fi التي تم إعدادها في DpcMigrationRequest من خلال مالك الملف الشخصي (باستثناء الإصدار 12 من نظام التشغيل Android) على جهاز مملوك شخصيًا إذا تم إعداد أي شبكات Wi-Fi عليه. يجب عدم إدخالها على جهاز مملوك للشركة. يُرجى العلم أنّه ستتم إزالة شبكات Wi-Fi هذه قبل نقل إدارة الأجهزة إلى تطبيق "سياسة أمان Android". في حال تعذّر إزالة شبكة، ستتعذّر عملية النقل أيضًا، وبما أنّ إزالة الشبكات ليست عملية ذرية، قد تكون بعض الشبكات قد تمت إزالتها بالفعل.

على الأجهزة الشخصية التي تتضمّن ملف عمل يعمل بنظام التشغيل Android 12، ستتم إزالة جميع شبكات Wi-Fi التي تم ضبطها من خلال وحدة التحكّم في سياسة الجهاز (DPC) الخاصة بالمكالمات قبل نقل إدارة الجهاز إلى "سياسة أمان Android"، بغض النظر عن شبكات Wi-Fi التي تم إدخالها في migrationRequest.

المعلمات
@NonNull ComponentName notificationServiceComponentName

ComponentName الخدمة التي يتم تمديدها NotificationReceiverService يجب أن يكون مكوّنًا صالحًا تابعًا للتطبيق الذي يتم استدعاؤه، ويجب تصديره في البيان، وإلا سيتم عرض الخطأ IllegalArgumentException.

@NonNull ComponentName adminComponentName

ComponentName المشرف DeviceAdminReceiver لجهاز DPC الذي يجري المكالمة

@NonNull DpcMigrationRequest migrationRequest

DpcMigrationRequest الذي يحتوي على رمز نقل البيانات وشبكات Wi-Fi التي تم ضبطها ولا تكون هذه المعلومات مطلوبة إلا إذا كان المتصل هو مالك الملف الشخصي على جهاز مملوك شخصيًا وقد ضبط أي شبكات.

المرتجعات
@NonNull ListenableFuture<@NonNull DpcMigrationAttempt>

ListenableFuture يغلّف النتيجة. يمكن أن يكون:

  • تمثّل هذه السمة عملية التفاف ناجحة حول DpcMigrationAttempt، في حال النجاح.

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

  • سيتم عرض قيمة غير صالحة في المستقبل عند تضمين IllegalArgumentException، إذا كانت الرمز المميز لنقل البيانات فارغًا، أو إذا لم يكن notificationServiceComponentName يشير إلى مكوّن صالح يوسّع NotificationReceiverService الذي تم تصديره في ملف البيان، أو إذا لم يكن adminComponentName مشرفًا نشطًا تابعًا للحزمة الحالية.

  • قيمة غير ناجحة في المستقبل تتضمّن DpcMigrationException، إذا تعذّر إجراء المكالمة ذات الصلة بنقل البيانات إلى "مسؤول سياسة الجهاز" تحتوي الرسالة والنوع الفرعي للاستثناء على مزيد من التفاصيل حول الخطأ.

migrateDeviceManagementToAndroidManagementApiAwait

abstract @NonNull DpcMigrationAttempt migrateDeviceManagementToAndroidManagementApiAwait(
    @NonNull ComponentName notificationServiceComponentName,
    @NonNull ComponentName adminComponentName,
    @NonNull DpcMigrationRequest migrationRequest
)

نقل هذا الجهاز ليتم إدارته من خلال Android Management API

بعد اكتمال عملية نقل البيانات، يفقد تطبيق الاتصال امتيازات "مالك الجهاز" أو "مالك الملف الشخصي"، لأنّ هذه الامتيازات يتم نقلها إلى تطبيق "سياسة Android للأجهزة".

تحذير: لا يمكن التراجع عن هذا الإجراء. تعرض هذه الدالة المعلقة عند استلام تطبيق "سياسة Android للأجهزة الجوّالة" للطلب وإكماله عمليات التحقّق الأولية من رمز النقل المميز. في حال حدوث خطأ، سيتم عرض Exception.

لا يمكن استدعاء هذه الطريقة إلا من خلال "مالك الجهاز" أو "مالك الملف الشخصي". في نظام التشغيل Android 10 والإصدارات الأقدم، يجب عدم استدعاء هذا الإجراء على جهاز يتضمّن كلاً من مالك الجهاز ومالك الملف الشخصي.

يجب تمرير شبكات Wi-Fi التي تم إعدادها في DpcMigrationRequest من خلال مالك الملف الشخصي (باستثناء الإصدار 12 من نظام التشغيل Android) على جهاز مملوك شخصيًا إذا تم إعداد أي شبكات Wi-Fi عليه. يجب عدم إدخالها على جهاز مملوك للشركة. يُرجى العلم أنّه ستتم إزالة شبكات Wi-Fi هذه قبل نقل إدارة الأجهزة إلى تطبيق "سياسة أمان Android". في حال تعذّر إزالة شبكة، ستتعذّر عملية النقل أيضًا، وبما أنّ إزالة الشبكات ليست عملية ذرية، قد تكون بعض الشبكات قد تمت إزالتها بالفعل.

على الأجهزة الشخصية التي تتضمّن ملف عمل يعمل بنظام التشغيل Android 12، ستتم إزالة جميع شبكات Wi-Fi التي تم ضبطها من خلال وحدة التحكّم في سياسة الجهاز (DPC) الخاصة بالمكالمات قبل نقل إدارة الجهاز إلى "سياسة أمان Android"، بغض النظر عن شبكات Wi-Fi التي تم إدخالها في migrationRequest.

المعلمات
@NonNull ComponentName notificationServiceComponentName

ComponentName الخدمة التي يتم تمديدها NotificationReceiverService يجب أن يكون مكوّنًا صالحًا تابعًا للتطبيق الذي يتم استدعاؤه، ويجب تصديره في البيان، وإلا سيتم عرض الخطأ IllegalArgumentException.

@NonNull ComponentName adminComponentName

ComponentName المشرف DeviceAdminReceiver لجهاز DPC الذي يجري المكالمة

@NonNull DpcMigrationRequest migrationRequest

DpcMigrationRequest الذي يحتوي على رمز نقل البيانات وشبكات Wi-Fi التي تم ضبطها ولا تكون هذه المعلومات مطلوبة إلا إذا كان المتصل هو مالك الملف الشخصي على جهاز مملوك شخصيًا وقد ضبط أي شبكات.

المرتجعات
@NonNull DpcMigrationAttempt

DpcMigrationException مع الحالة الحالية لعملية نقل البيانات في حال نجاحها.

عمليات الطرح
SecurityException

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

IllegalArgumentException

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

DpcMigrationException

في حال تعذّر إجراء مكالمة متعلقة بنقل البيانات إلى ملف شخصي للعمل تحتوي الرسالة والنوع الفرعي للاستثناء على مزيد من التفاصيل حول الخطأ.