ارسال بازخورد برنامه به EMM

ارائه‌دهندگان «مدیریت پویایی سازمانی» (EMM) راه‌حل‌هایی برای سازمان‌ها ارائه می‌دهند تا دستگاه‌های Android و برنامه‌های نصب‌شده در آن‌ها را مدیریت کنند. این راهکارها معمولاً به‌صورت کنسول‌های وب دردسترس هستند که به آن‌ها کنسول‌های EMM می‌گویند. سرپرستان فناوری اطلاعات بااستفاده از کنسول EMM، تکالیف مدیریت برنامه و دستگاه را ازطرف سازمانشان انجام می‌دهند.

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

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

مؤلفه‌های وضعیت برنامه کلیددار

وضعیت برنامه کلیددار شامل موارد زیر است:

  • کلید: شناسه یکتا برای وضعیت برنامه. حداکثر ۱۰۰ نویسه.
  • پیام: پیام اختیاری که وضعیت برنامه را شرح می‌دهد. حداکثر ۱۰۰۰ نویسه. توجه: معمولاً پیام‌ها باید بسیار کوتاه‌تر از این باشند.
  • داده: مقدار ماشین‌خوانای اختیاری که برای EMMها درنظر گرفته شده است تا به سرپرستان فناوری اطلاعات اجازه دهد هشدارها یا فیلترهایی را براساس مقدار تنظیم کنند. برای مثال، سرپرست فناوری اطلاعات می‌تواند هشداری تنظیم کند که اگر فیلد داده battery_percentage < 10. حداکثر ۱۰۰۰ نویسه.
  • شدت: شدت وضعیت برنامه. مقادیر مجاز عبارت‌اند از SEVERITY_ERROR و SEVERITY_INFO (پیش‌فرض). شدت را فقط برای شرایط خطای واقعی که سازمان باید برای رفع آن اقدام کند روی SEVERITY_ERROR تنظیم کنید.
  • مُهر زمان: وقتی وضعیت برنامه کلیددار تنظیم می‌شود، به‌طور خودکار با مُهر زمان برحسب میلی‌ثانیه از مبدأ زمانی ارسال می‌شود.

ارسال بازخورد پیکربندی‌های مدیریت‌شده

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

وضعیت‌های برنامه کلیددار برای پیکربندی‌های مدیریت‌شده
  1. سرپرستان فناوری اطلاعات از کنسول EMM خود برای تنظیم و ارسال پیکربندی‌های مدیریت‌شده برای برنامه نصب‌شده در دستگاه کاملاً مدیریت‌شده یا داخل نمایه کاری استفاده می‌کنند. برای مثال:
    • میزان صدا: «٪۵۰»
    • واحد پول: «USDD»
  2. برنامه تلاش می‌کند پیکربندی‌ها را اعمال کند. میزان صدا با موفقیت روی ۵۰٪ تنظیم شد، اما کد واحد پول نامعتبر است و نمی‌تواند اعمال شود.
  3. براساس وضعیت هر پیکربندی، برنامه یک وضعیت برنامه کلیددار تنظیم می‌کند. هر وضعیت برنامه کلیددار حاوی یک کلید منحصربه‌فرد و پیامی با جزئیات وضعیت است. توصیه می‌کنیم درصورت امکان، کلید پیکربندی‌های مدیریت‌شده را مطابقت دهید. برای مثال:
    کلید پیام شدت مُهر زمان
    volume تنظیم‌شده روی ۵۰٪ SEVERITY_INFO 1554461130
    currency ارز «USDD» شناسایی نشد SEVERITY_ERROR 1554461130
  4. ارائه‌دهنده EMM حالت‌های کلیددار برنامه را که توسط برنامه تنظیم شده است بازیابی می‌کند و آن‌ها را در کنسول EMM خود نمایش می‌دهد. برای مثال:
    پیکربندی وضعیت اقدام لازم است زمان
    کنترل تنظیم‌شده روی ۵۰٪ نه ‫۵ آوریل ۲۰۱۹؛ ۱۰:۴۵:۳۰ ق.ظ.
    واحد پول خطا: واحد پول «USDD» شناسایی نشد. بله ۵ آوریل ۲۰۱۹؛ ۱۰:۴۵:۳۰ ق.ظ.

    ارائه‌دهنده EMM همچنین باید هرگونه وضعیت دریافتی با SEVERITY_ERROR را به‌طور صریح برای سرپرست فناوری اطلاعات پرچم‌گذاری کند. سرپرستان فناوری اطلاعات می‌توانند اطلاعات را در کنسول «مدیریت دستگاه‌های همراه در شرکت» خود مشاهده کنند و برای اصلاح هرگونه خطا در پیکربندی‌هایی که تنظیم کرده‌اند اقدام کنند.

