دستگاه های تامین کننده

راه های مختلفی برای تهیه دستگاه ها وجود دارد. الزامات تجاری مشتریان شما تعیین می کند که شما می خواهید از کدام روش های تامین استفاده کنید.

اصول تهیه دستگاه

سناریوهای استقرار تأمین‌کننده دستگاه که مشتریان شما می‌خواهند از آن‌ها پشتیبانی کنند (مانند BYOD یا متعلق به شرکت) حالت‌های عملکردی را که استفاده می‌کنید (مانند حالت مالک دستگاه یا حالت مالک نمایه) تعیین می‌کنند. به طور مشابه، حالت‌های عملکرد و نسخه‌های اندرویدی که برای پشتیبانی نیاز دارید، تعیین می‌کنند که کدام روش‌های تامین را اجرا می‌کنید.

سناریوهای استقرار

در یک سناریوی استقرار متعلق به شرکت ، شرکت مالک دستگاه‌هایی است که کارکنانش از آن استفاده می‌کنند و کاملاً کنترل می‌کند. به طور معمول، سازمان ها زمانی که نیاز به نظارت دقیق و مدیریت کل دستگاه دارند، دستگاه های متعلق به شرکت را مستقر می کنند.

شرکت هایی که از سناریوی استقرار BYOD پشتیبانی می کنند به کارمندان خود اجازه می دهند دستگاه های شخصی را به محل کار بیاورند و از آن دستگاه ها برای دسترسی به اطلاعات و برنامه های کاربردی ممتاز شرکت استفاده کنند.

حالت های عملکرد

استقرارهای متعلق به شرکت توسط حالت عملکرد مالک دستگاه پشتیبانی می شود. در اندروید، برنامه مدیریتی شما، کنترل کننده سیاست دستگاه (DPC) نامیده می شود. DPC خط‌مشی‌هایی را روی دستگاه‌های مجهز به Android اعمال می‌کند و وقتی به عنوان مالک دستگاه عمل می‌کند، کل دستگاه را مدیریت می‌کند. به عنوان مالک دستگاه، DPC می‌تواند اقداماتی را در سراسر دستگاه انجام دهد، مانند پیکربندی اتصال در سراسر دستگاه، پیکربندی تنظیمات کلی، و بازنشانی کارخانه‌ای.

استقرار BYOD توسط حالت عملکرد مالک نمایه پشتیبانی می شود. از طریق DPC، شرکت با افزودن یک نمایه کاری به حساب کاربری اصلی دستگاه، دستگاه های شخصی را برای استفاده در کار فعال می کند. نمایه کاری با کاربر اصلی مرتبط است، اما به عنوان یک نمایه جداگانه. به عنوان مالک نمایه، DPC فقط نمایه کاری دستگاه را مدیریت می کند و کنترل محدودی خارج از نمایه کاری دارد.

روش های تامین مالک دستگاه

شما باید حالت عملکرد مالک دستگاه را در طول راه اندازی اولیه یک دستگاه جدید یا پس از بازنشانی کارخانه ای ارائه دهید. حالت مالک دستگاه را نمی توان در هر زمان دیگری در دستگاهی ارائه کرد.

بسته به مورد استفاده، 2 نوع اصلی روش تامین برای تهیه حالت مالک دستگاه وجود دارد.

  • در یک جریان مبتنی بر دستگاه ، مدیران فناوری اطلاعات می توانند از NFC برای ارائه تعداد زیادی دستگاه استفاده کنند. این جریان را می توان برای حساب مدیریت شده Google Play یا سناریوهای Google Workspace استفاده کرد.
  • در یک جریان کاربر محور ، گزینه ها به این بستگی دارد که آیا سازمان از Google Workspace استفاده می کند یا خیر.
    • در سناریوی Google Workspace، کاربر حساب Google خود را در طول راه‌اندازی اولیه دستگاه اضافه می‌کند و DPC باید کاربر را از طریق مراحل تنظیم مالک دستگاه راهنمایی کند. یک جریان کاربر محور می تواند به کاربران نهایی کمک کند دستگاه های جدید را راه اندازی کنند و همچنین زمانی که دستگاه ها از NFC پشتیبانی نمی کنند، جایگزینی است.
    • وقتی سازمانی از Google Workspace استفاده نمی‌کند، باید از روش حساب‌های Google Play مدیریت‌شده استفاده کنید.

توجه: اگر توزیع برنامه خود را به کشورهای خاصی در Play محدود کنید، این محدودیت‌ها در هنگام تهیه مالک دستگاه نادیده گرفته می‌شوند. DPC حتی اگر دستگاه در کشور مورد نظر نباشد دانلود می شود.

روش های تامین مالک نمایه

روش توصیه شده برای ارائه حالت عملکرد مالک نمایه به این بستگی دارد که آیا سازمان از Google Workspace استفاده می کند یا خیر.

  • در مورد Google Workspace، روش پیشنهادی یک جریان مبتنی بر کاربر است که در آن کاربر حساب Google کاربر خود را اضافه می‌کند و DPC کاربر را از طریق مراحل تنظیم مالک نمایه راهنمایی می‌کند.
  • وقتی سازمانی از Google Workspace استفاده نمی‌کند، روش پیشنهادی روش حساب‌های Google Play مدیریت‌شده است.

روش سنتی، که در آن به کاربر دستور داده می‌شود DPC را به صورت دستی نصب کند ، نیز پشتیبانی می‌شود. این به کاربر متکی است که DPC شما را از Google Play دانلود کرده و آن را نصب کند، و سپس DPC کاربر را در بقیه مراحل راهنمایی می کند تا مالک نمایه را تنظیم کند.

تفاوت های کلیدی ارائه در نسخه های اندروید

سناریوی استقرار حالت کار روش تامین 5.0، 5.1 6.0 7.0 8.0 11 12+
متعلق به شرکت صاحب دستگاه کد QR
حساب‌های Google Play مدیریت شده
حساب گوگل
NFC
لمس صفر
متعلق به شرکت مالک نمایه کد QR
حساب‌های Google Play مدیریت شده
حساب گوگل
NFC
لمس صفر
BYOD مالک نمایه حساب‌های Google Play مدیریت شده
حساب گوگل 5.1 1
نصب دستی DPC
لمس صفر

