تنظیمات برنامه پیش فرض

رابط برنامه‌نویسی کاربردی مدیریت اندروید (Android Management API) به مدیران فناوری اطلاعات اجازه می‌دهد تا از راه دور برنامه‌های پیش‌فرض را روی دستگاه‌ها یا پروفایل‌های مدیریت‌شده تنظیم و اجرا کنند. این امر با جلوگیری از تغییر برنامه‌های ناامن توسط کاربران برای عملکردهای حیاتی مانند شماره‌گیری، پیامک و مرور وب، امنیت دستگاه را افزایش می‌دهد و در نتیجه خطراتی مانند فیشینگ و استخراج داده‌ها را کاهش می‌دهد.

زمانی که یک مدیر، سیاست پیش‌فرض برنامه را تنظیم می‌کند، کاربران نهایی نمی‌توانند تنظیمات پیش‌فرض برنامه را در پروفایل مشخص‌شده تغییر دهند.

پیکربندی سیاست

برنامه‌های پیش‌فرض را می‌توان با اضافه کردن یک یا چند شیء DefaultApplicationSetting به فیلد defaultApplicationSettings در پالیسی پیکربندی کرد. هر شیء تنظیم، یک نوع برنامه خاص را هدف قرار می‌دهد و می‌تواند در حوزه‌های مختلف اعمال شود.

تنظیم برنامه‌های پیش‌فرض

برای هر DefaultApplicationType ، می‌توان یک لیست اولویت‌بندی‌شده از برنامه‌ها را در فیلد defaultApplications ارائه داد. API اولین برنامه از لیستی که روی دستگاه نصب شده و برای نوع برنامه واجد شرایط است را به عنوان پیش‌فرض تنظیم می‌کند.

برای اینکه یک برنامه غیرسیستمی به عنوان پیش‌فرض تنظیم شود، اثر انگشت گواهی کلید امضای آن در دستگاه باید با اثر انگشت به دست آمده از فروشگاه Google Play یا یکی از ورودی‌های ApplicationPolicy.signingKeyCerts مطابقت داشته باشد.

تعریف محدوده‌ها

فیلد defaultApplicationScopes تعیین می‌کند که این سیاست کجا اعمال شود. محدوده‌های موجود عبارتند از:

  • SCOPE_FULLY_MANAGED : برای دستگاه‌های کاملاً مدیریت‌شده اعمال می‌شود.
  • SCOPE_WORK_PROFILE : برای نمایه کاری در دستگاه‌های متعلق به شرکت یا متعلق به شخص اعمال می‌شود.
  • SCOPE_PERSONAL_PROFILE : برای پروفایل شخصی در دستگاه‌های متعلق به شرکت اعمال می‌شود.

هنگام تنظیم یک برنامه پیش‌فرض برای SCOPE_FULLY_MANAGED یا SCOPE_WORK_PROFILE ، برنامه باید یک ورودی متناظر در سیاست applications داشته باشد. installType برای آن برنامه نباید BLOCKED باشد.

هنگام هدف قرار دادن SCOPE_PERSONAL_PROFILE ، این خط‌مشی محدود به تنظیم فقط برنامه‌های سیستمی از پیش نصب‌شده به عنوان پیش‌فرض است.

نقش‌های چندوجهی

برخی از نقش‌ها، مانند DEFAULT_WALLET ، در تمام پروفایل‌های یک دستگاه اعمال می‌شوند. برای این نقش‌ها در یک دستگاه متعلق به شرکت با پروفایل کاری، مدیر می‌تواند یک برنامه پیش‌فرض را در پروفایل کاری یا پروفایل شخصی تنظیم کند، اما نمی‌تواند همزمان هر دو را فعال کند.

حالت مدیریت و نسخه اندروید

پشتیبانی از این ویژگی بسته به حالت مدیریت دستگاه و نسخه اندروید متفاوت است.

حالت مدیریت اندروید ۱۴ - ۱۵ اندروید ۱۶+
کاملاً مدیریت شده فقط DEFAULT_DIALER همه نوع برنامه پشتیبانی می‌شود.
دستگاه متعلق به شرکت با مشخصات کاری پشتیبانی نمی‌شود نمایه کاری : DEFAULT_BROWSER ، DEFAULT_CALL_REDIRECTION ، DEFAULT_CALL_SCREENING ، DEFAULT_DIALER و DEFAULT_WALLET .
پروفایل شخصی : DEFAULT_BROWSER ، DEFAULT_DIALER ، DEFAULT_SMS و DEFAULT_WALLET .
دستگاه شخصی با مشخصات کاری پشتیبانی نمی‌شود نمایه کاری : DEFAULT_BROWSER ، DEFAULT_CALL_REDIRECTION ، DEFAULT_CALL_SCREENING ) و DEFAULT_DIALER .
مشخصات شخصی : پشتیبانی نمی‌شود

گزارش عدم انطباق

