پیمایش بین صفحهها و برنامههای مختلف بخش اصلی تجربه کاربری است. اصول زیر خط پایهای برای تجربه کاربری یکپارچه و شهودی در برنامهها تعیین میکند. مؤلفه پیمایش بهگونهای طراحی شده است که این اصول را بهطور پیشفرض پیادهسازی کند و اطمینان حاصل کند که کاربران میتوانند از همان الگوها و روشهای اکتشافی در پیمایش هنگام جابهجایی بین برنامهها استفاده کنند.
مقصد شروع ثابت
هر برنامهای که میسازید مقصد شروع ثابتی دارد. این اولین صفحهای است که کاربر هنگام راهاندازی برنامه شما از راهانداز میبیند. این مقصد همچنین آخرین صفحهای است که کاربر هنگام بازگشت به راهانداز پساز فشار دادن دکمه «برگشت» میبیند. بیایید بهعنوان نمونه نگاهی به برنامه Sunflower بیندازیم.

شکل ۱. «صفحه فهرست» مقصد شروع برنامه Sunflower است.
هنگام راهاندازی برنامه Sunflower از راهانداز، اولین صفحهای که کاربر میبیند صفحه فهرست است، فهرست گیاهان در باغچه او. این همچنین آخرین صفحهای است که قبلاز خروج از برنامه میبینند. اگر دکمه «برگشت» را از صفحه فهرست فشار دهند، به راهانداز برمیگردند.
وضعیت پیمایش بهصورت دستهای از مقصدها نشان داده میشود
وقتی برنامهتان برای اولینبار راهاندازی میشود، تکلیف جدیدی برای کاربر ایجاد میشود و برنامه مقصد شروع خود را نمایش میدهد. این مقصد پایه چیزی میشود که بهعنوان پشته قبلیها شناخته میشود و پایه وضعیت پیمایش برنامه شما است. بالای پشته صفحه فعلی است و مقصدهای قبلی در پشته نشاندهنده سابقه جاهایی است که بودهاید. پشته قبلیها همیشه مقصد شروع برنامه را در پایین پشته دارد.
عملیاتی که پشته قبلیها را تغییر میدهند همیشه در بالای پشته عمل میکنند، چه با فشار دادن مقصد جدیدی به بالای پشته یا با بیرون کشیدن بالاترین مقصد از پشته. پیمایش به مقصد، آن مقصد را به بالای پشته میبرد.
مؤلفه پیمایش همه ترتیب پشته قبلیها را برای شما مدیریت میکند، هرچند میتوانید انتخاب کنید که پشته قبلیها را خودتان مدیریت کنید.
«بالا» و «برگشت» در تکلیف برنامهتان یکسان هستند

شکل ۲. دکمههای «بالا» و «برگشت»
دکمه «برگشت» در نوار پیمایش سیستم در پایین صفحه ظاهر میشود و برای پیمایش به ترتیب زمانی معکوس در سابقه صفحههایی که کاربر اخیراً با آنها کار کرده است استفاده میشود. وقتی دکمه «برگشتن» را فشار میدهید، مقصد فعلی از بالای پشته قبلیها برداشته میشود و سپس به مقصد قبلی پیمایش میکنید.
دکمه «بالا» در نوار برنامه در بالای صفحه ظاهر میشود. در تکلیف برنامهتان، دکمههای «بالا» و «برگشت» رفتار یکسانی دارند.
دکمه «بالا» هرگز از برنامه شما خارج نمیشود
اگر کاربر در مقصد شروع برنامه باشد، دکمه «بالا» نشان داده نمیشود، زیرا دکمه «بالا» هرگز از برنامه خارج نمیشود. اما دکمه «برگشت» نشان داده میشود و از برنامه خارج میشود.
وقتی برنامهتان بااستفاده از پیوند عمیق در تکلیف برنامه دیگری راهاندازی میشود، «بالا» کاربران را به تکلیف برنامهتان و ازطریق پشته قبلیهای شبیهسازیشده برمیگرداند و نه به برنامهای که پیوند عمیق را راهاندازی کرده است. اما دکمه «برگشت» شما را به برنامه دیگر برمیگرداند.
پیونددهی عمیق پیمایش دستی را شبیهسازی میکند
چه از پیوند عمیق استفاده کنید یا بهصورت دستی به مقصد خاصی پیمایش کنید، میتوانید از دکمه «بالا» برای پیمایش در مقصدها و بازگشت به مقصد شروع استفاده کنید.
هنگام پیوند عمیق به مقصدی در تکلیف برنامهتان، هر پشته قبلیها موجود برای تکلیف برنامهتان برداشته میشود و با پشته قبلیها پیوند عمیقشده جایگزین میشود.
بااستفاده از برنامه Sunflower بهعنوان نمونه، فرض کنیم که کاربر قبلاً برنامه را از صفحه راهانداز راهاندازی کرده و به صفحه جزئیات سیب رفته است. نگاه کردن به صفحه «موارد اخیر» نشان میدهد که تکلیفی وجود دارد که بالاترین صفحه آن صفحه جزئیات Apple است.

شکل ۳. پیمایش کاربر در برنامه Sunflower و پشته قبلیها که درنتیجه آن ایجاد میشود.
در این مرحله، کاربر میتواند روی دکمه «صفحه اصلی» تکضرب بزند تا برنامه را در پسزمینه قرار دهد. سپس، فرض کنید این برنامه ویژگی پیوند عمیقی دارد که به کاربران اجازه میدهد مستقیماً به صفحه جزئیات گیاه خاصی با نام آن بروند. باز کردن برنامه ازطریق این پیوند عمیق، پشته قبلیهای Sunflower فعلی نشاندادهشده در شکل ۳ را کاملاً با پشته قبلیهای جدیدی جایگزین میکند، همانطور که در شکل ۴ نشان داده شده است:

شکل ۴. دنبال کردن پیوند عمیق، پشته قبلیهای موجود را برای برنامه Sunflower جایگزین میکند.
توجه کنید که پشته قبلیهای Sunflower با پشته قبلیهای مصنوعی با صفحه جزئیات آووکادو در بالا جایگزین شده است. صفحه My Garden که مقصد شروع است نیز به پشته قبلیها اضافه شد. پشته قبلیهای Sunflower اصلی ازبین رفته است، ازجمله اطلاعات برنامه درباره اینکه کاربر قبلاً در صفحه جزئیات Apple بوده است. همه اینها مهم است زیرا پشته قبلیهای مصنوعی باید واقعگرایانه باشد. این پشته قبلیها باید با پشته قبلیهایی که میتوانست ازطریق پیمایش طبیعی در برنامه بهدست آید مطابقت داشته باشد.
برای برآورده کردن این نیاز، پشته قبلیهای مصنوعی ایجادشده، پشتهای سادهشده
براساس NavGraph است. برای NavGraph ساده بدون تودرتو، این شامل مقصد شروع و مقصد پیوند عمیق خواهد بود. برای
نمودارهای پیمایش تودرتو پیچیدهتر،
پشته قبلیهای مصنوعی همچنین شامل مقصدهای شروع هر نمودار تودرتویی
خواهد بود که از اجداد مقصد پیوند عمیق هستند.
مؤلفه «ناوبری» از پیوند عمیق پشتیبانی میکند و هنگام پیوند دادن به هر مقصدی در نمودار ناوبری، پشته قبلیهای واقعگرایانهای برای شما بازآفرینی میکند.