ملاحظات اجرای عمومی

در اینجا مواردی وجود دارد که باید هنگام نوشتن DPC خود در نظر بگیرید، صرف نظر از اینکه کدام حالت عملیاتی را اجرا می کنید.

سازگاری با خدمات Google Play

راهنمای APK خدمات Google Play به توسعه دهندگان دستور می دهد تا قبل از انجام تراکنش های API، نسخه خدمات Google Play را بررسی کنند. از آنجایی که تلاش برای به‌روزرسانی سرویس‌های Google Play باعث اختلالات جدی در فرآیند راه‌اندازی دستگاه می‌شود، DPC شما نباید قبل از تکمیل تهیه دستگاه، اقدام به به‌روزرسانی خدمات Google Play کند.

نکات کلیدی در مورد سازگاری DPC با خدمات Google Play عبارتند از:

  • DPC باید با استفاده از سرویس‌های Google Play که با دستگاه خاصی ارسال شده است اجرا شود.
  • DPC نباید به ویژگی‌های جدید در نسخه‌های آتی سرویس‌های Google Play متکی باشد که در زمان تهیه دستگاه در دسترس هستند.

وقتی تهیه دستگاه کامل شد، DPC می‌تواند از کاربر بخواهد خدمات Google Play را به‌روزرسانی کند تا DPC بتواند از جدیدترین ویژگی‌ها استفاده کند. با این حال، اگر یک ویژگی به دلایلی در دسترس نباشد، DPC باید با ظرافت به نسخه‌ای که همراه دستگاه ارسال شده است برگردد.

جزئیات دستگاه را بازیابی کنید

به دلیل تأخیر در انتشار، ممکن است تا 2 دقیقه طول بکشد تا تماس با devices.get برای دستگاهی که به تازگی ثبت نام کرده است، جزئیات دستگاه را برمی گرداند.

اگر گردش کار شما قبل از اینکه کاربر نهایی بتواند از دستگاه یا نمایه کاری استفاده کند به جزئیات نیاز دارد، پیشنهاد می کنیم از صفحه پیشرفت در DPC خود استفاده کنید و منتظر بمانید تا تماس با موفقیت انجام شود.

ملاحظات پیاده سازی برای حالت مالک نمایه

در اینجا مواردی وجود دارد که هنگام نوشتن DPC خود برای اجرای حالت عملکرد مالک نمایه باید در نظر بگیرید.

DPC شخصی را حذف یا غیرفعال کنید

هنگام ارائه حالت عملکرد مالک نمایه، DPC شروع به اجرا در نمایه شخصی می کند و فرآیند ایجاد یک نمایه کاری را آغاز می کند. پس از ایجاد نمایه کاری، DPC نیز در داخل نمایه کاری اجرا می شود. DPC در نمایه کاری فرآیند تهیه را تکمیل می کند. در آن مرحله، DPC در نمایه شخصی باید خود را غیرفعال کند یا کاربر دستگاه باید آن را حذف کند.

کاربر DPC شخصی را حذف می کند

  1. DPC شخصی به ACTION_MANAGED_PROFILE_PROVISIONED گوش می دهد. (برای دستگاه‌های Android 5.1، DPC شخصی باید به ACTION_MANAGED_PROFILE_ADDED گوش دهد).
  2. DPC شخصی یک درخواست حذف نصب ACTION_UNINSTALL_PACKAGE را آغاز می کند. این از کاربر می خواهد تا DPC شخصی را حذف نصب کند. برای بهترین تجربه کاربری، فرآیند حذف نصب باید در جریان تهیه صورت گیرد.

DPC شخصی خودش را غیرفعال می کند

  1. DPC شخصی به ACTION_MANAGED_PROFILE_PROVISIONED گوش می دهد. (برای دستگاه‌های Android 5.1، DPC شخصی باید به ACTION_MANAGED_PROFILE_ADDED گوش دهد).
  2. در صورت وجود، DPC شخصی باید قبل از غیرفعال کردن خود، امتیازات سرپرست دستگاه را آزاد کند.
  3. DPC شخصی یک درخواست غیرفعال کردن setApplicationEnabledSetting با پارامتر COMPONENT_ENABLED_STATE_DISABLED آغاز می کند.
  4. کاربر می تواند DPC شخصی را از Google Play دوباره فعال کند.

ملاحظات پیاده سازی برای حالت مالک دستگاه

در اینجا مواردی وجود دارد که هنگام نوشتن DPC خود برای اجرای حالت عملکرد مالک دستگاه باید در نظر بگیرید.

دستگاه باید جدید باشد یا به تنظیمات کارخانه بازنشانی شود

شما باید حالت عملکرد مالک دستگاه را در طول راه اندازی اولیه یک دستگاه جدید یا پس از بازنشانی کارخانه ای ارائه دهید. حالت مالک دستگاه را نمی توان در هر زمان دیگری در دستگاهی ارائه کرد.

حالت مالک دستگاه به DPC کنترل کامل دستگاه را می دهد. اگر ارائه حالت مالک دستگاه پس از راه‌اندازی اولیه مجاز بود:

  • بدافزار به طور بالقوه می تواند مالک دستگاه ایجاد کند و دستگاه را تحت کنترل خود درآورد.
  • اگر قبلاً برخی از داده‌ها یا برنامه‌های کاربر در دستگاه وجود داشته باشد، ممکن است مشکلات حریم خصوصی ایجاد شود.

حالت مالک دستگاه را فقط در دستگاه‌های متعلق به شرکت تنظیم کنید

شما باید حالت مالک دستگاه را فقط در دستگاه‌هایی ارائه کنید که تشخیص می‌دهید متعلق به شرکت مشتری شما هستند. می‌توانید با شناسایی یک شناسه دستگاه منحصربه‌فرد (مانند شماره سریال)، یا با استفاده از مجموعه‌ای از حساب‌های اختصاصی که برای ثبت نام دستگاه از طریق خط‌مشی EMM شما مجاز هستند، این موضوع را تأیید کنید.

اگر نمی‌توانید مالکیت شرکتی دستگاهی را تأیید کنید، باید یک مکانیسم ایمنی برای خرابی ایجاد کنید تا حالت مالک دستگاه به اشتباه ارائه نشود. برای مثال، می‌توانید از کاربر دستگاه بخواهید قبل از ارائه حالت مالک دستگاه، تأیید کند یا اقدامات مثبتی انجام دهد.