اگر این سیاست قابل اعمال نباشد، دستگاه عدم انطباق را گزارش می‌دهد (به NonComplianceDetail مراجعه کنید). دلایل رایج عدم انطباق عبارتند از:

  • دستگاه یا پیکربندی پشتیبانی نشده : اگر این ویژگی در نسخه اندروید دستگاه یا برای حالت مدیریت آن پشتیبانی نشود، عدم انطباق با دلیل API_LEVEL یا MANAGEMENT_MODE گزارش می‌شود.
  • دامنه‌های پشتیبانی نشده : اگر هیچ یک از دامنه‌های مشخص شده در خط‌مشی برای حالت مدیریت دستگاه قابل اجرا نباشد (مثلاً خط‌مشی‌ای که فقط SCOPE_PERSONAL_PROFILE دارد به یک دستگاه کاملاً مدیریت شده ارسال شود)، عدم انطباق با دلیل MANAGEMENT_MODE و دلیل خاص DEFAULT_APPLICATION_SETTING_UNSUPPORTED_SCOPES گزارش می‌شود.
  • برنامه نصب نشده است : برای دستگاه‌های کاملاً مدیریت‌شده و پروفایل‌های کاری، اگر هیچ یک از برنامه‌های موجود در لیست اولویت‌بندی‌شده روی دستگاه نصب نشده باشند، عدم انطباق با دلیل APP_NOT_INSTALLED گزارش می‌شود.
  • مقدار نامعتبر : اگر حداقل یک برنامه نصب شده باشد اما تنظیمات پیش‌فرض برنامه به دلایل دیگری اعمال نشود (مثلاً برنامه از نوع مناسبی نباشد)، خطای عدم انطباق با دلیل INVALID_VALUE گزارش می‌شود.
  • خرابی پروفایل شخصی : برای پروفایل شخصی، اگر به هر دلیلی اعمال نشود، یک عدم انطباق عمومی INVALID_VALUE گزارش می‌شود، بدون اینکه وضعیت نصب برنامه‌های شخصی فاش شود.

گزارش وضعیت پیش‌فرض برنامه

از اندروید ۱۶ به بعد، گزارش‌های وضعیت دستگاه شامل defaultApplicationInfo می‌شوند. این فیلد جزئیاتی در مورد برنامه‌های پیش‌فرض فعلی و نتایج تلاش‌های اعمال سیاست ارائه می‌دهد. برای فعال کردن این گزارش، پرچم defaultApplicationInfoReportingEnabled را در StatusReportingSettings روی true تنظیم کنید.

  • دستگاه‌های کاملاً مدیریت‌شده: گزارش‌ها انواع برنامه‌ها را پوشش می‌دهند.
  • دستگاه‌های دارای پروفایل‌های کاری: گزارش‌ها فقط شامل انواع برنامه‌های پشتیبانی‌شده برای پروفایل کاری هستند.

هر نوع درخواست در گزارش شامل جزئیات زیر است:

  • packageName : برنامه پیش‌فرض فعلی برای این نوع را نشان می‌دهد. این برنامه می‌تواند برنامه‌ای باشد که توسط سیاست، پیش‌فرض سیستم یا برنامه‌ای که توسط کاربر انتخاب شده است، تنظیم شده باشد. اگر این فیلد گزارش نشود، هیچ برنامه پیش‌فرضی برای این نوع تنظیم نشده است.
  • defaultApplicationSettingAttempts : نتایج تلاش‌های تنظیم پیش‌فرض برنامه را برای هر برنامه مشخص شده در خط‌مشی فهرست می‌کند. این به مدیران کمک می‌کند تا بفهمند چرا برنامه‌هایی با اولویت بالاتر در لیست ممکن است به عنوان پیش‌فرض تنظیم نشده باشند.

سیاست نمونه

در اینجا یک مثال از سیاستی که مرورگر و شماره‌گیر پیش‌فرض را تنظیم می‌کند، آورده شده است. برنامه‌ها به سیاست applications اضافه می‌شوند، زیرا دامنه شامل SCOPE_FULLY_MANAGED یا SCOPE_WORK_PROFILE است. defaultApplicationInfoReportingEnabled برای فعال کردن گزارش‌دهی، روی true تنظیم شده است.

{
  "applications": [
    {
      "packageName": "com.android.chrome",
      "installType": "AVAILABLE"
    },
    {
      "packageName": "com.google.android.dialer",
      "installType": "AVAILABLE"
    },
    {
      "packageName": "com.samsung.android.dialer",
      "installType": "AVAILABLE"
    }
  ],
  "statusReportingSettings": {
    "defaultApplicationInfoReportingEnabled": true
  },
  "defaultApplicationSettings": [
    {
      "defaultApplicationType": "DEFAULT_BROWSER",
      "defaultApplications": [
        {
          "packageName": "com.android.chrome"
        }
      ],
      "defaultApplicationScopes": [
        "SCOPE_FULLY_MANAGED",
        "SCOPE_WORK_PROFILE"
      ]
    },
    {
      "defaultApplicationType": "DEFAULT_DIALER",
      "defaultApplications": [
        {
          "packageName": "com.google.android.dialer"
        },
        {
          "packageName": "com.samsung.android.dialer"
        }
      ],
      "defaultApplicationScopes": [
        "SCOPE_FULLY_MANAGED",
        "SCOPE_WORK_PROFILE",
        "SCOPE_PERSONAL_PROFILE"
      ]
    }
  ]
}