بهترین شیوه های UX برای تحویل در صورت تقاضا، بهترین شیوه های UX برای تحویل در صورت تقاضا، بهترین شیوه های UX برای تحویل در صورت تقاضا

عملکردهایی که به عنوان یک ماژول درخواستی به خوبی کار می کند، مواردی هستند که اکثر کاربران شما در زمان نصب به آنها نیاز ندارند. در زیر چند نمونه برای ویژگی‌های برنامه‌ای که بنا به درخواست ماژول‌ها مناسب هستند آورده شده است:

  • ویرایش و آپلود یک ویدیو در برنامه‌ای که اکثر کاربران فقط ویدیوها را تماشا می‌کنند
  • افزودن یک دستور غذا در یک برنامه، که در آن اکثر کاربران فقط دستور العمل های دیگران را مرور می کنند و دنبال می کنند
  • هنگامی که اکثر کاربران به دنبال کمک نیستند یا در داخل برنامه به دنبال آن نیستند، عملکرد کمک و پشتیبانی می کند
  • کتابخانه های بزرگ برای عملکردهای کمتر استفاده شده مانند ارائه جزئیات ثبت اشکال و گزارش
  • قابلیت پرداخت یا پرداخت خاص
  • تجربیات رسانه ای با وضوح بسیار بالا یا ویژگی های VR/AR

در موارد معمولی که این ماژول ها نسبتا کوچک هستند (کمتر از 10 مگابایت)، و هیچ شبکه یا خرابی دیگری وجود ندارد، کاربران می توانند خیلی سریع یک ماژول درخواستی را دانلود کرده و از آن استفاده کنند. یعنی، تجربه معمولاً با زمانی که ماژول در نصب برنامه وجود داشته باشد، تفاوتی ندارد.

این صفحه بهترین روش‌هایی را توضیح می‌دهد که به شما در انجام کارهای زیر کمک می‌کند:

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

پس از خواندن این راهنما، با امتحان برنامه نمونه Play Core API، این بهترین روش‌ها را در عمل مشاهده کنید.

کاربر را در جریان بگذارید

هنگامی که یک ویژگی فوراً در دسترس نیست، باید به کاربر اطلاع دهید. اگر کاربری تصمیم گرفت این ویژگی را از Google Play دانلود کند، پیشرفت دانلود را نمایش دهید.

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

  • برای ماژول های کوچکتر (~10 مگابایت یا کمتر) که می توانند خیلی سریع نصب شوند، شاخص هایی مانند اسپینرها یا پیام کوتاه "دانلود محتوا" را در نظر بگیرید.
  • برای ماژول‌های بزرگ‌تر که دانلود و نصب آن‌ها چند ثانیه یا بیشتر طول می‌کشد، نوار پیشرفت دانلود و نصب را نشان دهید، مانند آنچه در شکل 1 نشان داده شده است.

شکل 1. نمایش یک پیام و نوار پیشرفت هنگام دانلود و نصب یک ویژگی درخواستی

تأخیرها و خرابی های نصب را به آرامی در میان بگذارید

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

شکل 2. به کاربر اطلاع دهید که چرا یک ویژگی در این زمان نمی تواند نصب شود

شکل 3. به کاربر توضیح دهید که چرا دانلود یک ویژگی ممکن است بیشتر از حد انتظار طول بکشد

قبل از درخواست مجوز برای دانلودهای بزرگ، مقدار را نشان دهید

اگر یک ماژول درخواستی بزرگ باشد (> 150 مگابایت)، Google Play از کاربر می‌خواهد که ابتدا قبل از دانلود آن رضایت دهد.

قبل از درخواست ماژول، ارزش ماژول را برای کاربران خود توضیح دهید. به آن‌ها کمک کنید تا بفهمند چرا این درخواست را از آنها می‌کنید، همانطور که در هنگام درخواست مجوز برنامه انجام می‌دهید. برقراری ارتباط آشکار با کاربران احتمال پذیرش دانلود را افزایش می دهد.