فعال کردن برنامه های سیستم

وقتی DPC یک نمایه کاری ارائه می‌کند، هر برنامه‌ای سیستمی بدون نماد راه‌انداز برای دستگاه حیاتی فرض می‌شود و به‌طور خودکار اجازه اجرا در نمایه کاری را دارند. برنامه‌های سیستمی که دارای نمادهای راه‌انداز هستند، اختیاری در نظر گرفته می‌شوند و شما می‌توانید تصمیم بگیرید که آیا آنها را فعال کنید.

برنامه های سیستم را از طریق Google Play فعال کنید

کاربران می‌توانند برنامه‌های سیستمی را با استفاده از Google Play فعال کنند تا به‌روزرسانی‌های برنامه را دریافت کنند و به‌روزرسانی‌های برنامه را دریافت کنند.

برنامه های سیستم را با استفاده از APIهای فریمورک اندروید فعال کنید

اگر می‌خواهید کاربران به محض شروع استفاده از دستگاه‌های خود، برنامه‌های سیستم را ببینند، برنامه‌های سیستم را به عنوان بخشی از فرآیند تهیه دستگاه فعال کنید. DPC برنامه های سیستم را با نام بسته یا با استفاده از DevicePolicyManager.enableSystemApp() فعال می کند.

چند راه برای شناسایی برنامه‌های سیستمی وجود دارد که می‌خواهید فعال کنید و در کنسول EMM خود برای مدیران فناوری اطلاعات ارائه کنید.

ایجاد کاتالوگ برنامه های سیستمی

در این روش، هر دستگاه تعیین می‌کند که کدام اپلیکیشن‌ها روی دستگاه هستند و این داده‌ها را به کنسول EMM ارسال می‌کنند. کنسول EMM به صورت پویا این داده ها را هنگام ایجاد خط مشی دستگاه نمایش می دهد، که به سرپرست فناوری اطلاعات اجازه می دهد برنامه ها را بر اساس هر برنامه مدیریت کند.

  1. اگر نمایه کاری هنوز در دستگاه ارائه نشده است، با استفاده از queryIntentActivities() فهرستی از همه برنامه‌ها را با نمادهای راه‌انداز در دستگاه بکشید:

    private List<ResolveInfo> getAppsWithLauncher() {
      Intent i = new Intent(Intent.ACTION_MAIN);
      i.addCategory(Intent.CATEGORY_LAUNCHER);
      return getPackageManager().queryIntentActivities(i, 0);
    }
    
  2. اگر نمایه کاری قبلاً در دستگاه ارائه شده است، با استفاده از PackageManager.GET_DISABLED_COMPONENTS و PackageManager.GET_UNINSTALLED_PACKAGES ، فهرستی از همه برنامه‌های موجود در نمایه کاری را بکشید.

  3. با علامت زدن FLAG_SYSTEM ، برنامه‌های سیستم را در لیست برنامه‌ها پیدا کنید، که نشان می‌دهد برنامه‌ای در تصویر سیستم دستگاه نصب شده است یا خیر.

مزایا:

  • به مدیران فناوری اطلاعات تصویر کاملی از برنامه ها در همه دستگاه ها ارائه می دهد.
  • کنترل دقیقی را بر روی اینکه کدام برنامه‌ها فعال هستند ارائه می‌کند.

معایب:

  • از آنجایی که هر دستگاه دارای یک کاتالوگ برنامه متفاوت است، اعمال یک مدل از پیکربندی خط مشی واحد برای چندین نوع دستگاه دشوار است.
  • ارائه حجم برنامه های خاص OEM به شیوه ای معنادار برای مدیران فناوری اطلاعات می تواند چالش برانگیز باشد.

برنامه های سیستم را بر اساس عملکرد دسته بندی کنید

وقتی یک سرپرست فناوری اطلاعات می‌خواهد یک برنامه سیستم را برای گروهی از دستگاه‌ها فعال کند، یک برنامه عمومی را بر اساس عملکرد انتخاب می‌کند. به عنوان مثال، "مرورگر سیستم". سپس DPC به همه برنامه‌های سیستم برای آن هدف اجازه می‌دهد.

مزایا:

  • فعال سازی ساده و مبتنی بر عملکرد برای مدیران فناوری اطلاعات.
  • عملکرد ثابت را در دستگاه‌های مختلف (حداقل برای موارد استفاده معمول) تضمین می‌کند.

معایب:

  • برنامه های سیستم را به برنامه هایی محدود می کند که در همه انواع دستگاه ها پشتیبانی می شوند.
  • مدیران فناوری اطلاعات ممکن است بخواهند یک نسخه OEM یک برنامه (مانند مرورگر Samsung®) را فشار دهند، اما نه یک نسخه دیگر (مانند مرورگر LG®).
  • مدیران فناوری اطلاعات ممکن است نخواهند چندین برنامه را تحت فشار قرار دهند، اما وقتی چندین کنترل کننده قصد وجود دارد نمی توانند از آن جلوگیری کنند.

فقط از برنامه های سیستم تایید شده پشتیبانی کنید

شما با OEM کار می کنید تا بسته های OEM خاص را شناسایی کنید و فقط از آن بسته ها در کنسول EMM پشتیبانی کنید. این همچنین به شما امکان می‌دهد پیکربندی‌های مدیریت‌شده را برای برنامه OEM فهرست کنید، که در غیر این صورت نمی‌دانستید زیرا برنامه OEM در Google Play میزبانی نمی‌شود.

مزایا:

  • گردش کار یکپارچه سازی را بسیار ساده می کند و موارد لبه ای را که در دو گزینه اول مشکل ساز هستند حذف می کند.
  • می‌توانید پیکربندی‌های مدیریت‌شده را برای برنامه OEM فهرست‌بندی کنید و آن‌ها را در کنسول EMM برای مدیران فناوری اطلاعات ارائه کنید.
  • روابط نزدیک با OEM ها را برای پشتیبانی از دستگاه های پرچمدار فعال می کند.

معایب:

  • مقیاس پذیری کمتری دارد و در نتیجه انتخاب مصرف کننده را کاهش می دهد.

