با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
اندروید به شما این امکان را می دهد که به عنوان یک توسعه دهنده از قدرت وب در برنامه های خود استفاده کنید، بنابراین می توانید از انعطاف پذیری و کارایی امکان نمایش انواع خاصی از محتوا بهره مند شوید.
این به شما امکان می دهد محتوای وب موجود را به طور یکپارچه در برنامه اندرویدی خود ادغام کنید، مانند نمایش فید خبری، نمایش آموزش های تعاملی، نمایش تبلیغات یا حتی میزبانی یک مینی بازی بدون ساختن همه چیز از ابتدا. به آن به عنوان پنجره ای به اینترنت، از درون برنامه خود فکر کنید. دو راه برای جاسازی محتوای وب در برنامه شما وجود دارد:
WebView : محتوای وب را که شما به صورت درون خطی کنترل میکنید، در جایی که میخواهید انعطافپذیری بالایی در سفارشیسازی یا بهروزرسانی رابط کاربری داشته باشید، نمایش میدهد.
برگههای سفارشی : تجربه کامل مرور درون برنامهای که توسط مرورگر پیشفرض کاربر ( به پشتیبانی مرورگر مراجعه کنید ) ارائه میشود، برای زمانی که کاربران روی پیوندی کلیک میکنند و میخواهید آنها را در برنامه نگه دارید، بهجای اینکه به یک مرورگر خارجی بسپارید، با بیشتر تجربه مرور خارج از جعبه.
شکل 1. WebView (چپ) و تب سفارشی (راست) مشخص شده است.
چرا محتوای وب را جاسازی کنیم؟
کارایی: از کدهای موجود در وب سایت خود مجددا استفاده کنید. بر اساس فناوریها و محتوای موجود وب بسازید.
یکپارچه سازی: از محتوای خارجی ارائه دهندگان 3P، مانند رسانه، تبلیغات، در برنامه خود استفاده کنید.
انعطافپذیری: محتوا را بهصورت پویا و بدون محدود شدن به رابطهای کاربری از پیش تعریفشده یا بدون انتشار بهروزرسانیهای برنامه، بهروزرسانی کنید.
چه زمانی از محتوای وب استفاده کنیم؟
سه مورد اصلی برای استفاده از وب در برنامه Android شما وجود دارد:
محتوای وب خود را به صورت درون خطی به عنوان یک تجربه اولیه نمایش دهید که در آن میخواهید انعطافپذیری بالایی در سفارشیسازی یا بهروزرسانی رابط کاربری داشته باشید.
محتوای دیگری مانند تبلیغات، شرایط و مقررات قانونی، یا سایر محتوای شخص ثالث را به صورت درون خطی یا به عنوان پنجره ای در تجربه برنامه خود نمایش دهید.
شکل 2. محتوای وب تعبیه شده در برنامه با WebViews به عنوان محتوای اصلی (چپ) و محتوای پشتیبانی (راست).
2. مرور درون برنامه ای با استفاده از تب های سفارشی یا WebView برای موارد استفاده پیشرفته تر
برای زمانی که کاربران روی پیوندی کلیک میکنند و میخواهید آنها را در برنامه نگه دارید، به جای رفتن به یک مرورگر خارجی، یک تجربه کامل از مرور درون برنامهای داشته باشید.
توجه: برای دستگاههای صفحهنمایش بزرگ مانند تبلتها و تاشوها، گزینههای اضافی برای کمک به برنامهها برای استفاده از فضای اضافی وجود دارد:
برنامهها میتوانند با استفاده از راهاندازی تجربه چند پنجرهای مجاور، پیوندهای وب را در صفحه تقسیم شده باز کنند. این به کاربران امکان می دهد همزمان بین برنامه شما و یک مرورگر چند کار انجام دهند. یا
تب های سفارشی یک گزینه پانل جانبی دارند که می تواند در همان کار باز شود، اما در کنار محتوای برنامه موجود شما.
Tab Custom توسط مرورگر پیشفرض کاربر، برای مرورگرهایی که از Tabs پشتیبانی میکنند، پشتیبانی میشود.
در حالی که امکان استفاده از WebView و ارائه یک تجربه مرور درون برنامه ای بسیار قابل تنظیم است، ما تب های سفارشی را برای تجربه مرورگر خارج از جعبه و انتقال بدون درز برای زمانی که کاربر می خواهد پیوند وب را در مرورگر باز کند، توصیه می کنیم.
شکل 3. با کلیک بر روی پیوند درون برنامه (سمت چپ) و باز کردن یک مرورگر درون برنامه (راست).
3. ورود یا احراز هویت در برنامه شما جریان دارد
رویکرد پیشنهادی اندروید این است که با استفاده از Credential Manager جریانهای ورود به سیستم یا احراز هویت خود را ایجاد کنید. اگر متوجه شدید که هنوز نیاز به استفاده از Embedded Web برای این تجربیات دارید، از راهنمایی زیر استفاده کنید:
برخی از برنامهها از WebViews برای ارائه جریانهای ورود به سیستم برای کاربران خود استفاده میکنند، از جمله استفاده از نام کاربری و کلید عبور (یا رمز عبور) مخصوص برنامه شما. این به توسعه دهندگان امکان می دهد تا جریان های احراز هویت را در سراسر پلتفرم ها یکسان کنند.
هنگام پیوند دادن به ارائهدهنده هویت شخص ثالث یا تجربه ورود به سیستم، مانند «ورود به سیستم با…»، برگههای سفارشی راهی برای رفتن هستند. راهاندازی برگههای سفارشی تضمین میکند که اعتبار کاربر محافظت شده و در سایت شخص ثالث ایزوله میماند.
شکل 4. یک فیلد ورود به برنامه (سمت چپ) و یک ورود به سیستم شخص ثالث در یک برگه سفارشی (راست) باز شده است.
محتوا و نمونه کدها در این صفحه مشمول پروانههای توصیفشده در پروانه محتوا هستند. جاوا و OpenJDK علامتهای تجاری یا علامتهای تجاری ثبتشده Oracle و/یا وابستههای آن هستند.
تاریخ آخرین بهروزرسانی 2025-08-27 بهوقت ساعت هماهنگ جهانی.
[[["درک آسان","easyToUnderstand","thumb-up"],["مشکلم را برطرف کرد","solvedMyProblem","thumb-up"],["غیره","otherUp","thumb-up"]],[["اطلاعاتی که نیاز دارم وجود ندارد","missingTheInformationINeed","thumb-down"],["بیشازحد پیچیده/ مراحل بسیار زیاد","tooComplicatedTooManySteps","thumb-down"],["قدیمی","outOfDate","thumb-down"],["مشکل ترجمه","translationIssue","thumb-down"],["مشکل کد / نمونهها","samplesCodeIssue","thumb-down"],["غیره","otherDown","thumb-down"]],["تاریخ آخرین بهروزرسانی 2025-08-27 بهوقت ساعت هماهنگ جهانی."],[],[],null,["Android allows you as a developer to build on the power of the web within your\napps, so you can benefit from the flexibility and efficiency of being able to\ndisplay certain types of content.\n\nThis lets you seamlessly integrate existing web content into your native\nAndroid application, such as to display a news feed, show interactive tutorials,\ndisplay ads, or even host a mini-game without building everything from scratch.\nThink of it as a window to the internet, from within your app. There are two\nways to embed web content into your app:\n\n- [WebView](/reference/android/webkit/WebView): It displays web content you control inline where you want a high degree of flexibility in customizing or updating the UI.\n- [Custom Tabs](/develop/ui/views/layout/webapps/overview-of-android-custom-tabs): A full in-app browsing experience powered by the user's default browser ([see browser support](https://developer.chrome.com/docs/android/custom-tabs/browser-support)) for when users click a link and you want to keep them in the app, instead of leaving to an external browser, with much of the browsing experience out-of-the-box.\n\n**Figure 1.** WebView (left) and Custom Tab (right) outlined.\n\nWhy embed web content?\n\n- Efficiency: Reuse existing code from your website. Build on existing web technologies and content.\n- Integration: Leverage external content from 3P providers, such as Media, Ads, within your app.\n- Flexibility: Update content dynamically without being constrained to predefined UIs, or without releasing app updates.\n\nWhen to use web content?\n\nThere are three primary uses cases for using the Web in your Android app:\n\n**1. [Embedding web content into your app as primary or supporting content](/develop/ui/views/layout/webapps/embed-web-content-in-app): Use WebView**\n\n- Display your own web content inline as a primary experience where you want a high degree of flexibility in customizing or updating the UI.\n- Display other content such as ads, legal terms and regulations, or other third-party content inline, or as a window within your app experience.\n\n**Figure 2.** Web content embedded within the app with WebViews as primary (left) and supporting content (right).\n\n**2. [In-app browsing](/develop/ui/views/layout/webapps/in-app-browsing-embedded-web?) using Custom Tabs, or WebView for more advanced use cases**\n\n- Have a full in-app browsing experience for when users click a link and you want to keep them in the app, instead of leaving to an external browser.\n - Note: For large screen devices such as tablets and foldables, there are additional options to help apps take advantage of additional space:\n - Apps can open weblinks in split screen using [launch an adjacent multi-window experience](/develop/ui/compose/layouts/adaptive/support-multi-window-mode#launch_adjacent). This enables users to multitask between your app and a browser at the same time. OR\n - Custom Tabs have a side panel option that can open in the same task, but next to your existing app content.\n- The Custom Tab is powered by the user's default browser, for browsers which support Custom Tabs.\n - While it's possible to use a WebView and provide a highly customizable in-app browsing experience, we recommend Custom tabs for an out-of-the-box browser experience and seamless transition for when a user wants to open a web link in the browser.\n\n**Figure 3.** Clicking on an in-app link (left) and opening an in-app browser (right).\n\n**3. Login or Authentication flows within your app**\n\nAndroid's suggested approach is to build your login or authentication flows\nusing [Credential Manager](/identity/sign-in/credential-manager). If you find\nyou still need to use Embedded Web for these experiences, use the following\nguidance:\n\n- Some apps use WebViews to provide sign-in flows for their users, including using a username and passkey (or password) specific to your app. This enables developers to unify the authentication flows across platforms.\n- When linking out to a third-party identity provider or login experience, such as \"Sign in with...\", Custom Tabs are the way to go. Launching Custom Tabs ensures the user's credential remains protected and isolated to the 3rd party site.\n\nFor more information about leveraging WebViews for authentication,\nsee [Authenticate users with WebView](/identity/sign-in/credential-manager-webview).\nFor launching a Custom Tab, see [Overview of Android Custom Tabs](/develop/ui/views/layout/webapps/overview-of-android-custom-tabs).\n**Figure 4.** An in-app login field (left) and a third-party login opened in a Custom Tab (right)."]]