به عنوان مثال، تصور کنید در حال ساختن یک اپلیکیشن تجارت الکترونیک هستید و یکی از ویژگی ها به کاربران اجازه می دهد تا با استفاده از واقعیت افزوده (AR) مبلمان را مستقیماً در آپارتمان خود قرار دهند. ممکن است پیامی مانند "آیا می‌خواهید مبل جدید خود را در اتاق نشیمن خود ببینید؟ نمایشگر واقعیت افزوده را اکنون نصب کنید."

دانلود و نصب را در پس زمینه انجام دهید

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

همانطور که در شکل 5 نشان داده شده است، کاربر همچنان به استفاده از برنامه ادامه می دهد و هنگامی که نصب یک ویژگی درخواستی کامل شد، یک اعلان دریافت می کند.

شکل 5. به جای تغییر ناگهانی زمینه کاربر پس از اتمام نصب ماژول، به کاربر اطلاع دهید که ویژگی درخواستی برای آنها آماده است.

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

در برخی موارد، می توانید این ویژگی را به محض آماده شدن راه اندازی کنید. با این حال، چون ممکن است تجربه کاربر را مختل کند، به دقت بررسی کنید که آیا این رفتار مورد انتظار و مناسب است یا خیر.

وقتی دیگر به ماژول نیاز نیست، فضای ذخیره‌سازی دستگاه را آزاد کنید

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

به عنوان مثال، برنامه شما ممکن است یک جریان ورودی قوی داشته باشد، شاید حاوی رسانه غنی باشد. پس از اینکه کاربر جریان ورود را کامل کرد، یا بعد از اینکه مدت زمان مشخصی کاربر فعال بود، می‌توانید از Play Feature Delivery API استفاده کنید تا از Google Play درخواست کنید فقط آن جزء برنامه شما را حذف نصب کند.

به خاطر داشته باشید، می‌توانید بعداً ماژول‌هایی را که در نصب اولیه برنامه اضافه کرده‌اید، حذف نصب کنید. به عنوان مثال، ماژولی که کاربران جدید را در مورد نحوه استفاده از برنامه شما آموزش می دهد، زمانی ارزشمند است که کاربران برای اولین بار از برنامه شما استفاده کنند. با این حال، برای کاهش اندازه برنامه، می‌توانید پس از اتمام آموزش، آن را حذف نصب کنید.

نکات پیشرفته

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

با این حال، ممکن است بخواهید پیش‌بینی کنید که چه زمانی کاربر احتمالاً با یک ویژگی درگیر می‌شود، قبل از اینکه به شما علامت دهد که می‌خواهد از آن استفاده کند. با استفاده از برنامه‌ای که به شما امکان می‌دهد به عنوان مثال، دستور العمل‌های آشپزی را دانلود و ایجاد کنید، دستورالعمل‌های زیر نحوه بهینه‌سازی تجربه تحویل ماژول را با پیش‌بینی نیازهای کاربر شرح می‌دهند.

نیاز کاربر به یک ویژگی در جلسه فعلی را پیش بینی کنید . در نظر بگیرید که آیا کاربران تنها زمانی که می خواهند دستور العمل های خود را ایجاد کرده و با جامعه به اشتراک بگذارند، نیاز به ایجاد حساب کاربری برای برنامه دستور غذا دارند یا خیر. می‌توانید از ایجاد حساب به‌عنوان سیگنالی استفاده کنید که کاربر احتمالاً می‌خواهد دستور غذای خود را اضافه کند، شروع به دانلود ماژول ویژگی قبل از اینکه کاربر حتی روی «افزودن دستور غذا» ضربه بزند، شروع شود. می‌توانید این رویکرد را برای سفرهای دیگر کاربران در برنامه اعمال کنید تا فرآیند دانلود ویژگی یکپارچه‌تر شود.