سناریوهای آزمایشی برای DPC شما

Test DPC یک برنامه منبع باز است که توسط Google برای آزمایش قابلیت های سازمانی در برنامه DPC شما ارائه شده است. تست DPC از github یا Google Play در دسترس است. می توانید از Test DPC برای موارد زیر استفاده کنید:

  • شبیه سازی ویژگی ها در اندروید
  • سیاست ها را تنظیم و اجرا کنید
  • محدودیت‌های برنامه و هدف را تنظیم کنید
  • پروفایل های کاری را تنظیم کنید
  • دستگاه های Android کاملاً مدیریت شده را راه اندازی کنید

در حالی که Test DPC در درجه اول به عنوان وسیله ای برای آزمایش راه حل سازمانی شما برای Android در نظر گرفته شده است، می توانید از آن به عنوان منبع کد نمونه برای ویژگی های Android نیز استفاده کنید.

تدارکات را سفارشی کنید

در طول تهیه دستگاه، رابط کاربری سیستم یک رنگ پیش‌فرض در نوار وضعیت و یک نشان‌واره پیش‌فرض در بالای صفحه نمایش را نشان می‌دهد. رنگ‌ها و آرم‌های سفارشی را تنظیم کنید تا یک انتقال بصری ثابت بین DPC و رابط سیستم ایجاد کنید، یا به مدیران اجازه دهید با استفاده از کنسول EMM شما این کار را انجام دهند. برای مثال، یک سرپرست ممکن است یک لوگوی شرکت آپلود کند یا ظاهر صفحه‌هایی را که اعلان‌ها را نشان می‌دهند سفارشی کند.

DPC شما با استفاده از DevicePolicyManager.EXTRA_PROVISIONING_MAIN_COLOR و DevicePolicyManager.EXTRA_PROVISIONING_LOGO_URI انتخاب های رنگ و لوگو را اعمال می کند.

برای تنظیم یک رنگ سفارشی ، از EXTRA_PROVISIONING_MAIN_COLOR برای تنظیم یک عدد صحیح که نشان دهنده رنگ غالب برای نمایش در هنگام تهیه دستگاه است، استفاده کنید. اضافی (ثابت) را با ACTION_PROVISION_MANAGED_PROFILE یا ACTION_PROVISION_MANAGED_DEVICE در یک هدف قرار دهید.

برای مشاهده نحوه نمایش اعداد صحیح، رنگ را ببینید. برای مثال، MAIN_COLOR در برنامه TestDPC ببینید.

برای تنظیم یک نشان‌واره سفارشی ، از EXTRA_PROVISIONING_LOGO_URI استفاده کنید تا تصویری را تنظیم کنید که در هنگام تهیه دستگاه در بالای صفحه نمایش داده شود. اضافی (ثابت) را با ACTION_PROVISION_MANAGED_PROFILE یا ACTION_PROVISION_MANAGED_DEVICE در یک هدف قرار دهید. مطمئن شوید که تصویر دارای تراکم پیکسلی مناسبی برای دستگاه است.

برای مثال، LOGO_URI در برنامه TestDPC ببینید.

روش کد QR

روش تهیه کد QR با اسکن یک کد QR از جادوگر راه اندازی، حالت مالک دستگاه را تنظیم و پیکربندی می کند. کد QR حاوی محموله‌ای از جفت‌های کلید-مقدار با تمام اطلاعاتی است که برای DPC برای تهیه یک دستگاه مورد نیاز است.

کنسول EMM شما باید راهی برای مدیران فناوری اطلاعات فراهم کند تا کدهای QR را برای دستگاه‌هایی که می‌خواهند تهیه کنند ایجاد کنند. مدیر فناوری اطلاعات کدهای QR را برای کاربران نهایی خود ارسال می کند و کاربران نهایی دستگاه های خود را با اسکن کدهای QR تهیه می کنند.

از موارد برای تهیه کد QR استفاده کنید

برخی از دستگاه‌ها، مانند تبلت‌ها، از NFC پشتیبانی نمی‌کنند. ارائه کد QR راهی مناسب برای ارائه ناوگان توزیع شده از دستگاه هایی است که از NFC پشتیبانی نمی کنند. یک سرپرست فناوری اطلاعات می‌تواند کدهای QR را برای کاربران خود ارسال کند تا امکان ارائه خدمات مبتنی بر کاربر فراهم شود.

تهیه کد QR به هویت Google مانند دامنه Google یا حساب Google نیاز ندارد. سازمان‌هایی که از اندروید استفاده می‌کنند، اما از Google Workspace استفاده نمی‌کنند، هویت Google ندارند.

مانند NFC، ارائه کد QR امکان استقرار کیوسک و یک بار مصرف را در مواردی که هویت Google (یا هر هویت دیگری) مورد نیاز یا مطلوب نباشد، فعال می‌کند. به عنوان مثال، یک دستگاه کیوسک در یک فروشگاه متعلق به هیچکس نیست و نباید هویت کاربر نهایی داشته باشد.

یک کد QR ایجاد کنید

یک کد QR معتبر برای تهیه کد QR یک رشته رمزگذاری شده با کد UTF-8 JavaScript® Object Notation (JSON) است. می توانید این ویژگی ها را در کد QR معتبر قرار دهید:

همیشه مورد نیاز است

اگر DPC قبلاً روی دستگاه نصب نشده باشد، لازم است

اگر دستگاه قبلاً به Wi-Fi متصل نشده باشد، توصیه می شود

اختیاری

این نمونه یک کد QR معتبر ایجاد می کند:

{
"android.app.extra.PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME":
"com.emm.android/com.emm.android.DeviceAdminReceiver",

"android.app.extra.PROVISIONING_DEVICE_ADMIN_SIGNATURE_CHECKSUM":
"gJD2YwtOiWJHkSMkkIfLRlj-quNqG1fb6v100QmzM9w=",

"android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION":
"https://path.to/dpc.apk",
    "android.app.extra.PROVISIONING_SKIP_ENCRYPTION": false,
    "android.app.extra.PROVISIONING_WIFI_SSID": "GuestNetwork",
    "android.app.extra.PROVISIONING_ADMIN_EXTRAS_BUNDLE": {
        "dpc_company_name": "Acme Inc.",
        "emm_server_url": "https://server.emm.biz:8787",
        "another_custom_dpc_key": "dpc_custom_value"
    }
}