گزارش خطاهای حل‌وفصل‌شده

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

  • همان کلید پیام خطای اولیه.
  • شدت SEVERITY_INFO، که نشان می‌دهد وضعیت در شرایط خطا نیست و سازمان نیازی به انجام اقدام دیگری ندارد.

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

مراحل زیر نحوه ادغام وضعیت‌های کلیددار برنامه را در برنامه‌تان شرح می‌دهد.

مرحله ۱: افزودن مخزن Maven متعلق به Google به فایل settings.gradle

مخزن Maven متعلق به Google را به‌عنوان مکان مخزن در فایل settings.gradle پروژه‌تان اضافه کنید، همان‌طور که در زیر نشان داده شده است:

dependencyResolutionManagement {
  repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
  repositories {
       google()
  }
}

مرحله ۲: افزودن کتابخانه بازخورد سازمانی به فایل build.gradle سطح ماژول

وابستگی زیر را به فایل build.gradle سطح ماژول خود اضافه کنید:

dependencies {
    implementation 'androidx.enterprise:enterprise-feedback:1.0.0'
}

مرحله ۳: دریافت نمونه‌ای از KeyedAppStatesReporter

در روش onCreate()، نمونه‌ای از KeyedAppStatesReporter را دریافت و ذخیره کنید. این کار کانال ارتباطی بین برنامه شما و ارائه‌دهندگان EMM را فعال می‌کند.

کاتلین

val reporter = KeyedAppStatesReporter.create(context)

جاوا

KeyedAppStatesReporter reporter = KeyedAppStatesReporter.create(context);

مرحله ۴: ایجاد مجموعه‌ای از وضعیت‌های کلیددار برنامه

هنگام ایجاد وضعیت‌های برنامه کلیددار، روال‌های مطلوب زیر را دنبال کنید:

  • هرگز اطلاعات شناساننده شخصی (PII) را در وضعیت اضافه نکنید—وضعیت‌های برنامه کلیددار برای داده‌های حساس مناسب نیستند.
  • وضعیت‌های برنامه کلیددار را در حدود تعریف‌شده در MAX_KEY_LENGTH، MAX_MESSAGE_LENGTH، و MAX_DATA_LENGTH نگه دارید.
  • یک تماس setStates یا setStatesImmediate به مجموع ۳۰۰ کیلوبایت محدود می‌شود (تقریباً ۱/۳ کل مقداری که می‌تواند در روز ذخیره شود). فراتر رفتن از این حد منجر به رفتار تعریف‌نشده خواهد شد.
  • شدت وضعیت را فقط زمانی روی SEVERITY_ERROR تنظیم کنید که شرایطی وجود داشته باشد که سازمان باید برای رفع آن اقدام کند.
  • هنگام ارسال وضعیت برنامه حاوی خطا، مطمئن شوید که وضعیت پیگیری را نیز هنگام برطرف شدن خطاها ارسال می‌کنید تا EMM بتواند پرچم‌گذاری خطاها را در کنسول خود متوقف کند.
  • برای وضعیت پیگیری، از همان کلید وضعیت اولیه که خطا را برگردانده است استفاده کنید و شدت را روی SEVERITY_INFO تنظیم کنید.

قطعه کد زیر مجموعه‌ای از وضعیت‌های کلیددار برنامه را ایجاد می‌کند:

کاتلین

    val states = hashSetOf(KeyedAppState.builder()
             .setKey("key")
             .setSeverity(KeyedAppState.SEVERITY_INFO)
             .setMessage("message")
             .setData("data")
             .build())
    

جاوا

    Collection states = new HashSet<>();
    states.add(KeyedAppState.builder()
     .setKey("key")
     .setSeverity(KeyedAppState.SEVERITY_INFO)
     .setMessage("message")
     .setData("data")
     .build());
    

مرحله ۵: تنظیم وضعیت‌های کلیددار برنامه

روش setStates() فوراً وضعیت‌های کلیددار برنامه را به برنامه «فروشگاه Play» (نام بسته: com.android.vending) (اگر در دستگاه نصب شده باشد) و همچنین به سرپرستان دستگاه یا نمایه کاری ارسال می‌کند.

کاتلین

keyedAppStatesReporter.setStates(states)

جاوا

keyedAppStatesReporter.setStates(states);

آزمایش کردن وضعیت‌های برنامه کلیددار

برای دستورالعمل‌های دقیق آزمایش، بازخورد برنامه آزمایشی را ببینید.