نیاز کاربر به این ویژگی را در جلسه آینده پیش بینی کنید . اگر نیازی ندارید برنامه خود را فوراً یک ماژول درخواستی دانلود و نصب کنید، می‌توانید نصب را برای زمانی که برنامه در پس‌زمینه است به تعویق بیندازید و Google Play بارگیری و نصب را برای شما انجام می‌دهد. به عنوان مثال، تصور کنید که می خواهید دستور العمل های فصلی جدیدی را برای برنامه آشپزی منتشر کنید، که برای جلسه فعلی کاربر اولویت بالایی ندارند. وقتی برنامه در پس‌زمینه است، می‌توانید از Play درخواست کنید تا این دستور العمل‌ها را دانلود و نصب کند. این به ویژه برای ویژگی‌های بزرگتر (> 10 مگابایت) که فوراً مورد نیاز نیستند، اما احتمالاً در آینده مورد نیاز خواهند بود، مفید است.

قبل از نصب برنامه نیاز کاربر به یک ویژگی را پیش بینی کنید . ممکن است بخواهید پشتیبانی برای تحویل مشروط اضافه کنید تا ویژگی شما در زمان نصب بر اساس کشور کاربر، قابلیت سخت‌افزار دستگاه و سطح API درج شود. به عنوان مثال، ممکن است بخواهید دستور العمل هایی را اضافه کنید که از گوشت خوک در ماژول های شرطی استفاده می کنند و آن ماژول را از نصب برنامه در مناطقی که عمدتاً از غذاهای گوشت خوک اجتناب می کنند حذف کنید.

،

عملکردهایی که به عنوان یک ماژول درخواستی به خوبی کار می کند، مواردی هستند که اکثر کاربران شما در زمان نصب به آنها نیاز ندارند. در زیر چند نمونه برای ویژگی‌های برنامه‌ای که بنا به درخواست ماژول‌ها مناسب هستند آورده شده است:

  • ویرایش و آپلود یک ویدیو در برنامه‌ای که اکثر کاربران فقط ویدیوها را تماشا می‌کنند
  • افزودن یک دستور غذا در یک برنامه، که در آن اکثر کاربران فقط دستور العمل های دیگران را مرور می کنند و دنبال می کنند
  • هنگامی که اکثر کاربران به دنبال کمک نیستند یا در داخل برنامه به دنبال آن نیستند، عملکرد کمک و پشتیبانی می کند
  • کتابخانه های بزرگ برای عملکردهای کمتر استفاده شده مانند ارائه جزئیات ثبت اشکال و گزارش
  • قابلیت پرداخت یا پرداخت خاص
  • تجربیات رسانه ای با وضوح بسیار بالا یا ویژگی های VR/AR

در موارد معمولی که این ماژول ها نسبتا کوچک هستند (کمتر از 10 مگابایت)، و هیچ شبکه یا خرابی دیگری وجود ندارد، کاربران می توانند خیلی سریع یک ماژول درخواستی را دانلود کرده و از آن استفاده کنند. یعنی، تجربه معمولاً با زمانی که ماژول در نصب برنامه وجود داشته باشد، تفاوتی ندارد.

این صفحه بهترین روش‌هایی را توضیح می‌دهد که به شما در انجام کارهای زیر کمک می‌کند:

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

پس از خواندن این راهنما، با امتحان برنامه نمونه Play Core API، این بهترین روش‌ها را در عمل مشاهده کنید.

کاربر را در جریان بگذارید

هنگامی که یک ویژگی فوراً در دسترس نیست، باید به کاربر اطلاع دهید. اگر کاربری تصمیم گرفت این ویژگی را از Google Play دانلود کند، پیشرفت دانلود را نمایش دهید.

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

  • برای ماژول های کوچکتر (~10 مگابایت یا کمتر) که می توانند خیلی سریع نصب شوند، شاخص هایی مانند اسپینرها یا پیام کوتاه "دانلود محتوا" را در نظر بگیرید.
  • برای ماژول‌های بزرگ‌تر که دانلود و نصب آن‌ها چند ثانیه یا بیشتر طول می‌کشد، نوار پیشرفت دانلود و نصب را نشان دهید، مانند آنچه در شکل 1 نشان داده شده است.