فرآیند تهیه کد QR

  1. جادوگر راه‌اندازی از کاربر می‌خواهد 6 بار روی صفحه خوش‌آمدگویی ضربه بزند. ضربه ها باید در همان مکان روی صفحه انجام شود.
  2. جادوگر راه‌اندازی از کاربر می‌خواهد به اینترنت متصل شود تا جادوگر راه‌اندازی بتواند یک خواننده کد QR را دانلود کند.
  3. سرویس‌های Google Play ماژولی را دانلود می‌کند که حاوی یک موتور تشخیص کد QR است.
  4. کاربر کد QR ارائه شده توسط سرپرست فناوری اطلاعات خود را اسکن می کند.
  5. جادوگر راه‌اندازی برنامه DPC شما را دانلود می‌کند و فرآیند تهیه مالک دستگاه را با استفاده از ACTION_PROVISION_MANAGED_DEVICE آغاز می‌کند.

روش حساب‌های Google Play مدیریت شده

یک DPC می‌تواند از روش تأمین حساب‌های مدیریت‌شده Google Play برای تنظیم حالت مالک دستگاه یا حالت مالک نمایه استفاده کند. این روش تأمین برای سازمان‌هایی که از Google Workspace استفاده نمی‌کنند هدف گرفته است.

روش تهیه حساب‌های مدیریت‌شده Google Play از کتابخانه پشتیبانی DPC استفاده می‌کند. این کتابخانه مشتری عملکرد روان حساب‌های مدیریت‌شده Google Play را تضمین می‌کند. همچنین سازگاری با به‌روزرسانی‌های آینده فرآیند تأمین حساب‌های مدیریت‌شده Google Play را حفظ می‌کند.

پیش نیازهای تامین تجهیزات

  • شناسه سازمانی با یک هویت EMM ایجاد و ثبت می‌شود و ESA تنظیم می‌شود، همانطور که در Create and Enroll an Enterprise توضیح داده شده است.
  • هویت شرکتی کاربر برای کنسول EMM شما شناخته شده است.
  • کاربر می تواند با استفاده از اعتبارنامه های پذیرفته شده توسط کنسول EMM شما، که معمولاً اعتبار نامه های ایمیل شرکتی است، وارد برنامه DPC شود.

حالت مالک نمایه را تنظیم کنید

می‌توانید حالت عملکرد مالک نمایه را در دستگاهی که در سناریوی BYOD به‌عنوان یک دستگاه شخصی استفاده می‌شود، ارائه دهید.

  1. کاربر به صورت دستی DPC شما را از Google Play دانلود کرده و راه اندازی می کند.
  2. DPC نمایه کاری را با استفاده از ACTION_PROVISION_MANAGED_PROFILE ارائه می‌کند.
  3. مراحل نصب نهایی را کامل کنید.

حالت مالک دستگاه را تنظیم کنید

شما باید حالت عملکرد مالک دستگاه را در طول راه اندازی اولیه یک دستگاه جدید یا پس از بازنشانی کارخانه ای ارائه دهید. حالت مالک دستگاه را نمی توان در هر زمان دیگری در دستگاهی ارائه کرد.

در طول راه‌اندازی دستگاه، زمانی که کاربر از او خواسته می‌شود حسابی را اضافه کند، یک توکن خاص DPC را وارد می‌کند. یک نشانه در قالب afw#DPC_IDENTIFIER است. برای یک EMM به نام ACME، afw#acme DPC پیش‌فرض ACME EMM را نصب می‌کند. هر EMM باید یک شناسه DPC خاص را از Google درخواست کند تا بتواند از آن در فرآیند تهیه استفاده کند.

  1. کاربر یک دستگاه جدید یا تنظیم مجدد کارخانه را روشن می کند و جادوگر راه اندازی راه اندازی می شود.
  2. هنگامی که از کاربر خواسته می شود یک حساب اضافه کنید، یک رمز ویژه با فرمت afw#DPC_IDENTIFIER وارد می کند که DPC را برای EMM شما مشخص می کند.
  3. با استفاده از شناسه DPC در توکن، جادوگر راه اندازی یک حساب Google موقت به دستگاه اضافه می کند. این حساب موقت فقط برای دانلود DPC برای EMM شما از Google Play استفاده می‌شود و در مراحل راه‌اندازی نهایی حذف می‌شود.
  4. DPC دستگاه را با استفاده از ACTION_PROVISION_MANAGED_DEVICE فراهم می کند.
  5. مراحل نصب نهایی را کامل کنید.

مراحل نهایی راه اندازی برای همه حالت های عملکرد

این مراحل را فقط پس از تکمیل مراحل اولیه برای تنظیم حالت مالک نمایه یا حالت مالک دستگاه انجام دهید.

  1. DPC با تنظیم اولیه کتابخانه پشتیبانی DPC مطمئن می شود که دستگاه می تواند از حساب های مدیریت شده Google Play پشتیبانی کند:

    AndroidForWorkAccountSupport androidForWorkAccountSupport =
      new AndroidForWorkAccountSupport(context, admin);
    androidForWorkAccountSupport.ensureWorkingEnvironment(callback);
    

    اگر حالت مالک دستگاه را روی دستگاهی تنظیم می‌کنید، این مرحله حساب موقت Google را که برای دانلود DPC اضافه شده بود، حذف می‌کند.

  2. کاربر با استفاده از اعتبارنامه EMM خود وارد DPC می شود. اینها معمولاً اعتبار نامه های ایمیل شرکتی هستند.

  3. DPC اطلاعات کاربری حساب Google Play مدیریت شده را برای کاربر شرکتی تأیید شده از کنسول EMM درخواست می کند.

  4. اگر کنسول EMM یک userId Google Play برای کاربر نداشته باشد، با فراخوانی Users.insert() یک کاربر جدید ایجاد می کند. اگر حالت مالک دستگاه را تهیه می کنید، یک حساب دستگاه (برای استقرار دستگاه اختصاصی) یا یک حساب کاربری (برای استقرارهای متعلق به شرکت) را مشخص کنید.

  5. خط مشی دستگاه را با تماس با Devices.update تنظیم کنید. قبل از افزودن حساب مدیریت شده Google Play به دستگاه، باید خط‌مشی را تنظیم کنید، در غیر این صورت این خط‌مشی برای مدت کوتاهی پس از افزودن حساب به دستگاه اعمال نخواهد شد.

  6. کنسول EMM با فراخوانی Users.generateAuthenticationToken() اعتبار حساب userId را درخواست می کند. این نشانه احراز هویت کوتاه مدت است و قابل استفاده مجدد نیست. DPC باید از رمز برای اضافه کردن حساب به صورت برنامه‌ریزی استفاده کند (برای کاربر نهایی فایده‌ای ندارد).

  7. Google Play EMM API کد احراز هویت را به کنسول EMM برمی‌گرداند.

  8. کنسول EMM رمز احراز هویت را به DPC ارسال می کند.

  9. DPC با استفاده از حساب Google Play مدیریت شده را به دستگاه اضافه می کند

    androidForWorkAccountSupport.addAndroidForWorkAccount(token,
      accountAddedCallback);
    

