Korzystanie z treści internetowych w aplikacji na Androida
Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
Android umożliwia programistom wykorzystywanie w aplikacjach możliwości internetu, dzięki czemu możesz korzystać z elastyczności i wydajności wyświetlania określonych typów treści.
Dzięki temu możesz bezproblemowo zintegrować istniejące treści internetowe z natywną aplikacją na Androida, np. wyświetlać kanał informacyjny, interaktywne samouczki, reklamy, a nawet hostować minigrę bez konieczności tworzenia wszystkiego od zera.
Możesz ją traktować jako okno na internet w aplikacji. Istnieją 2 sposoby osadzania treści internetowych w aplikacji:
WebView: wyświetla treści internetowe, nad którymi masz kontrolę, w miejscu, w którym chcesz mieć dużą elastyczność w dostosowywaniu lub aktualizowaniu interfejsu.
Karty niestandardowe: pełne przeglądanie w aplikacji oparte na domyślnej przeglądarce użytkownika (zobacz obsługiwane przeglądarki), gdy użytkownicy klikają link i chcesz, aby pozostali w aplikacji, zamiast przechodzić do przeglądarki zewnętrznej. Wiele funkcji przeglądania jest dostępnych od razu.
Rysunek 1. WebView (z lewej) i karta niestandardowa (z prawej) z zaznaczonymi konturami.
Dlaczego warto osadzać treści internetowe?
Wydajność: używaj ponownie istniejącego kodu z witryny. korzystać z istniejących technologii i treści internetowych;
Integracja: korzystaj w aplikacji z treści zewnętrznych od dostawców zewnętrznych, takich jak Media czy Ads.
Elastyczność: dynamicznie aktualizuj treści bez ograniczeń związanych z wcześniej zdefiniowanymi interfejsami lub bez publikowania aktualizacji aplikacji.
Kiedy używać treści internetowych?
Istnieją 3 główne przypadki użycia internetu w aplikacji na Androida:
Wyświetlaj własne treści internetowe w formie wbudowanej jako podstawowe środowisko, w którym chcesz mieć dużą elastyczność w dostosowywaniu lub aktualizowaniu interfejsu.
wyświetlać inne treści, takie jak reklamy, warunki prawne i przepisy lub inne treści innych firm, w formie wbudowanej lub w oknie w aplikacji;
Rysunek 2. Treści internetowe osadzone w aplikacji za pomocą komponentów WebView jako treści główne (po lewej) i pomocnicze (po prawej).
2. Przeglądanie w aplikacji za pomocą kart niestandardowych lub komponentu WebView w bardziej zaawansowanych przypadkach użycia
zapewnić pełne korzystanie z przeglądarki w aplikacji, gdy użytkownicy klikną link i chcesz, aby pozostali w aplikacji, zamiast przechodzić do przeglądarki zewnętrznej;
Uwaga: w przypadku urządzeń z dużym ekranem, takich jak tablety i urządzenia składane, dostępne są dodatkowe opcje, które pomagają aplikacjom wykorzystać dodatkową przestrzeń:
Aplikacje mogą otwierać linki internetowe na podzielonym ekranie za pomocą funkcji uruchamiania sąsiedniego trybu wielu okien. Umożliwia to użytkownikom jednoczesne wykonywanie wielu zadań w aplikacji i przeglądarce. LUB
Karty niestandardowe mają opcję panelu bocznego, który może otwierać się w tym samym zadaniu, ale obok treści istniejącej aplikacji.
Karta niestandardowa jest obsługiwana przez domyślną przeglądarkę użytkownika, jeśli obsługuje ona karty niestandardowe.
Chociaż można używać komponentu WebView i zapewniać wysoce konfigurowalne przeglądanie w aplikacji, zalecamy używanie kart niestandardowych, które zapewniają gotowe do użycia przeglądanie i płynne przejście, gdy użytkownik chce otworzyć link w przeglądarce.
Rysunek 3. Kliknięcie linku w aplikacji (po lewej) i otwarcie przeglądarki w aplikacji (po prawej).
3. procesy logowania lub uwierzytelniania w aplikacji,
Android sugeruje tworzenie procesów logowania lub uwierzytelniania za pomocą Menedżera danych logowania. Jeśli stwierdzisz, że nadal musisz używać wbudowanej przeglądarki w tych przypadkach, skorzystaj z tych wskazówek:
Niektóre aplikacje używają komponentów WebView, aby udostępniać użytkownikom procesy logowania, w tym logowanie za pomocą nazwy użytkownika i klucza dostępu (lub hasła) specyficznych dla aplikacji. Umożliwia to deweloperom ujednolicenie procesów uwierzytelniania na różnych platformach.
Jeśli chcesz połączyć się z dostawcą tożsamości lub usługą logowania innej firmy, np. „Zaloguj się za pomocą…”, użyj kart niestandardowych. Uruchomienie kart niestandardowych zapewnia ochronę danych logowania użytkownika i ich odseparowanie od witryny innej firmy.
Rysunek 4. Pole logowania w aplikacji (po lewej) i logowanie za pomocą usługi zewnętrznej otwarte w karcie niestandardowej (po prawej).
Treść strony i umieszczone na niej fragmenty kodu podlegają licencjom opisanym w Licencji na treści. Java i OpenJDK są znakami towarowymi lub zastrzeżonymi znakami towarowymi należącymi do firmy Oracle lub jej podmiotów stowarzyszonych.
Ostatnia aktualizacja: 2025-08-27 UTC.
[[["Łatwo zrozumieć","easyToUnderstand","thumb-up"],["Rozwiązało to mój problem","solvedMyProblem","thumb-up"],["Inne","otherUp","thumb-up"]],[["Brak potrzebnych mi informacji","missingTheInformationINeed","thumb-down"],["Zbyt skomplikowane / zbyt wiele czynności do wykonania","tooComplicatedTooManySteps","thumb-down"],["Nieaktualne treści","outOfDate","thumb-down"],["Problem z tłumaczeniem","translationIssue","thumb-down"],["Problem z przykładami/kodem","samplesCodeIssue","thumb-down"],["Inne","otherDown","thumb-down"]],["Ostatnia aktualizacja: 2025-08-27 UTC."],[],[],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)."]]