شکل 1. نمایش یک پیام و نوار پیشرفت هنگام دانلود و نصب یک ویژگی درخواستی

تأخیرها و خرابی های نصب را به آرامی در میان بگذارید

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

شکل 2. به کاربر اطلاع دهید که چرا یک ویژگی در این زمان نمی تواند نصب شود

شکل 3. به کاربر توضیح دهید که چرا دانلود یک ویژگی ممکن است بیشتر از حد انتظار طول بکشد

قبل از درخواست مجوز برای دانلودهای بزرگ، مقدار را نشان دهید

اگر یک ماژول درخواستی بزرگ باشد (> 150 مگابایت)، Google Play از کاربر می‌خواهد که ابتدا قبل از دانلود آن رضایت دهد.

قبل از درخواست ماژول، ارزش ماژول را برای کاربران خود توضیح دهید. به آن‌ها کمک کنید تا بفهمند چرا این درخواست را از آنها می‌کنید، همانطور که در هنگام درخواست مجوز برنامه انجام می‌دهید. برقراری ارتباط آشکار با کاربران احتمال پذیرش دانلود را افزایش می دهد.

به عنوان مثال، تصور کنید در حال ساختن یک اپلیکیشن تجارت الکترونیک هستید و یکی از ویژگی ها به کاربران اجازه می دهد تا با استفاده از واقعیت افزوده (AR) مبلمان را مستقیماً در آپارتمان خود قرار دهند. ممکن است پیامی مانند "آیا می‌خواهید مبل جدید خود را در اتاق نشیمن خود ببینید؟ نمایشگر واقعیت افزوده را اکنون نصب کنید."

دانلود و نصب را در پس زمینه انجام دهید

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

همانطور که در شکل 5 نشان داده شده است، کاربر همچنان به استفاده از برنامه ادامه می دهد و هنگامی که نصب یک ویژگی درخواستی کامل شد، یک اعلان دریافت می کند.

شکل 5. به جای تغییر ناگهانی زمینه کاربر پس از اتمام نصب ماژول، به کاربر اطلاع دهید که ویژگی درخواستی برای آنها آماده است.

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

در برخی موارد، می توانید این ویژگی را به محض آماده شدن راه اندازی کنید. با این حال، چون ممکن است تجربه کاربر را مختل کند، به دقت بررسی کنید که آیا این رفتار مورد انتظار و مناسب است یا خیر.

وقتی دیگر به ماژول نیاز نیست، فضای ذخیره‌سازی دستگاه را آزاد کنید

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

به عنوان مثال، برنامه شما ممکن است یک جریان ورودی قوی داشته باشد، شاید حاوی رسانه غنی باشد. پس از اینکه کاربر جریان ورود را کامل کرد، یا بعد از اینکه مدت زمان مشخصی کاربر فعال بود، می‌توانید از Play Feature Delivery API استفاده کنید تا از Google Play درخواست کنید فقط آن جزء برنامه شما را حذف نصب کند.

به خاطر داشته باشید، می‌توانید بعداً ماژول‌هایی را که در نصب اولیه برنامه اضافه کرده‌اید، حذف نصب کنید. به عنوان مثال، ماژولی که کاربران جدید را در مورد نحوه استفاده از برنامه شما آموزش می دهد، زمانی ارزشمند است که کاربران برای اولین بار از برنامه شما استفاده کنند. با این حال، برای کاهش اندازه برنامه، می‌توانید پس از اتمام آموزش، آن را حذف نصب کنید.

نکات پیشرفته

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

با این حال، ممکن است بخواهید پیش‌بینی کنید که چه زمانی کاربر احتمالاً با یک ویژگی درگیر می‌شود، قبل از اینکه به شما علامت دهد که می‌خواهد از آن استفاده کند. با استفاده از برنامه‌ای که به شما امکان می‌دهد به عنوان مثال، دستور العمل‌های آشپزی را دانلود و ایجاد کنید، دستورالعمل‌های زیر نحوه بهینه‌سازی تجربه تحویل ماژول را با پیش‌بینی نیازهای کاربر شرح می‌دهند.