روش حساب Google

یک DPC می‌تواند از روش تأمین حساب Google برای تنظیم حالت مالک دستگاه یا حالت مالک نمایه استفاده کند. با روش تأمین حساب Google، DPC کاربر را از طریق مراحل تأمین پس از اینکه کاربر حساب Google خود را در طول راه اندازی اولیه دستگاه اضافه کرد، راهنمایی می کند.

هنگامی که یک کاربر اعتبار حساب Google خود را وارد می کند:

  • سرور احراز هویت گوگل حساب کاربری را احراز هویت می کند.
  • سپس سرور احراز هویت با سرور سازمانی ارتباط برقرار می کند تا ببیند آیا دامنه حساب به عنوان یک دامنه Google Workspace یا یک دامنه مدیریت شده توسط EMM ثبت شده است.
  • در این صورت، سیستم به طور خودکار DPC مربوط به دامنه را از Google Play دانلود و نصب می کند.

حالت مالک نمایه را تنظیم کنید

می‌توانید حالت عملکرد مالک نمایه را در طول راه‌اندازی اولیه یک دستگاه یا زمانی که کاربر در حال افزودن یک حساب با استفاده از تنظیمات > افزودن حساب است، فراهم کنید.

  1. احراز هویت حساب توسط یک کاربر از جادوگر راه اندازی یا از تنظیمات > افزودن حساب شروع می شود.
  2. GMSCore تهیه نمایه کاری را با استفاده از ACTION_PROVISION_MANAGED_DEVICE_FROM_TRUSTED_SOURCE آغاز می کند.
  3. DPC به‌طور خودکار در دستگاه بارگیری می‌شود و با استفاده از کنترل‌کننده ACTION_GET_PROVISIONING_MODE راه‌اندازی می‌شود تا تأیید شود که ارائه نمایه کاری توسط DPC پشتیبانی می‌شود.
  4. این پلتفرم تهیه نمایه کاری را انجام می دهد.
  5. وقتی نمایه کاری فراهم شد، DPC پخش ACTION_PROFILE_PROVISIONING_COMPLETE را دریافت می‌کند. کنترل کننده ACTION_ADMIN_POLICY_COMPLIANCE DPC در نمایه کاری راه اندازی شده است. پس از ایجاد نمایه کاری، DPC نیز در داخل نمایه کاری اجرا می شود. DPC خط‌مشی‌هایی را برای آن حساب مدیریت‌شده Google اعمال می‌کند، اطمینان می‌دهد که دستگاه در وضعیت آسیب‌دیده نیست، و تأیید می‌کند که این خط‌مشی‌ها اجرا می‌شوند (مانند نیاز به رمز عبور).
  6. DPC در نمایه شخصی خود را غیرفعال می کند یا کاربر آن را حذف می کند .

حالت مالک دستگاه یا COPE را تنظیم کنید

شما باید حالت عملکرد مالک دستگاه را در طول راه اندازی اولیه یک دستگاه جدید یا پس از بازنشانی کارخانه ای ارائه دهید. حالت مالک دستگاه را نمی توان در هر زمان دیگری به دستگاه اضافه کرد.

  1. احراز هویت حساب توسط یک کاربر از جادوگر راه اندازی شروع می شود.
  2. GMSCore با استفاده از ACTION_PROVISION_MANAGED_DEVICE_FROM_TRUSTED_SOURCE ، تهیه مالک دستگاه را آغاز می کند. 3. DPC به طور خودکار در دستگاه دانلود می شود و با استفاده از کنترلر GET_PROVISIONING_MODE راه اندازی می شود تا حالت تأمین مورد نظر را انتخاب کند.
  3. پلت فرم دستگاه را به حالت آماده سازی مورد نظر ارائه می کند.
  4. وقتی دستگاه تهیه شد، DPC این پخش ها را دریافت می کند و کنترل کننده ACTION_ADMIN_POLICY_COMPLIANCE DPC راه اندازی می شود:
  5. DPC از مقدار Global.DEVICE_PROVISIONED استفاده می‌کند تا تأیید کند که دستگاه جدید است یا به تنظیمات کارخانه بازنشانی شده است (غیر ارائه نشده):
    • 0 - بدون پیش بینی
    • 1 - فراهم شده است.
  6. DPC با اعمال خط‌مشی‌هایی برای آن دستگاه مدیریت‌شده، اطمینان از اینکه دستگاه در وضعیت آسیب‌دیده نیست، و تأیید اینکه این خط‌مشی‌ها اجرا شده‌اند (مانند نیاز به رمز عبور) فرآیند تهیه را تکمیل می‌کند.

