How is your experience with the OutSystems Community?
7
Views
1
Comments
Solved by AI
In App Browser Plugins
Question
Application Type
Mobile

What is the diferences between: OpenInWebView , OpenInSystemBrowser , and OpenInExternalBrowser  in the InAppBrowser plugin?

2023-12-26 10-35-28
OutSystems Neo
Staff
Solution by AI
AI Generated

Here’s the practical difference between the three options of the InAppBrowser plugin in OutSystems mobile apps (O11):

1. OpenInWebView

  • Where it opens: Inside your app, in an embedded WebView (another Cordova WebView, not the main one).
  • User experience: The user stays fully inside your app; the page appears like an in-app screen overlay.
  • Use when:
    • You want full control of the screen and navigation.
    • You need to react to events like page loaded, navigation completed, or close (via InAppBrowserEvents).
    • You’re showing third‑party content but still want a “contained” in-app experience.
  • Notes:
    • It does not have access to Cordova APIs and is not subject to the whitelist. InAppBrowser plugin

2. OpenInSystemBrowser

  • Where it opens: In the system in‑app browser:
    • Android: Chrome Custom Tabs
    • iOS: SafariViewController
  • User experience: Still feels in-app (overlay), but using the system browser engine/session.
  • Use when:
    • You’re doing secure flows like OAuth2/OIDC (Keycloak, etc.), because cookies and redirects behave like in the normal browser.
    • You want better compatibility with external IdPs and secure login pages.
    • You still want to track events like page loaded and close via InAppBrowserEvents. InAppBrowser plugin
  • Notes:
    • Also cannot access Cordova APIs.
    • Recommended for authentication / authorization flows.

3. OpenInExternalBrowser

  • Where it opens: In the device’s default browser app, completely outside your app (e.g., Chrome, Safari).
  • User experience:
    • Your app goes to background.
    • User leaves the app context and is now in the regular browser.
  • Use when:
    • You explicitly want the user to continue in the standard browser (for example, full desktop-like experience of a site, or when app context is not needed anymore).
    • You don’t need to track browser events, or return automatically to the app. InAppBrowser plugin
  • Notes:
    • You lose InAppBrowserEvents and direct control.
    • Best when it’s okay that the user “leaves” the app.

Summary:

  • OpenInWebView: In‑app WebView, strong control, good for embedded third‑party content.
  • OpenInSystemBrowser: In‑app system browser (Custom Tabs / SafariViewController), ideal for auth flows and secure external pages.
  • OpenInExternalBrowser: Opens the device’s default browser app, user exits the app, good when you want a pure external browsing experience.
This answer was AI-generated. Please read it carefully and use the forums for clarifications
Community GuidelinesBe kind and respectful, give credit to the original source of content, and search for duplicates before posting.