نیاز کاربر به یک ویژگی در جلسه فعلی را پیش بینی کنید . در نظر بگیرید که آیا کاربران تنها زمانی که می خواهند دستور العمل های خود را ایجاد کرده و با جامعه به اشتراک بگذارند، نیاز به ایجاد حساب کاربری برای برنامه دستور غذا دارند یا خیر. می‌توانید از ایجاد حساب به‌عنوان سیگنالی استفاده کنید که کاربر احتمالاً می‌خواهد دستور غذای خود را اضافه کند، شروع به دانلود ماژول ویژگی قبل از اینکه کاربر حتی روی «افزودن دستور غذا» ضربه بزند، شروع شود. می‌توانید این رویکرد را برای سفرهای دیگر کاربران در برنامه اعمال کنید تا فرآیند دانلود ویژگی یکپارچه‌تر شود.

نیاز کاربر به این ویژگی را در جلسه آینده پیش بینی کنید . اگر نیازی ندارید برنامه خود را فوراً یک ماژول درخواستی دانلود و نصب کنید، می‌توانید نصب را برای زمانی که برنامه در پس‌زمینه است به تعویق بیندازید و Google Play بارگیری و نصب را برای شما انجام می‌دهد. به عنوان مثال، تصور کنید که می خواهید دستور العمل های فصلی جدیدی را برای برنامه آشپزی منتشر کنید، که برای جلسه فعلی کاربر اولویت بالایی ندارند. وقتی برنامه در پس‌زمینه است، می‌توانید از Play درخواست کنید تا این دستور العمل‌ها را دانلود و نصب کند. این به ویژه برای ویژگی‌های بزرگتر (> 10 مگابایت) که فوراً مورد نیاز نیستند، اما احتمالاً در آینده مورد نیاز خواهند بود، مفید است.

قبل از نصب برنامه نیاز کاربر به یک ویژگی را پیش بینی کنید . ممکن است بخواهید پشتیبانی برای تحویل مشروط اضافه کنید تا ویژگی شما در زمان نصب بر اساس کشور کاربر، قابلیت سخت‌افزار دستگاه و سطح API درج شود. به عنوان مثال، ممکن است بخواهید دستور العمل هایی را اضافه کنید که از گوشت خوک در ماژول های شرطی استفاده می کنند و آن ماژول را از نصب برنامه در مناطقی که عمدتاً از غذاهای گوشت خوک اجتناب می کنند حذف کنید.

،

عملکردهایی که به عنوان یک ماژول درخواستی به خوبی کار می کند، مواردی هستند که اکثر کاربران شما در زمان نصب به آنها نیاز ندارند. در زیر چند نمونه برای ویژگی‌های برنامه‌ای که بنا به درخواست ماژول‌ها مناسب هستند آورده شده است:

  • ویرایش و آپلود یک ویدیو در برنامه‌ای که اکثر کاربران فقط ویدیوها را تماشا می‌کنند
  • افزودن یک دستور غذا در یک برنامه، که در آن اکثر کاربران فقط دستور العمل های دیگران را مرور می کنند و دنبال می کنند
  • هنگامی که اکثر کاربران به دنبال کمک نیستند یا در داخل برنامه به دنبال آن نیستند، عملکرد کمک و پشتیبانی می کند
  • کتابخانه های بزرگ برای عملکردهای کمتر استفاده شده مانند ارائه جزئیات ثبت اشکال و گزارش
  • قابلیت پرداخت یا پرداخت خاص
  • تجربیات رسانه ای با وضوح بسیار بالا یا ویژگی های VR/AR

