با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
اندروید به شما امکان می دهد از قدرت وب در برنامه های خود استفاده کنید. بنابراین، می توانید از انعطاف پذیری و کارایی امکان نمایش انواع خاصی از محتوا بهره مند شوید.
این به شما امکان می دهد محتوای وب موجود را به طور یکپارچه در برنامه اندروید خود ادغام کنید، مانند نمایش فید خبری، نمایش آموزش های تعاملی، نمایش تبلیغات یا حتی میزبانی یک مینی بازی بدون ساختن همه چیز از ابتدا. به آن به عنوان پنجره ای به اینترنت، از درون برنامه خود فکر کنید. دو راه برای جاسازی محتوای وب در برنامه شما وجود دارد:
WebView : محتوای وب را که شما به صورت درون خطی کنترل میکنید، در جایی که میخواهید انعطافپذیری بالایی در سفارشیسازی یا بهروزرسانی رابط کاربری داشته باشید، نمایش میدهد.
Custom Tabs : تجربه کامل مرور درون برنامهای که توسط مرورگر پیشفرض کاربر ( به پشتیبانی مرورگر مراجعه کنید ) ارائه میشود، برای زمانی که کاربران روی پیوندی کلیک میکنند و میخواهید آنها را در برنامه نگه دارید، بهجای اینکه به یک مرورگر خارجی بسپارید، با بیشتر تجربه مرور خارج از جعبه.
شکل 1. «WebView» (چپ) و «برگه سفارشی» (راست) مشخص شده است.
چرا محتوای وب را جاسازی کنیم؟
چندین مزیت برای جاسازی محتوای وب در برنامه شما وجود دارد:
کارایی : از کدهای موجود در وب سایت خود مجددا استفاده کنید. بر اساس فناوریها و محتوای موجود وب بسازید.
یکپارچه سازی : از محتوای خارجی ارائه دهندگان شخص ثالث، مانند رسانه ها و تبلیغات، در برنامه خود استفاده کنید.
انعطافپذیری : محتوا را بهصورت پویا و بدون محدود شدن به رابطهای کاربری از پیش تعریفشده یا بدون انتشار بهروزرسانیهای برنامه، بهروزرسانی کنید.
چه زمانی از محتوای وب استفاده کنیم؟
سه مورد اصلی برای استفاده از وب در برنامه Android شما وجود دارد:
محتوای وب خود را به صورت درون خطی به عنوان یک تجربه اولیه نمایش دهید که در آن میخواهید انعطافپذیری بالایی در سفارشیسازی یا بهروزرسانی رابط کاربری داشته باشید.
محتوای دیگری مانند تبلیغات، شرایط و مقررات قانونی، یا سایر محتوای شخص ثالث را به صورت درون خطی یا به عنوان پنجره ای در تجربه برنامه خود نمایش دهید.
شکل 2. محتوای وب جاسازی شده در برنامه با «WebView» به عنوان اصلی (سمت چپ) و محتوای پشتیبانی (راست).
2. مرور درون برنامه ای با استفاده از Custom Tabs یا WebView برای موارد استفاده پیشرفته تر
برای زمانی که کاربران روی پیوندی کلیک میکنند و میخواهید آنها را در برنامه نگه دارید، به جای رفتن به یک مرورگر خارجی، یک تجربه کامل از مرور درون برنامهای داشته باشید.
توجه: برای دستگاههای صفحهنمایش بزرگ مانند تبلتها و تاشوها، گزینههای اضافی برای کمک به برنامهها برای استفاده از فضای اضافی وجود دارد:
برنامهها میتوانند با استفاده از راهاندازی تجربه چند پنجرهای مجاور، پیوندهای وب را در صفحه تقسیم شده باز کنند. این به کاربران امکان می دهد همزمان بین برنامه شما و یک مرورگر چند کار انجام دهند. یا
Custom Tabs یک گزینه پانل جانبی دارند که می تواند در همان کار باز شود، اما در کنار محتوای برنامه موجود شما.
Custom Tab توسط مرورگر پیشفرض کاربر، برای مرورگرهایی که Custom Tabs پشتیبانی میکنند، پشتیبانی میشود.
در حالی که امکان استفاده از WebView و ارائه یک تجربه مرور درون برنامه ای بسیار قابل تنظیم است، ما Custom Tabs برای تجربه مرورگر خارج از جعبه و انتقال بدون درز برای زمانی که کاربر می خواهد پیوند وب را در مرورگر باز کند، توصیه می کنیم.
شکل 3. با کلیک بر روی پیوند درون برنامه (سمت چپ) و باز کردن یک مرورگر درون برنامه (راست).
3. ورود یا احراز هویت در برنامه شما جریان دارد
رویکرد پیشنهادی اندروید این است که با استفاده از Credential Manager جریانهای ورود به سیستم یا احراز هویت خود را ایجاد کنید. اگر متوجه شدید که هنوز نیاز به استفاده از Embedded Web برای این تجربیات دارید، از راهنمایی زیر استفاده کنید:
برخی از برنامهها از WebView برای ارائه جریانهای ورود به سیستم برای کاربران خود استفاده میکنند، از جمله استفاده از نام کاربری و کلید عبور (یا رمز عبور) مخصوص برنامه شما. این به توسعه دهندگان امکان می دهد تا جریان های احراز هویت را در سراسر پلتفرم ها یکسان کنند.
هنگام پیوند دادن به ارائهدهنده هویت شخص ثالث یا تجربه ورود به سیستم، مانند «ورود به سیستم با…»، Custom Tabs راهی برای رفتن هستند. راه اندازی یک Custom Tab به محافظت از اعتبار کاربر با جدا نگه داشتن آن در سایت شخص ثالث کمک می کند.
شکل 4. یک فیلد ورود به برنامه (سمت چپ) و یک ورود به سیستم شخص ثالث در «برگه سفارشی» (راست) باز شده است.
محتوا و نمونه کدها در این صفحه مشمول پروانههای توصیفشده در پروانه محتوا هستند. جاوا و OpenJDK علامتهای تجاری یا علامتهای تجاری ثبتشده Oracle و/یا وابستههای آن هستند.
تاریخ آخرین بهروزرسانی 2025-09-03 بهوقت ساعت هماهنگ جهانی.
[[["درک آسان","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-09-03 بهوقت ساعت هماهنگ جهانی."],[],[],null,["Android lets you build on the power of the web within your apps. So, you can\nbenefit from the flexibility and efficiency of being able to display certain\ntypes of content.\n\nThis lets you seamlessly integrate existing web content into your Android\napp, 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\nThere are several benefits to embedding web content in your app:\n\n- **Efficiency**: Reuse existing code from your website. Build on existing web technologies and content.\n- **Integration**: Use external content from third-party providers, such as media and 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):\nUse `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 \\`WebView\\`s 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\nuse 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\n 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 `WebView`s 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 a `Custom Tab` helps protect the user's credential by keeping it isolated to the third-party site.\n\nFor more information about using `WebView`s 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\n4.** An in-app login field (left) and a third-party login opened in a \\`Custom Tab\\` (right)."]]