ناوبری بین صفحه نمایش ها و برنامه های مختلف بخش اصلی تجربه کاربر است. اصول زیر مبنایی را برای یک تجربه کاربری ثابت و شهودی در سراسر برنامه ها تعیین می کند. مؤلفه ناوبری برای پیادهسازی این اصول بهطور پیشفرض طراحی شده است و تضمین میکند که کاربران میتوانند همان اکتشافیها و الگوها را در مسیریابی هنگام حرکت بین برنامهها اعمال کنند.
هر اپلیکیشنی که میسازید یک مقصد شروع ثابت دارد. این اولین صفحهای است که کاربر هنگام راهاندازی برنامه شما از راهانداز میبیند. این مقصد همچنین آخرین صفحهای است که کاربر هنگام بازگشت به لانچر پس از فشار دادن دکمه برگشت مشاهده میکند. بیایید به عنوان مثال به اپلیکیشن Sunflower نگاهی بیندازیم.
شکل 1. صفحه فهرست مقصد شروع برنامه Sunflower است.
هنگام راهاندازی برنامه Sunflower از راهانداز، اولین صفحهای که کاربر میبیند صفحه فهرست است، فهرست گیاهان باغ او. این آخرین صفحه ای است که قبل از خروج از برنامه می بینند. اگر دکمه بازگشت را از صفحه فهرست فشار دهند، به راهانداز برمیگردند.
هنگامی که برنامه شما برای اولین بار راه اندازی می شود، یک کار جدید برای کاربر ایجاد می شود و برنامه مقصد شروع خود را نشان می دهد. این تبدیل به مقصد اصلی چیزی می شود که به پشته پشته معروف است و مبنایی برای وضعیت ناوبری برنامه شما است. بالای پشته صفحه فعلی است و مقاصد قبلی در پشته نشان دهنده تاریخ مکانی است که شما بوده اید. پشته پشته همیشه مقصد شروع برنامه را در پایین پشته دارد.
عملیاتی که پشته را تغییر می دهد همیشه در بالای پشته عمل می کند، یا با فشار دادن یک مقصد جدید به بالای پشته یا بیرون زدن بالاترین مقصد از پشته. پیمایش به یک مقصد، آن مقصد را در بالای پشته هل می دهد.
مولفه Navigation تمام سفارشهای پشته پشته را برای شما مدیریت میکند، اگرچه شما همچنین میتوانید انتخاب کنید که پشته پشته را خودتان مدیریت کنید.
شکل 2. دکمه های Up و Back
دکمه برگشت در نوار ناوبری سیستم در پایین صفحه ظاهر می شود و برای پیمایش به ترتیب زمانی معکوس در تاریخچه صفحه هایی که کاربر اخیراً با آنها کار کرده است استفاده می شود. هنگامی که دکمه بازگشت را فشار می دهید، مقصد فعلی از بالای پشته ظاهر می شود و سپس به مقصد قبلی حرکت می کنید.
دکمه Up در نوار برنامه در بالای صفحه ظاهر می شود. در وظایف برنامه شما، دکمههای بالا و برگشت یکسان عمل میکنند.
اگر کاربر در مقصد شروع برنامه باشد، دکمه Up ظاهر نمی شود، زیرا دکمه Up هرگز از برنامه خارج نمی شود. با این حال، دکمه برگشت نشان داده می شود و از برنامه خارج می شود.
هنگامی که برنامه شما با استفاده از پیوند عمیق در وظیفه برنامه دیگر راه اندازی می شود، Up کاربران را به وظیفه برنامه شما و از طریق پشته شبیه سازی شده و نه به برنامه ای که پیوند عمیق را راه اندازی کرده است، منتقل می کند. با این حال، دکمه برگشت شما را به برنامه دیگر بازمی گرداند.
چه پیوند عمیق یا پیمایش دستی به یک مقصد خاص، میتوانید از دکمه بالا برای پیمایش در میان مقصدها به مقصد شروع استفاده کنید.
هنگام پیوند عمیق به مقصدی در وظیفه برنامه، هر پشته پشتی موجود برای کار برنامه شما حذف می شود و با پشته پیوند عمیق جایگزین می شود.
با استفاده مجدد از برنامه Sunflower به عنوان مثال، فرض می کنیم که کاربر قبلاً برنامه را از صفحه لانچر راه اندازی کرده و به صفحه جزئیات یک سیب رفته است. نگاه کردن به صفحه نمایش اخیر نشان می دهد که وظیفه ای وجود دارد که بیشترین صفحه نمایش، صفحه نمایش جزئیات برای اپل است.
شکل 3. پیمایش کاربر از طریق برنامه Sunflower و پشته برگشتی حاصل.
در این مرحله، کاربر می تواند روی دکمه Home ضربه بزند تا برنامه را در پس زمینه قرار دهد. در مرحله بعد، فرض کنید این برنامه دارای یک ویژگی پیوند عمیق است که به کاربران اجازه می دهد مستقیماً در یک صفحه نمایش جزئیات گیاه خاص با نام راه اندازی شوند. باز کردن برنامه از طریق این پیوند عمیق به طور کامل پشته پشته آفتابگردان فعلی نشان داده شده در شکل 3 را با یک پشته جدید جایگزین می کند، همانطور که در شکل 4 نشان داده شده است:
شکل 4. دنبال کردن یک پیوند عمیق جایگزین پشته پشتی موجود برای برنامه Sunflower می شود.
توجه داشته باشید که پشته پشته آفتابگردان با یک پشته مصنوعی با صفحه نمایش جزئیات آووکادو در بالا جایگزین شده است. صفحه My Garden که مقصد شروع است نیز به پشته اضافه شد. پشته اصلی Sunflower از بین رفته است، از جمله آگاهی برنامه مبنی بر اینکه کاربر قبلاً روی صفحه جزئیات اپل بوده است. همه اینها مهم است زیرا پشته مصنوعی باید واقع بینانه باشد. باید با پشتهای مطابقت داشته باشد که میتوانست با پیمایش ارگانیک در برنامه به دست آید.
برای برآورده کردن این نیاز، پشته مصنوعی ساخته شده بر اساس NavGraph
ساده شده است. برای یک NavGraph
ساده بدون تودرتو، این شامل مقصد شروع و مقصد پیوند عمیق است. برای نمودارهای ناوبری تودرتو پیچیده تر، پشته مصنوعی همچنین شامل مقصد شروع هر گراف تودرتویی است که اجداد مقصد پیوند عمیق هستند.
مؤلفه Navigation از پیوند عمیق پشتیبانی می کند و هنگام پیوند به هر مقصدی در نمودار ناوبری، یک پشته واقعی واقعی را برای شما ایجاد می کند.