در موارد معمولی که این ماژول ها نسبتا کوچک هستند (کمتر از 10 مگابایت)، و هیچ شبکه یا خرابی دیگری وجود ندارد، کاربران می توانند خیلی سریع یک ماژول درخواستی را دانلود کرده و از آن استفاده کنند. یعنی، تجربه معمولاً با زمانی که ماژول در نصب برنامه وجود داشته باشد، تفاوتی ندارد.

این صفحه بهترین روش هایی را توضیح می دهد که به شما در انجام کارهای زیر کمک می کند:

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

پس از خواندن این راهنما، با امتحان برنامه نمونه Play Core API، این بهترین روش‌ها را در عمل مشاهده کنید.

کاربر را در جریان بگذارید

هنگامی که یک ویژگی فوراً در دسترس نیست، باید به کاربر اطلاع دهید. اگر کاربری تصمیم گرفت این ویژگی را از Google Play دانلود کند، پیشرفت دانلود را نمایش دهید.

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

  • برای ماژول های کوچکتر (~10 مگابایت یا کمتر) که می توانند خیلی سریع نصب شوند، شاخص هایی مانند اسپینرها یا پیام کوتاه "دانلود محتوا" را در نظر بگیرید.
  • برای ماژول‌های بزرگ‌تر که دانلود و نصب آن‌ها چند ثانیه یا بیشتر طول می‌کشد، نوار پیشرفت دانلود و نصب را نشان دهید، مانند آنچه در شکل 1 نشان داده شده است.

شکل 1. نمایش یک پیام و نوار پیشرفت هنگام دانلود و نصب یک ویژگی درخواستی

تأخیرها و خرابی های نصب را به آرامی در میان بگذارید

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

شکل 2. به کاربر اطلاع دهید که چرا یک ویژگی در این زمان نمی تواند نصب شود

شکل 3. به کاربر توضیح دهید که چرا دانلود یک ویژگی ممکن است بیشتر از حد انتظار طول بکشد

قبل از درخواست مجوز برای دانلودهای بزرگ، مقدار را نشان دهید

اگر یک ماژول درخواستی بزرگ باشد (> 150 مگابایت)، Google Play از کاربر می‌خواهد که ابتدا قبل از دانلود آن رضایت دهد.

قبل از درخواست ماژول، ارزش ماژول را برای کاربران خود توضیح دهید. به آن‌ها کمک کنید تا بفهمند چرا این درخواست را از آنها می‌کنید، همانطور که در هنگام درخواست مجوز برنامه انجام می‌دهید. برقراری ارتباط آشکار با کاربران احتمال پذیرش دانلود را افزایش می دهد.

به عنوان مثال، تصور کنید در حال ساختن یک اپلیکیشن تجارت الکترونیک هستید و یکی از ویژگی ها به کاربران اجازه می دهد تا با استفاده از واقعیت افزوده (AR) مبلمان را مستقیماً در آپارتمان خود قرار دهند. ممکن است پیامی مانند "آیا می‌خواهید مبل جدید خود را در اتاق نشیمن خود ببینید؟ نمایشگر واقعیت افزوده را اکنون نصب کنید."

دانلود و نصب را در پس زمینه انجام دهید

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

همانطور که در شکل 5 نشان داده شده است، کاربر همچنان به استفاده از برنامه ادامه می دهد و هنگامی که نصب یک ویژگی درخواستی کامل شد، یک اعلان دریافت می کند.

شکل 5. به جای تغییر ناگهانی زمینه کاربر پس از اتمام نصب ماژول، به کاربر اطلاع دهید که ویژگی درخواستی برای آنها آماده است.

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

در برخی موارد، می توانید این ویژگی را به محض آماده شدن راه اندازی کنید. با این حال، چون ممکن است تجربه کاربر را مختل کند، به دقت بررسی کنید که آیا این رفتار مورد انتظار و مناسب است یا خیر.

وقتی دیگر به ماژول نیاز نیست، فضای ذخیره‌سازی دستگاه را آزاد کنید

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