ملاحظات پیاده سازی برای روش حساب Google

  • DPC باید جریان احراز هویت حساب Google را با جستجوی موارد اضافی خاص در هدف راه‌اندازی مورد استفاده شناسایی کند (به LaunchIntentUtil مراجعه کنید):

    • حساب از نوع android.accounts.Account - نشان می دهد که حساب از طریق جادوگر راه اندازی یا از تنظیمات > افزودن حساب اضافه شده است، که به DPC راه اندازی شده برای مدیریت دستگاه یا نمایه نیاز دارد.
    • is_setup_wizard از نوع Boolean - اگر درست باشد، DPC قبل از تکمیل جادوگر راه اندازی در جادوگر راه اندازی راه اندازی شده است، در غیر این صورت از تنظیمات > افزودن حساب یا جریان دیگری.

    بررسی اینکه آیا DPC به عنوان بخشی از روش حساب Google راه اندازی شده است یا خیر، عبارت است از:

    boolean isSynchronousAuthLaunch(Intent launchIntent) {
      return launchIntent.hasExtra("is_setup_wizard");
    }
    
  • DPC نباید قبل از اتمام نصب، finish() فراخوانی کند. همچنین باید یک کد نتیجه مثبت (مانند RESULT_OK ) را برگرداند زیرا DPC با startActivityForResult() راه اندازی می شود و منتظر نتیجه است.

    اگر جریان تنظیم DPC به نقطه ارسال یک intent ACTION_PROVISION_* برسد، DPC باید قبل از فراخوانی finish() منتظر یک کد نتیجه از فرآیند تأمین باشد. هنگام راه‌اندازی مقاصد ACTION_PROVISION_* از تماس‌های startActivityForResult() و onActivityResult() استفاده کنید. (برای مثال به LaunchActivity و SetupSyncAuthManagement مراجعه کنید).

    به دلیل ماهیت بالقوه ناهمزمان فرآیند راه‌اندازی، DPC نمی‌تواند به کد نتیجه RESULT_OK برای نشان دادن موفقیت آمیز بودن تدارک تکیه کند. تنها راه تضمین شده تکیه بر تماس‌های DeviceAdminReceiver برای موفقیت در تامین است. RESULT_CANCELED نشان می دهد که کاربر در یک بخش همزمان از جریان راه اندازی عقب نشینی کرده است و DPC باید به این موضوع واکنش نشان دهد.

    در این مثال، DPC تدارکات را راه اندازی می کند و منتظر کد نتیجه یک فعالیت است:

    Intent intent = new Intent(ACTION_PROVISION_MANAGED_PROFILE);
    startActivityForResult(intent, REQUEST_MANAGED_PROFILE);
    ...
    
    @Override
    public void onActivityResult(int req, int res, Intent i) {
        if (req == REQUEST_MANAGED_PROFILE) {
            if (res == Activity.RESULT_OK) {
                setResult(Activity.RESULT_OK);
                finish();
            } else {
                Toast.makeText(this, Provisioning failed,
                        Toast.LENGTH_SHORT).show();
            }
        }
    }
    
  • DPC نباید سعی کند حالت عملکرد مالک دستگاه را تنظیم کند اگر دستگاه قبلاً تهیه شده است (به ProvisioningStateUtil.isDeviceProvisioned() مراجعه کنید). در این مثال، DPC بررسی می کند که آیا دستگاه ارائه شده است:

    public static boolean isDeviceProvisioned(Context context) {
    ContentResolver cr = context.getContentResolver();
        return
    Settings.Global.getInt(cr, DEVICE_PROVISIONED, 0) != 0;
    }
    
  • اختیاری. DPC می‌تواند هنگام راه‌اندازی تأمین، از EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE اضافی برای ارسال اطلاعات وضعیت به DeviceAdminReceiver خود (که در مورد مالک نمایه در نمایه کاری اجرا می‌شود) استفاده کند. TestDPC از این اضافی برای وارد کردن مجموعه‌ای از فعالیت‌ها در جریان حساب Google پس از تکمیل آماده‌سازی استفاده می‌کند. برای جزئیات به DeviceAdminReceiver مراجعه کنید.

    public class DeviceAdminReceiver extends android.app.admin.DeviceAdminReceiver
    {
      @Override
      public void onProfileProvisioningComplete(Context context, Intent intent) {
        // Retrieve the admin extras bundle, which we can use to determine the original context for
        // Test DPC's launch.
        PersistableBundle extras = intent.getParcelableExtra(
                EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE);
        ...
    
  • برای تنظیم نمایه کاری، DPC باید حساب اضافه شده را به نمایه کاری جدید منتقل کند. برای انجام این کار، DPC باید حساب ارائه شده در هدف راه‌اندازی ACTION_PROVISION_MANAGED_PROFILE را ارسال کند.

  • DPC باید یک فراخوان برای اقدام واضح (مانند دکمه Finish) برای خروج از برنامه در پایان راه‌اندازی در اختیار کاربر قرار دهد تا کاربر فکر نکند که در جریان به بن‌بست رسیده است.

  • DPC باید از تم یا کتابخانه طرح‌بندی جادوگر راه‌اندازی استفاده کند تا تجربه کاربر روان باشد و به خوبی یکپارچه شود.

روش NFC

یک DPC می‌تواند از روش تأمین NFC برای تنظیم حالت مالک دستگاه استفاده کند. در روش تامین NFC یا برچسب NFC، یک برنامه برنامه نویس NFC ایجاد می کنید که شامل خط مشی های اولیه و پیکربندی Wi-Fi، تنظیمات و جزئیات تامین مورد نیاز مشتری شما برای پیکربندی حالت عملکرد صاحب دستگاه است. هنگامی که شما یا مشتری شما برنامه برنامه نویس NFC را روی دستگاه مجهز به Android نصب می کند، آن دستگاه به دستگاه برنامه نویس تبدیل می شود.

برای تهیه یک دستگاه، سرپرست فناوری اطلاعات یک دستگاه جدید را از جعبه خارج می‌کند و با دستگاه برنامه‌نویس یا برچسب NFC برخورد می‌کند. Bump پیکربندی ها را به دستگاه منتقل می کند تا به اینترنت متصل شود و سیاست ها و تنظیمات مناسب را دانلود کند. سپس دستگاه توسط DPC شما مدیریت می شود.

پس از تهیه دستگاه، برای مدت کوتاهی Google Play محتوای مدیریت‌نشده مصرف‌کننده را به‌جای برنامه‌ها و مجموعه‌های تأییدشده‌ای که باید نمایش داده شوند، نمایش می‌دهد. این تاخیر می تواند از چند دقیقه تا یک ساعت طول بکشد.

برنامه برنامه نویس NFC و دستگاه برنامه نویس را ایجاد کنید

برای دستگاه‌هایی که از Android 10 یا بالاتر استفاده می‌کنند، می‌توان از Android Beam برای تکمیل یک NFC استفاده کرد:

  1. برنامه نمونه برنامه نویس NFC را دانلود کنید. می توانید نمونه را همانطور که هست بدون اضافات استفاده کنید یا می توانید آن را برای مقادیر پیش فرض خود تغییر دهید.
  2. برنامه برنامه نویس را روی دستگاه انتخابی نصب کنید.
  3. برنامه برنامه نویس NFC را اجرا کنید و Load Defaults را برای com.example.android.apis انتخاب کنید. (این متن بسته به پارامترهای پیش فرضی که تنظیم می کنید می تواند متفاوت باشد.)

ارائه یک دستگاه مشتری

  1. دستگاه برنامه نویس یا برچسب NFC را با دستگاه جدید یا دستگاهی که به تنظیمات کارخانه بازنشانی شده است وارد کنید.
  2. بررسی کنید که دستگاه در صفحه خوش‌آمدگویی اولیه که هنگام راه‌اندازی نمایش داده می‌شود، باقی بماند. متن در Ready to send:{...} در برنامه برنامه نویس مشخص شده است.
  3. صبر کنید تا DPC:
    1. دستگاه را رمزگذاری می کند.
    2. اگر این یک دستگاه دسترسی چندگانه با تقسیم کد (CDMA) است: تلفن را در حالی که رابط کاربری تلفن نشان داده می شود فعال می کند (بدون نیاز به تعامل).
    3. اتصال Wi-Fi را تنظیم می کند.
    4. فایل APK را برای com.example.android.apis دانلود می کند.
    5. com.example.android.apis را نصب می کند.
    6. Sample Device Admin را در com.example.android.apis به عنوان مالک دستگاه تنظیم می کند.
    7. زمانی که مالک دستگاه فعال می شود، یک «نان تست» موفقیت آمیز نشان می دهد.
  4. پس از بازگشت به صفحه اصلی (جادوگر راه اندازی به طور خودکار حذف می شود)، بررسی کنید که com.example.android.apis به عنوان مالک دستگاه تنظیم شده باشد:
    1. در تنظیمات > امنیت > مدیران دستگاه ، مطمئن شوید که سرپرست دستگاه نمونه قابل حذف نیست.
    2. در تنظیمات > کاربران > کاربران و نمایه‌ها > شما (مالک) ، مطمئن شوید که مالک تنها حساب موجود است (یک دستگاه می‌تواند در هر زمان فقط یک مالک دستگاه فعال داشته باشد).

منابع اضافی

NFC پیشرفته موضوعاتی مانند کار با فناوری‌های مختلف برچسب، نوشتن روی برچسب‌های NFC و ارسال پیش‌زمینه را شرح می‌دهد.

روش نصب دستی DPC

برای تنظیم حالت مالک نمایه با استفاده از روش تهیه دستی نصب DPC، کاربر DPC شما را از Google Play دانلود کرده و آن را نصب می کند. سپس DPC کاربر را در بقیه مراحل راهنمایی می کند تا مالک نمایه را برای حساب مدیریت شده Google تنظیم کند.

DPC می‌تواند حساب Google مدیریت شده را قبل یا بعد از ایجاد نمایه کاری اضافه کند. برای مثال، DPC می‌تواند یک نمایه کاری بر اساس اعتبارنامه EMM کاربر ایجاد کند، به‌جای اینکه ابتدا حساب مدیریت‌شده Google را درخواست کند.

حالت مالک نمایه را تنظیم کنید

ابتدا حساب Google مدیریت شده را اضافه کنید

  1. کاربر DPC شما را از Google Play دانلود و نصب می کند.
  2. DPC قبل از ایجاد نمایه کاری با استفاده از AccountManager.addAccount() حساب Google مدیریت شده را اضافه می کند.
  3. DPC شروع به اجرا در نمایه شخصی می کند و فرآیند ایجاد نمایه کاری را با استفاده از:
  4. DPC در نمایه کاری فرآیند تهیه را تکمیل می کند. پس از ایجاد نمایه کاری، DPC نیز در داخل نمایه کاری اجرا می شود. DPC در نمایه کاری، با اعمال خط‌مشی‌هایی برای آن حساب مدیریت‌شده Google، اطمینان از اینکه دستگاه در وضعیت آسیب‌دیده نیست، و تأیید اینکه خط‌مشی‌ها اجرا شده‌اند (مانند نیاز به گذرواژه)، فرآیند تهیه را تکمیل می‌کند.
  5. وقتی نمایه کاری فراهم شد، DPC پخش ACTION_PROFILE_PROVISIONING_COMPLETE را دریافت می‌کند.
  6. DPC در نمایه شخصی خود را غیرفعال می کند یا کاربر آن را حذف می کند .

ابتدا نمایه کاری ایجاد کنید

  1. کاربر DPC شما را از Google Play دانلود و نصب می کند.
  2. DPC شروع به اجرا در نمایه شخصی می کند و فرآیند ایجاد نمایه کاری را با استفاده از:
  3. DPC حساب Google مدیریت شده را با استفاده از AccountManager.addAccount() اضافه می کند.
  4. DPC پخش ACTION_PROFILE_PROVISIONING_COMPLETE را دریافت می کند و EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE را می خواند.
  5. DPC در پروفایل کار روند تهیه را تکمیل می کند. پس از ایجاد پروفایل کار ، DPC نیز در داخل پروفایل کار اجرا می شود. DPC در پروفایل کار با فشار دادن خط مشی برای آن حساب کاربری Google ، اطمینان حاصل می کند که دستگاه در وضعیت به خطر بیفتد و تأیید کند که این سیاست ها اجرا می شوند (مانند نیاز به رمز عبور) ، فرایند ارائه را تکمیل می کند.
  6. DPC پروفایل کار را با استفاده از DevicePolicyManager.setProfileEnabled() امکان پذیر می کند.
  7. DPC در نمایه شخصی خود را غیرفعال می کند یا کاربر آن را حذف می کند .

  1. روش حساب Google در Android 5.1 فقط از حالت عملکرد صاحب پروفایل پشتیبانی می کند ، و کاربر می تواند آن را فقط از تنظیمات> افزودن حساب پیکربندی کند.