به عنوان مثال، برنامه شما ممکن است یک جریان ورودی قوی داشته باشد، شاید حاوی رسانه غنی باشد. پس از اینکه کاربر جریان ورود را کامل کرد، یا بعد از اینکه مدت زمان مشخصی کاربر فعال بود، می‌توانید از Play Feature Delivery API استفاده کنید تا از Google Play درخواست کنید فقط آن جزء برنامه شما را حذف نصب کند.

به خاطر داشته باشید، می‌توانید بعداً ماژول‌هایی را که در نصب اولیه برنامه اضافه کرده‌اید، حذف نصب کنید. به عنوان مثال، ماژولی که کاربران جدید را در مورد نحوه استفاده از برنامه شما آموزش می دهد، زمانی ارزشمند است که کاربران برای اولین بار از برنامه شما استفاده کنند. با این حال، برای کاهش اندازه برنامه، می‌توانید پس از اتمام آموزش، آن را حذف نصب کنید.

نکات پیشرفته

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

با این حال، ممکن است بخواهید پیش‌بینی کنید که چه زمانی کاربر احتمالاً با یک ویژگی درگیر می‌شود، قبل از اینکه به شما علامت دهد که می‌خواهد از آن استفاده کند. با استفاده از برنامه‌ای که به شما امکان می‌دهد به عنوان مثال، دستور العمل‌های آشپزی را دانلود و ایجاد کنید، دستورالعمل‌های زیر نحوه بهینه‌سازی تجربه تحویل ماژول را با پیش‌بینی نیازهای کاربر شرح می‌دهند.

نیاز کاربر به یک ویژگی در جلسه فعلی را پیش بینی کنید . در نظر بگیرید که آیا کاربران تنها زمانی که می خواهند دستور العمل های خود را ایجاد کرده و با جامعه به اشتراک بگذارند، نیاز به ایجاد حساب کاربری برای برنامه دستور غذا دارند یا خیر. می‌توانید از ایجاد حساب به‌عنوان سیگنالی استفاده کنید که کاربر احتمالاً می‌خواهد دستور غذای خود را اضافه کند، شروع به دانلود ماژول ویژگی قبل از اینکه کاربر حتی روی «افزودن دستور غذا» ضربه بزند، شروع شود. می‌توانید این رویکرد را برای سفرهای دیگر کاربران در برنامه اعمال کنید تا فرآیند دانلود ویژگی یکپارچه‌تر شود.

نیاز کاربر به این ویژگی را در جلسه آینده پیش بینی کنید . اگر نیازی ندارید برنامه خود را فوراً یک ماژول درخواستی دانلود و نصب کنید، می‌توانید نصب را برای زمانی که برنامه در پس‌زمینه است به تعویق بیندازید و Google Play بارگیری و نصب را برای شما انجام می‌دهد. به عنوان مثال، تصور کنید که می خواهید دستور العمل های فصلی جدیدی را برای برنامه آشپزی منتشر کنید، که برای جلسه فعلی کاربر اولویت بالایی ندارند. وقتی برنامه در پس‌زمینه است، می‌توانید از Play درخواست کنید تا این دستور العمل‌ها را دانلود و نصب کند. این به ویژه برای ویژگی‌های بزرگتر (> 10 مگابایت) که فوراً مورد نیاز نیستند، اما احتمالاً در آینده مورد نیاز خواهند بود، مفید است.

قبل از نصب برنامه نیاز کاربر به یک ویژگی را پیش بینی کنید . ممکن است بخواهید پشتیبانی برای تحویل مشروط اضافه کنید تا ویژگی شما در زمان نصب بر اساس کشور کاربر، قابلیت سخت‌افزار دستگاه و سطح API درج شود. به عنوان مثال، ممکن است بخواهید دستور العمل هایی را اضافه کنید که از گوشت خوک در ماژول های شرطی استفاده می کنند و آن ماژول را از نصب برنامه در مناطقی که عمدتاً از غذاهای گوشت خوک اجتناب می کنند حذف کنید.